Robin Schmidt
Robin Schmidt
i just added the function `rsArray::rootMeanSquare`. (not yet tested, but it's so simple, i can't imagine anything going wrong - edit: at least mathemathically...but i forgot to add some const...
ah - i have found analog transfer functions for the A,B,C,D filters: https://en.wikipedia.org/wiki/A-weighting#Transfer_function_equivalent and the LUFS paper above has coefficients for digital filters at 48kHz. i think, i can translate...
it's an average over the entire array. peak-rms sounds a bit like an oxymoron. i guess you mean taking the maximum value of a short-time rms signal?
i just added the function getMaxShortTimeRMS. i just implemented this quickly off the cuff and didn't test it yet - so it needs some testing now. in case you wonder,...
maybe just copy the function over to your codebase. it's just a few lines. i'll update my juce soon (not keen on the new vst-sdk dependency, tbh - up to...
ok - does it work as expected, too?
hmm..weird. i just added the test-function ```cpp void maxShortTimeRMS() { int N = 1000; std::vector x = createSineWave(N, 1000.0, 48000.0); double maxRms = RAPT::getMaxShortTimeRMS(&x[0], N, 48); // 48 samples =...
hmm - only a zero averaging length could mess it up, as far as i can see. what's your averaging length?
wait - i can now reproduce it - with larger averaging length....
yes - as said above - i can reproduce it with larger averaging length now. hmm...my i have a bug in my delayline implementation? i will figure it out....