Reading the VU meter: peak-hold, CLIP, and why the scale is not linear

A meter that spends its life pinned in the top fifth tells you nothing. A broadcast scale gives two thirds of its width to the range you actually work in.

Put a linear dB scale on a meter and something useless happens: everything you care about crowds into the top corner. The range between -20 dB and 0 dB is where broadcast audio lives, and on a linear scale it occupies a fifth of the width.

A scale weighted where you work

PlayOnRadio maps level to position so the top 66% of the meter covers -20 dB to 0 dB, with a floor at -60 dB. The critical range gets two thirds of the space, and a 2 dB change where it matters is a visible movement rather than a pixel.

Scale ticks are drawn at -40, -20, -10, -6 and 0. Crucially, the ticks and the fill gradient are generated from the same mapping, so the numbers always line up with the fill. A meter whose markings disagree with its own bar is worse than no meter.

Peak, not average

The metering is sample-peak, reset-on-read. Each channel latches the loudest sample since the last read and clears when read. A single-sample transient cannot slip between refreshes unnoticed, which is exactly the kind of thing that causes distortion nobody can account for later.

A white peak-hold marker sits at the recent maximum, and a CLIP indicator lights above -3 dBFS. Three decibels of headroom before the warning is deliberate: by the time you are at 0 dBFS, the damage is already in the output.

Two styles

Bars are the default — gradient fills, peak-hold marker, clip LED. Needles are classic rotating gauges for operators who read them faster.

The needle version has a subtlety worth appreciating. The needle angle follows the same non-linear curve printed on the dial face, so a full-scale 0 dBFS signal rests on the dial's "0" rather than swinging into the red. A gauge whose needle disagrees with its own printing trains operators to distrust it.

Fast enough, not wasteful

Updates publish only when a level or peak moves by at least 0.5 dB, capping effective refresh at around 30 FPS. Peak-hold decay stays tied to the real meter timer, so the dead-band saves redraws without making the meter sluggish.

Switch on On-Air Mode and the cadence halves again to 10 Hz, trading meter smoothness for headroom on a machine that is currently on the air. That is the right trade at the right moment.

Related reading

Ready to hear it on your own station?

Tell us about your setup and we'll send you a personalised quote.

Request a Quote