Replay Gain
Introduction
Replaygain is the name of a technology created to achieve the same playback volume of audio files. It specifies the reference level of 89dB and an algorithm to measure the perceived loudness of audio data.
Implementations
There are different replaygain implementations, each with its own uses and strength. Most of them use meta data to indicate the level of the volume change (Volume is adjusted on playback; needs player/decoder support) others modify the Audio Data itself. Generally it is recommended to use an implementation which uses meta data and does not touch the audio itself.
Replaygain has significant advantages over normalizing. It allows the peak loudness of a song to be consistant over an entire collection of audio, much like normalizing (this is called 'Track Gain'). However, it also allows the peak loudness of an album to be consistant over a entire music collection, allowing the dynamics of album to remain (This is called 'Album Gain'). In a meta data based solution, information on both types of replaygain can be stored, and the desired playback effect can be switched back and forth in the appropriate player. However, if the audio is permanently modified, only one type of raplaygain can be chosen.
MP3Gain
Format: MP3
Method: Audio or Meta
Limitations: Limited to 1.5dB steps in Audio Data mode
LAME
Format: MP3
Method: Header (mp3infotag)
Notes: Added during encoding; not supported by any player yet; Track Gain only
Replaygain
Format: MPC
Method: Header (similar to Meta data method. See "notes".)
Notes: Replaygain values are stored in the header and replaygain is part of the Musepack specifications; therefore any Musepack decoder that does not support replaygain can be considered broken.
Vorbisgain
Format: Ogg Vorbis
Method: Meta (in Vorbis comment)
FLAC/metaflac
Format: FLAC
Method: Meta (in Vorbis comment)
foobar2000 replaygain scanner
Format:
- MP3: Values written to APEv2 or ID3v2 tags.
- MPC: Values written to header as decribed under "replaygain".
- Ogg Vorbis: In Vorbis comment.
- WavPack: Values written to APEv2 tags.
- AAC: Values written to APEv2 tags.
- MP4: Uses its own itunes-compatible tagging system (though itunes does not support replaygain).
- FLAC: In Vorbis comment.
- APE: Values written to APEv2 tags.
- WAV: Optionally saved into APEv2 tags; otherwise the foobar2000 database is used.
- Modules (MOD etc.): Optionally saved into APEv2 tags; otherwise the foobar2000 database is used.
You can also choose to only have the replaygain values saved in the foobar2000 database and leave the files untouched.
All other formats are supported but the replaygain values are saved to the foobar2000 database.
Wavegain
Format: PCM Wave
Method: Audio
Limitations: Irreversible
Players support
Replaygain being present in the specs of flac, mpc and ape formats, any player that support those formats usually support replaygain.
The situation with MP3 is rather different, as it was not part of the mp3 specs. The APEv2 tags metadata implementation is somewhat becoming the de-facto standard.
Windows
- Foobar2000 supports replaygain in all possible aspects.
- Winamp. MP3 replaygain support with adequate plugins (e.g. Otachan's in_mpg123 - if you can't read japanese, you can find details in this thread)
- XMPlay recently implemented replaygain
and probably others.
Linux
- XMMS. Reads replaygain from FLAC, MPC, Ogg Vorbis ..
For MP3, use the CVS version of the xmms-mad mp3 plugin (it's not yet released as binary, furthermore not available in distribs' versions for now. Meanwhile binaries are available here: custom binaries)
- amaroK. By using the amaroK-script ReplayGain
and possibly others, since TagLib added support for APEv2 tags in MP3 files, players using this library (like amaroK and JuK) might support that kind of replaygain tags in the near future.
- Quod Libet reads replaygain from Ogg Vorbis, FLAC, and MPC
Requires support to be enabled (via the appropriate python bindings and libraries) for the above formats. Does not support replaygain values stored in APEv2 tags in MP3s.
Portable devices
Current development builds of Rockbox for the iRiver H100 series players support replaygain for some encoder formats. This is a rapidly evolving feature. There are no other portable players known to support replaygain.
The iPod features Soundcheck, which seems to produce roughly the same normalization gains as replaygain, but doesnt provide an Album Gain.