[sdiy] VU meter algorithms

Tom Wiltshire tom at electricdruid.net
Mon Mar 18 18:33:17 CET 2019

Well, quite. 

The short answer is “far higher than any reasonable LED update rate”.

If we assume 20KHz as the highest input frequency, then obviously my 40KHz sample rate is inadequate because we might sample at the zero crossings each time. Updating the LEDs at 100Hz would be more than enough (flicker at that speed is already perceived as “variable brightness”) but such a rate is hopeless as a sample rate.

But it’s worth pointing out that we’re trying to imitate something that was originally done with moving coil meters and which had quite considerable lag (300msecs attack and decay from what I can find out). So how hard can it be?!

> On 18 Mar 2019, at 15:38, rburnett at richieburnett.co.uk wrote:
> Ahhh, but how high a sample rate do you need to use to be sure that you take a sample at the peak of a waveform!?!?!?  ;-)
> -Richie,
> On 2019-03-18 15:25, Tom Wiltshire wrote:
>> Hi all,
>> Does anyone know of any good resources on bargraph VU meter
>> algorithms, and specifically implementing a “Peak hold” feature?
>> I’m trying to write one - well, I *have* written one - but I’m not
>> overly impressed with its performance. The “VU meter” portion of the
>> code is pretty good: I sample the audio at 40KHz, then rectify it,
>> take the highest sample in a block of 16, and then apply an IIR
>> smoothing filter with a time constant of about 200msecs. That part
>> seems pretty good, although it “under reads” significantly.
>> I’m having worse problems with the Peak Hold dot. This has an attack
>> of zero (so it never misses a peak) but uses a longer decay time of
>> 400msecs or so. But a typical input signal tends to make it jump
>> about, so instead of clearly lighting a single LED, it instead lights
>> two or three intermittently. This makes the display rather confusing
>> to look at.
>> I’d thought to just get stuck in and see how it went (and it went ok)
>> but I think now might be a good time for a bit of research. This is a
>> solved problem, so someone must have dealt with these issues before
>> me.
>> Thanks,
>> Tom
>> _______________________________________________
>> Synth-diy mailing list
>> Synth-diy at synth-diy.org
>> http://synth-diy.org/mailman/listinfo/synth-diy

More information about the Synth-diy mailing list