ReplayGain
permalink categories: technology originally posted: 2006-01-12 23:13:11From the "good idea!" department.
If you listen to a lot of music, surely you've noticed that some of it is very quiet, and some of it is very loud. Classical music can be very soft, wheras modern pop hits are engineered in the studio to be as uniformly loud as possible (using a technique called "compressing" the signal).
That's all well and good, but what if you've got both queued up in your MP3 player and you listen to both tracks in a row? If the volume is loud enough for the classical music, you'll blast your eardrums out with the pop, and if the volume is low enough that the pop is pleasant, you won't hear any of the classical music. The only way to really solve the problem would be to adjust your volume level for every song—but that would be incredibly tiresome.
Well, that's more or less what ReplayGain does for you. At its root, ReplayGain is extra information embedded in your MP3 file that says "here how much you should turn up/down the volume for this song". If your MP3 player is paying attention to ReplayGain, it will do that for each song that has ReplayGain information. As a result, you just set the volume once, and all your different tracks get played at a pleasant volume level.
Specifically, ReplayGain is two settings: first, the change in volume to use for this song as compared to a global "average volume level", and second, the change in volume to use as compared to the other tracks in "the current album". The latter is theoretically interesting, but in practice I've never used it. (Turning on and off "album mode" in my MP3 player is a pain.) But I leave non-Album-mode ReplayGain turned on all the time, and it's fabulous.
To use ReplayGain, you need to do two things: first, ensure your MP3s/OGGs/FLACs have ReplayGain set, and second, use a music player that supports it. Out-of-the-box, Winamp only natively supports ReplayGain for OGG; its native decoder for MP3 doesn't support it, and it doesn't natively support FLAC at all. There are third-party Winamp decoders for both MP3 and FLAC that support ReplayGain, so it's a little extra work to use Winamp for those file formats, but it works fine. FooBar2000, the preferred audio player for snooty audiophiles, supports ReplayGain for all formats out-of-the-box. (Yeah, all I know about is Windows software, sorry.) Interestingly, the beta Rockbox port to the iRivier H1x0/H3x0 hardware MP3 players supports ReplayGain; I believe it is the first portable hardware MP3 player to do so.
As for encoding, I haven't looked into it to any great degree. These days I only FLACs, and the stock FLAC encoder knows how to add ReplayGain when it encodes FLACs. However, FooBar2000 will add ReplayGain tags to any of the audio file formats that it supports. (Note: I dimly remember having to use a beta of FooBar2000 v0.9 in order to get it to work, but I don't remember specifically what it was.)