Month: July 2021

Meterbridge and Jmeter Handy Level Meters

Category : Uncategorized

Meterbridge , Jmeters and JKmeter are GUI Jack Audio Connection Kit Utilities that provide an audio level meters. They all do the same basic thing, and can work the same way. Meterbridge is the original, and Fons Andriaensen rewrote it with more options and better dynamic accuracy.

Jmeters is the best for monitoring audio levels in Jack. It has more options for graphics and types of meters. It has some really cool things, like a stereo VU meter with two colored needles. (broken at this time in the KXstudio package)

JKmeter is Fons Andriansen’s excellent bare bargraph meter that can present in vertical or horizontal mode. It includes an ambisonic mode, and +14 db and +20 db scales for processed or live audio presentation.

Meterbridge has one important thing that is missing from jmeters and jkmeters . Jmeters only has input ports, Meterbridge also has corresponding static output ports.

Some Jack aware applications such as StereoTool search for possible ports to connect to when they are started. They are only willing to connect to ports that are already in existence when they are started. Ports appearing after they are initialized cannot connect. Programs like vlc and other media players’ ports only exist when they are actually playing. If vlc isn’t playing when StereoTool or another application like this is instantated, it cannot connect later. If vlc crashes and is restarted with a new jack name based upon its PID, these applications will refuse to connect to the newly named port.

Meterbridge can step into the fray and provide a persistent output port for StereoTool to connect to. Hooray, because meterbridge is happy to connect to any vlc instance that wishes to connect to it, is connected with jack_connect or by dragging a connection in patchage, catia or the like! Simply start meterbridge before any application with this behavior. Meterbridge’s “-t dpm” display is tiny and useful, so it won’t clutter up your display. Another application for meterbridge is to provide a stable connection port for silentjack which is picky on its timing when ports come and go.

Another interesting feature of meterbridge’s connection scheme is that if you specify input ports of an application or device on the command line, it will “sneak into” the line – Connecting its output port to the input port you specify AND move any connections already on those ports over to its own corresponding input ports.

/usr/bin/meterbridge -t dpm -c 2 -n meter1 system:playback_1 system:playback_2 &
/usr/bin/jmeters -t ebu -f small -name meter2 system:capture_1 system:capture_2 Right Left &

Ubuntu 18.04 installs meterbridge and jmeters in /usr/bin so calling it this way does not require the $PATH variable be properly set.

Some options for meterbridge and jmeters are different! Do not be confused:

  • -t <type> (required)
    • Choices for meterbridge [ vu|ppm|dpm|jf|sco ]
      • vu Round VU Meter – Use jmeters
      • ppm Black PPM Meter – Use jmeters
      • dpm – small vertical ppm meter
      • jf – Jellyfish X-Y Scope display
      • sco – Oscilloscope display
    • Choices for jmeters [ vu|bbc|ebu|din|sbbc|sebu|sdin|cvu|cbbc|cppm|cdin]
      • the first four are correct dynamics of these standards
      • the “s” set are dual stereo needle versions of the first
      • the “c” set are stereo centering of the first.
  • -r <ref-level> in decibels from 0 dbm (default 0 )
  • -c
    • <channels> in meterbridge
    • <columns> in jmeters ( stacked vs horizontal)
  • -n <jack-name> for meterbridge only – the jack port name
  • -name <jack-name> for jmeters only – the jack port name
  • -u <update-rate> for jmeters only ( default 20 per sec )
  • -f <meter-border-style> for jmeters only –
    • rect – Rectangular meter
    • small – Smaller rectangular meter (not correlation meters)
    • mbrl – large round meter (not DIN style)
    • mbrs -smaller round meter (not DIN style)
  • -g <geometry> I have no idea what this does.
  • This is followed by a space delimited list of ports to connect the inputs to.
    • Meterbridge appears to be happy with regular expressions
    • jmeter wants real ports and makes as many meters as there are ports listed. If the ports exist, they will be connected. If a port is not present, the meter will be created but no connection will be made to that meter. Port names are recognized by a “:” in the string.
  • jmeter then accepts a space delimited list of labels for the ports to be put on the meters. If you put names in, it will make that many ports. Names are placed on the lower border of the meter. You may not use “:” in the labels.
 >