ROSS VU

Analog Energy Meter  /  Mister RickRoss

The needle is not decoration.

VU meter for Linux with ballistics that are measured, not imitated. 99% of deflection in 300 ms, overshoot of 1%, and a sine wave at reference level that lands exactly on 0.000 VU. VST3, CLAP and LV2.

Signal
Response  300 ms
-0.0 VU Reading

Live simulation running the same second-order equation as the plugin. Moving RESPONSE changes the needle inertia instantly.

01 The measurement

Every plugin VU promises 300 ms. This one was measured.

The movement is a real second-order system with average rectification, exactly like the electromechanical instrument: zeta 0.826 e omega zero 14 rad/s. It is not an RMS follower with smoothing on top.

Measured at 44.1 kHz, 48 kHz and 96 kHz
QuantityVU standardROSS VU
Time to 99% of deflection300 ms299 to 302 ms
Overshoot1% to 1.5%0.86% to 1.00%
Sine wave at reference level0.00 VU0.000 VU
Tone 6 dB below reference-6.00 VU-6.012 VU
RESPONSE slow / mid / fast600 / 300 / 100 ms604 / 302 / 101 ms

The tests do not use a copy of the code. They extract the Movement e TruePeak structs from the very source that compiles the plugin, and measure. If anyone touches the constants, the number in the table changes.

$ ./rodar.sh
structs extracted from the plugin
48k CAL-18 meio    -> rest -0.012 VU | 99% in 302 ms | overshoot 0.86%
44.1k CAL-18 meio  -> repouso -0.000 VU | 99% em 299 ms | overshoot 1.00%
96k CAL-18 meio    -> rest -0.003 VU | 99% in 300 ms | overshoot 0.96%
02 True peak

The peak that blows the limiter lives between the samples.

The LED and the reading are dBTP, by 4x polyphase oversampling, 12 coefficients per phase, in the spirit of ITU-R BS.1770-4. The classic case is a full-scale sine wave at fs/4 with 45 degrees of phase: every sample lands on 0.707, so a sample-peak meter swears there are 3 dB of headroom left. There is none.

The lamp follows that same number, and its threshold is yours: -12, -9, -6, -3, -1 or -0.1 dBTP. A lamp that only lights up after the clip warns you of nothing, it just confirms. This one blinks for 430 ms, short enough to read as a warning and not as a stuck lamp.

Full-scale sine wave at fs/4, 45 degrees of phase
MeterReadingError
Sample peak-3.01 dBFS-3.01 dB
ROSS VU-0.20 dBTP-0.20 dB
Real value of the wave0.00 dBreference
03 The dial

The scale was not drawn. It was calculated.

In an iron VU the needle deflects linearly with the current, and it is the printed scale that comes out crooked. That is why the -20 to -10 stretch is tight and the -3 to 0 one is wide. Here every mark is positioned by p = 10^(VU/20) / 10^(3/20), the real deflection of the movement. It is not a curve picked by eye to look vintage.

Because it is average-rectified and not RMS, it reads high crest factor material below the RMS, exactly like an iron VU. That is the correct behaviour, not a defect.

ROSS VU com um tom de 1 kHz a -18,01 dBFS RMS na entrada, agulha parada sobre o zero e true peak em -15,0 dBTP
1 kHz tone generated at -18.01 dBFS RMS, routed straight into the plugin input ports by PipeWire. Needle right on 0, reading -0.0 VU, true peak -15.0 dBTP.
04 Controls

Five controls. No decoration.

  • Cal-20 / -18 / -16 / -14 / -12 dBFS. Defines what 0 VU is. One click cycles.
  • Response600 ms to 100 ms. In the middle it gives the normative 300 ms, and the number shows under the knob.
  • PeakLamp threshold: -12 / -9 / -6 / -3 / -1 / -0.1 dBTP. One click cycles. Blinks for 430 ms.
  • Input-24 to +24 dB. It is a real gain stage: it touches the audio, not just the meter.
  • Output-24 to +24 dB on the output. Double click on any knob resets it.

Five reading modes: L+R, LEFT, RIGHT, SIDE e L | R, the last one with a second needle for the right channel. Six factory presets:

  • Mix Bus -18
  • Streaming -14
  • Broadcast -20
  • Tracking Fast
  • Program Slow
  • Stereo L | R
ROSS VU no modo L | R, com o ponteiro da esquerda em 0 VU e o da direita em -6 VU
Mode L | R with a test file at L -18 dBFS and R -24 dBFS. Full needle on 0 VU, thin needle on -6 VU.
05 Formats

One codebase, four formats, zero exotic dependencies.

  • PluginVST3, CLAP and LV2, all from the same source, via DPF and NanoVG.
  • StandaloneApplication standalone JACK, which shows up as a PipeWire client.
  • SystemLinux x86_64. Tested on REAPER 7 over Fedora 44 with PipeWire.
  • InterfaceResizable keeping the aspect ratio, drawn in vector. No stretched bitmaps.
  • LicenseGPL-3.0-or-later. Source included.

Stop staring at a decoration
that pretends to be an instrument.

Download it, install into the user directories and rescan in your DAW. If you would rather build it, it is one command.

$ tar xf ROSS-VU-1.2-linux-x86_64.tar.gz
$ cp -r ROSSVU.vst3 ~/.vst3/
$ cp    ROSSVU.clap ~/.clap/
$ cp -r ROSSVU.lv2  ~/.lv2/
# or, from source:  ./instalar.sh