[sdiy] VU meter algorithms

Scott Gravenhorst music.maker at gte.net
Mon Mar 18 18:46:40 CET 2019


Reading this, (and in my naivete) I wonder if part of this could be mitigated by doing
some analog processing before the digital sampling.  Something like a full wave
rectifier of the signal with a low pass filter that has a leak resistor?  Then I think
the sample rate could be much lower than 40 kHz?  As I said - naivete...

Tom Wiltshire <tom at electricdruid.net> wrote:
>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 
>
>
>_______________________________________________
>Synth-diy mailing list
>Synth-diy at synth-diy.org
>http://synth-diy.org/mailman/listinfo/synth-diy
>?

-- ScottG
________________________________________________________________________
-- Scott Gravenhorst
-- http://scott.joviansynth.com/
-- When the going gets tough, the tough use the command line.
-- Matt 21:22



More information about the Synth-diy mailing list