On Sat, Jul 27, 2013 at 02:19:56PM +0200, Robin Gareus wrote:
for large values this can be approximated by _w =
10.468 / fsamp;
What am I missing?
The correct interpretation of 'integration time'. A VU must have
between 1 and 1.5 % overshoot, it is not critically damped.
See the red curve in the slides for the ebumeter presentation
at LAC 2011. The actual value used is found by measuring the
result, which is the only correct way.
I suppose the gain is arbitrary,
Please don't insult me :-)
It is not arbitrary, output will be 1 for a full scale sine wave.
The *dsp classes are meant to be usable on their own and don't
depend on anything specific to jmeters. You can just copy them
into Ardour or whatever.
The only thing that links them to the GUI is the _m member, which
keeps the maximum output value since the GUI (or whatever) last
read it. This improves accuracy if the GUI update frequency is
on the low side, e.g. you may not be able to see the overshoot
otherwise. The same is done with the PPMs where it is even more
important.
1.5 * M_PI/2 ?? ie 90 degree deflection? But why the
1.5?
The 1.5 compensates for the DC gain of the filter. It's basically
two first lowpass stages in series, but there is some feedback to
get the less than critical damping, and this changes the gain.
The second filter is undersampled by a factor of 4, it gets a
lowpassed input anyway.
A VU measures the average of the absolute value of the signal.
For a unity amplitude sine wave this is 2 / pi, hence the second
factor.
Why such a dinosaur meter in Ardour ? You'd be better off with
a DIN PPM or a K-meter, and they don't take any more CPU.
Ciao,
--
FA
A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)