Normalizing audio levels (or, what happens when you assume…)

A long time ago... in a digital media file library far away... I was SURE that I had gone through my entire library and performed level 'normalization'.

For those that are not familiar with the term, 'normalization' refers to the process of adjusting the 'loudness' of each track to a standard level. This is actually much more difficult that it may sound (pun not intended); when done well it's much more than just measuring the levels and adjusting them up or down to reach a standard value. The human ear is a decidedly non-linear device (It's actually performs much more like an log() function but that's for a different post) that has varying sensitivity across the range of audio frequencies. The perceived effect of this is that two tones recorded at the same 'level' may not have the same 'loudness'.

The simplest form of normalization simply subtracts the highest recording level within a track from an target level. It then boosts the level of the entire track by that amount so the peaks hit the target level. All sections (and frequencies) of the track are boosted equally. This approach does nothing to compensate for wide variations within the track but it does usually prevent listeners from running to twist the volume knob for every track.

I use mp3gain to perform normalization of tracks in my library. At it's default settings mp3gain achieves a very conservative standard level of 89dB. It also does an analysis of the audio data and compensates for the perceived loudness of the track. Mp3gain does not modify the original audio data; it stores the the adjustment factor within an ID3 tag. Audio players that recognize the REPLAY_GAIN (RGAD, or perhaps RVA2 in ID3v2.4 (and the XRVA)tag for 2.3 compatibility)) ID3 tag will automatically apply the factor during playback to create a 'normalized' playback.

While listening to my Christmas playlist I noticed several tracks that were dramatically louder than the majority of the others. After a bit of sleuthing I discovered that a great many of my library tracks had not been normalized - DOH!

One of my New Year's resolutions: NORMALIZE ALL TRACKS PRIOR TO AIR!