RMS Normalize

This plug-in is similar to Audacity’s Normalize effect, except that rather than amplifying to a specified peak level, it amplifies to a specified RMS level.

RMS is the abbreviation for “Root Mean Square” and is a kind of average sound level. The RMS level (colored lighter blue in Audacity) is generally a better estimate of “loudness” than peak level (there is no absolute measure for “loudness” as what is loud for one person may not be loud for another - loudness is subjective).

Controls:

  • Target RMS level (dB): This sets what the RMS level will be after processing (default -18 dB).
  • Normalize stereo channels: Choice: Independently or Linked stereo (default Independently).
    When processing a stereo track, if “Independently” is selected, then both left and right channels will be normalized to the same RMS level. This may alter the stereo balance, but will tend to make left and right channel the same overall loudness.
    If “Linked stereo” is selected, then both channels are amplified by the same amount. The overall stereo level will be as specified by the Target level, but the channels may have different RMS levels if the RMS levels were different before normalizing. This option preserves the original left/right stereo balance.

Limitations:
Preview is not available in this effect because the plug-in cannot predict what the overall level will be before it has analyzed the entire selection.
Requires Audacity 2.1.3 or later.

Old Version:
rms-normalize.ny (810 Bytes)
Latest version (2.3.0-1):
rms-normalize.ny (809 Bytes)
Update: The latest version (2.3.0-1) has the Preview button enabled.

I can confirm it does not work on 2.1.2.

Is it suppose to clip like regular “Amplify”?

If it is, it’s working in 2.1.3 on Mac OS 10.6.8.

Audibly I’m not hearing a difference between “Amplify vs RMS Normalize” applying the same +3db above current-15dbRMS (according to Wave Stats) doing a Solo/Mute comparison on a duped waveform where I’m seeing “Amplify” produces slightly less clipping.

I don’t know what you mean.

If you amplify too much (above 0 dB), by any means, then it will be distorted (clipped) on playback.

Provided that the audio tracks are 32-bit float format (default), amplifying a track beyond 0 dB is not “fatal”. 32-bit float format does not clip at 0 dB, but sound cards are 16 or 24 bit integer, so sound cards clip at 0 dB on play / record.

Applying +3 dB by any means should produce the same (identical) result.

What this effect does is:

  1. Ask Audacity what the RMS level of the selection is.
  2. Do a quick calculation: gain = target / rms
  3. Amplify the selection by “gain”.

Steve, I appreciate your work on this and other plugins you’ve made.

Would just like to know when or in what circumstances one would use this over Amplify or Normalize?

Why would someone want to Normalize according to RMS when there’s very little audible difference over using the other mentioned effects?

Could you give a setting where I would here a difference?

The only time I can hear a difference is when using a Limiter where it gets louder and the RMS (light blue) portion of the waveform becomes equal or larger in thickness than the dark blue peak portion.

I understand the point about clipping in 32bit Floating point not doing any damage to the waveform. So approaching it from that angle if I used RMS Normalize to REALLY make the waveform loud just like Amplify and then use Amplify to get rid of the clipping, I’m assuming there would be some sort of audible difference but I’m not sure what to listen for.

when or in what circumstances one would use this over Amplify or Normalize?

AudioBook generation. AudioBook submission has three restictions: RMS, Peak and Noise. Peak and Noise are no big deal, we’ve had tools to manage those for a long time. Not so RMS.

I’ve been using an early version of this tool successfully for a while now (to help readers). This new one is a formalized version.

Assuming a reasonable reading style and recording success, apply RMS Normalize to -18dB (or -19dB. The earlier version used -20dB). It’s not unusual for this to push peaks over specification and sometimes over clipping. Apply gentle limiter and given 32-floating’s resistance to clipping damage, you’re done.

RMS show loudness between -18dB and -23dB, peaks not to exceed -3dB and given graceful recording style in a quiet room, broadband noise not to exceed -60dB.

There are other, older ways to achieve these values but they’re convoluted and difficult to apply and they fall apart almost immediately with home recording styles and difficulties.

While this will seem like a specialist application, it’s an application that a remarkable number of people engage in.

Koz

Thanks, Koz. That makes sense.

I forgot about AudioBook application about which there have been many lengthy discussions here due to these strict by the db numbers audio spec restrictions. I believe I might have set in on one several years back that used the convoluted and difficult to apply old way to stay within specs.

It was grueling reading. I think it got over ten pages.

Here is a sequence of 5 short generated sounds, separated by 1/2 second silence.

Assuming that you listen on half decent speakers or better, I expect that you would agree that they all sound roughly the same loudness. (Laptop speakers fall down badly on this test because they have such limited, and non-linear frequency response). I’m not suggesting that they are exactly the same loudness - just the same ballpark. Each of the 5 sounds has been individually normalized to -12 dB rms.


This second sequence is the same sounds, but in this case each sound was normalized to -3 dB peak.

Notice in particular that the final sound is much louder than the noise that precedes it.


Whether producing an audiobook, a podcast, a compilation album, a radio show,… there are many cases where you may want multiple different tracks to be around the same loudness. Peak level is often a very poor measure of loudness. RMS level is certainly not perfect, but it generally gives a much better indication of loudness than peak.

There are better ways to measure loudness, such as LKFS, ReplayGain, iTunNORM, and many others. Advantages of RMS measurement are that everyone in the audio business understands it, it’s been clearly defined as a scientific measure for aeons, and it is simple to measure.

Let’s say that I’m making a podcast and that you are making a short article to go into it, but it’s all very last minute so I want you to send me a recording that I can just drop into the show and run it. Obviously I will need the peak level to be below 0 dB (and allow a bit of headroom for transcoding), and I’ll want it to be about the same loudness as the rest of the show. If the rest of the show is around -17 dB rms. and your article is around -17 dB rms, then we’re probably close enough.

That’s very revealing, Steve. Thank you so much for your time demonstrating this.

I’m not suggesting that they are exactly the same loudness - just the same ballpark. Each of the 5 sounds has been individually normalized to -12 dB rms.

Just to see what editing this way does to the original 5 sounds, what loudness level did they start out at?

The reason I ask is the first tone of the -3db Peak showing clipping seemed overly crispy over the other tones even in both versions. This is important for me to know because this is the kind of nuanced detail/texture I fight but don’t hear applying EQ to bring out highlights at normal volume levels listening through decent headphones but becomes pronounced by raising the analog volume sliders within the OS. Limiters tend to slightly compress this annoying crispyness to make it sound stunted and artificial.

Do you think this RMS Normalize acts closer to the behavior of analog volume increases?

Thanks again, Steve. Very educational and helps me understand this tool when I’m trying to make tiny sounding remastered '70’s pop music sound bigger than life.

This is a typical '70’s pop song that shows what analog volume increase does to music that is suspiciously recorded or mastered at a higher pitch… Leo Sayer’s “Long Tall Glasses”…

https://www.youtube.com/watch?v=mCiFm31O7AY

Note the overly crispy sounding snare drums at the beginning. This one I was successful at making sound bigger than life but I had to drop the pitch. If I raised the volume on the original as heard in the YouTube video it destroys my ears both on the headphones and in my car. Is this an RMS issue?

What do you mean “showing clipping”? There is no clipping in either of the files that I posted.

It doesn’t matter.

Closer than what?
Amplification of a digital signal is the same however it is done - they just scale the waveform to a new vertical size. Technically, they are multiplying each sample value by a specified amount. The only difference is in how the “specified amount” is determined.
For the Amplify effect, the “specified amount” is set directly by the user as the “Amplification (dB)” amount.
For the Normalize effect, the “specified amount” is calculated to make the new peak level reach the “Normalize maximum amplitude to” level.
For the RMS Normalize effect, the “specified amount” is calculated to make the RMS level reach the specified level.

What do you mean “showing clipping”? There is no clipping in either of the files that I posted.

See screengrab from Audacity 2.1.3 for Mac.

Closer than what?

