peak RMS (PG)

Hi :slight_smile:

I have a rather tehnical/programmer question about Wavelab’s peak/maximum RMS detection.

I am experimenting with my C++ RMS analyzing code (50 ms window). I am getting exactly the same results
as with Nuendo 5 (sample editor - audio/statistics/max RMS power).

Left channel: -7.23 dB, right channel: -5.49 dB

But, when I load the same audio file in Wavelab 6/7 (global analysis/loudness), i am getting rather
different values with default 50 ms window (i am not using AES17)

Left channel: -6.42 dB, right channel: -6.06 db

Any clues how this is possible ?

Thanks in advance!

The computation method’s result might depend on the audio length to be analysed (if the audio segment is very short)
Try to work with sine waves, at least you will be able to know the theorical results, and check your code.

I am using 50 ms (2205 samples at 44.1kHz) window length for analyzing - i guess that is “resolution” in Wavelab.

Sine wave, generated in Wavelab with default settings (audio generator):


min RMS: -5.03 db
max RMS: -2.98 db
average: -3.01

Nuendo / my code
min RMS, max RMS, average RMS = -3.01 db

There are slight differences with min/max RMS.

Thanks for help!

I see what you mean now. There are various ways to measure the RMS, they should all give the same result for the average. For discrete points, this depends on the filter used, that is, how fast the filter answers to sample changes. The 50 ms window is an argument, but the filter design another one.
To illustrate what I’m saying, look at the Loudnesss display. Open the Dialog, you can see “Slow” or “Fast” tracking. This is what I am speaking about (2 different methods).
In the Analysis window, only one mode is used (don’t remember which one).

Do this also: replace half of the sine with silence. Now analyse. I guess you should no find similar results.
At least, the WaveLab results I see, are correct.

Well, i don’t use any filters - I am not so advanced, yet :frowning:
Just calculating average RMS inside time window then looking for largest average value.
I guess this is not really precise (wrong ??)

btw. can you tell me, why filters are needed for RMS calculations. I will look at it more for sure ?


I use the term “filter” in a generic way. What you do to measure the RMS is a LPF filter… somehow, you remove all the “up and down” of the waveforms.
I’m pretty sure you can find many references about RMS computation on the internet.

Thanks for you help & great info - appreciated :slight_smile:
I’ll look into this ‘filter’ stuff :slight_smile: