[sdiy] VU meter algorithms

Tom Wiltshire tom at electricdruid.net
Mon Mar 18 16:25:44 CET 2019

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.


More information about the Synth-diy mailing list