Closer in behavior than among all the tools that affect loudness whether by peak or RMS.

When I increase the loudness by sliding the Mac OS volume slider up (analog behavior) certain frequencies that couldn’t be heard or were not as loud (mid-range detail) at normal comfortable volume are heard more or less over other frequencies but never equally overall as I noted in the clipped -3db peak (1st tone) whose overly crispy sound is not an equal in loudness behavior. I’m assuming this could be from the soundcard in my Mac Mini. Not sure.
Screen shot 2017-04-02 at 9.29.56 PM.png

Open Audacity Preferences, and in the “Import/Export” section, turn off (de-select) the option to normalize on import.

Do you understand why that option is the problem or would you like a bit of explanation?

Sorry for for the delayed response, Steve.

I understand the “Normalize Tracks on Import” function because it’s also in Garageband but on export where I have both turned off and in Audacity the box is not checked.

I was thinking this could be caused by my AT&T broadband package doing some kind of compressing or altering the data upon download. I hope this isn’t the case.

Just FYI but some commercial aiff CD files show these clipping indicators but when I apply Amplify it shows zero. When I apply a (-.02db) and zoom to point node level on the clipped wave and ‘Command Z’ back and forth the wave peak barely moves so clipping indicator sensitivity to defining 0db may be the problem because this is the case with your .ogg first tone. I’m getting 0db in Amplify.

It’s not you, or your broadband.
I’m not sure what went wrong, but the files in the forum post are wrong.
Sorry about the confusion. I’ll delete those files and replace them.

I’ve replaced the files now (this post).
Hopefully this will make more sense now.

Ok, there’s no clipping on the -3db Peak. And now the -12db RMS is quieter than the -3db Peak.

And I just re-read the initial post and now see what you mean about the noisy 4th tone varies in loudness in relation to the 5th tone depending on RMS vs Peak Normalizing. It now makes sense.

And I believe I see that the RMS Normalize addresses my issue with balanced loudness increase across all frequencies that will control errant high frequencies from being to overly loud compared to the rest of the spectrum.

Thanks, Steve.

Is there a reason the code contains neither revision nor date?
Koz

No there isn’t.

Steve/Koz:

Questions re installing and using RMS Normalize in Audacity v2.1.3 running on Win10.

Installing
I just downloaded the RMS Normalize plug-in; copied it into my Audacity plug-ins folder; then in Audacity used Effect> Add/Remove Plug-ins to enable it. The Plug-in Manager list now shows it as enabled; likewise Limiter. Yet, when I try to apply it to an existing track in an Audacity project, the Effect drop-down menu doesn’t show RMS Normalize or Limiter though it does show many other effects.
Question: How do I get RMS Normalize and Limiter to appear here available for use?

Using
On 3/3/17 you recommended (I think in this thread) to use the effects sequence: “RMS Normalize, Limiter, EQ, LF Rolloff”
Question: Assuming these are applied sequentially, if the RMS Normalize effect pushes a peak above 0db, wouldn’t that peak be clipped at 0db before the Limiter effect can squash it less clumsily back down to 0db or below? What am I missing here?

On 4/1/17 you wrote in this thread in response to another user’s question (maybe getting at the same point as my question):
"If you amplify too much (above 0 dB), by any means, then it will be distorted (clipped) on playback.

Provided that the audio tracks are 32-bit float format (default), amplifying a track beyond 0 dB is not “fatal”. 32-bit float format does not clip at 0 dB, but sound cards are 16 or 24 bit integer, so sound cards clip at 0 dB on play / record."

I normally record (spoken word mono) with Edit > Preferences > Quality > Default Sample Format 16bit.
Questions:
– Does recording with Sample Format 16bit or 24 bit rather than 32-bit float mean that all peaks normalized to above 0db will be clipped? If not, why not? Can you give a relatively simple explanation of why 32-bit float is not (or at least, is less) vulnerable to clipping?
– Should the track be compressed before normalizing in order to reduce the chance of clipping peaks? If so, why not mention compression in your 3/3/17 comment?