Replay Gain
From Wikipedia, the free encyclopedia
Replay Gain is a proposed standard published in 2001 to normalize the perceived loudness of computer audio formats such as MP3 and Ogg Vorbis. It works on a track/album basis, and is now supported in a growing number of media players. Although the standard is formally known as "Replay Gain", it is also commonly known as "ReplayGain" or "replaygain." It is sometimes abbreviated "RG".
Contents |
[edit] Theory
Replay Gain works by first performing a psychoacoustic analysis scan of the entire audio file to measure the perceived loudness and peak levels. The difference between the loudness and the target loudness (usually 89 dB SPL)[1] is calculated; this is the gain value. Typically, the gain value and the peak value are then stored in the audio file as metadata, allowing Replay Gain-compliant audio players to automatically attenuate (or in some cases amplify) the output so that such files will play back at similar loudness to one another. This avoids the common problem of having to manually adjust volume levels when playing audio files from different albums that have been mastered at different levels. With lossy files, another benefit of Replay Gain scanning is that the peak information can also be used to prevent loud songs from clipping.[2] Finally, should the audio at its original levels be desired (i.e. for burning back to hard copy), the metadata can simply be ignored.
Replay Gain implementations usually involve adding metadata to the audio without altering the original audio data. While the Replay Gain standard specifies an 8-byte field in the header of any file, many popular audio formats use tags for Replay Gain information. FLAC and Ogg Vorbis use the REPLAYGAIN_*
comment fields. MP3 files usually use ID3v2 or APEv2 tags.
CD players and other legacy audio players do not support Replay Gain metadata. Nevertheless, some lossy audio formats, such as MP3, are structured in a way that they encode the volume of each compressed frame in a stream, and tools such as MP3Gain take advantage of this to change the volume of all frames in a stream, in a reversible way, without adding noise. Otherwise, a tool can amplify a PCM audio file and save the result to another PCM audio file; this is not perfectly reversible in most cases.
[edit] Track-gain and album-gain
Replay Gain analysis can be performed on individual tracks so that all tracks will be of equal volume on playback. Analysis can also be performed on a per-album basis. In album-gain analysis an additional peak-value and gain-value, which will be shared by the whole album, will be calculated. Using the album-gain values will preserve the volume differences within an album.
On playback, assuming the metadata method is used, listeners may decide if they want all tracks to sound equally loud ('track gain', formerly called 'radio gain') or if they want all albums to sound equally loud with different tracks having different loudness ('album gain', formerly called 'audiophile gain'). In album-gain mode, when album-gain data is missing, players should use track-gain data instead.
[edit] Replay Gain-compliant audio players
- Amarok for Linux: Native Replay Gain support has been added to the Amarok 2 branch and is a planned feature for Amarok 2.1. [3] [4]. No native support is available for Amarok 1, but a Replay Gain script is available for Amarok's script manager. As it is an external script, however, there will be a slight lag between the start of a track and the volume adjustment. This is particularly noticeable when a track starts with a peak loudness.
- Audacious for Unix-like systems
- Aqualung for Linux and Windows
- Banshee for Linux
- cmus for Unix-like systems
- Exaile for Linux/GNOME
- FLAC: The reference FLAC decoder can create a new copy with Replay Gain applied, through the undocumented option
--apply-replaygain-which-is-not-lossless
as of version 1.1.1[5] - foobar2000 for Windows
- J.River Media Center for Windows
- Zortam Mp3 Media Studio for Windows
- MediaMonkey for Windows
- madplay
- Mpg123 supported for only Xing/Lame/Info header
- mpd for Unix-like systems
- Muine music player for GNOME
- Play for Mac OS X
- Quod Libet for Unix-like systems
- QuuxPlayer for Windows
- Rhythmbox for GNOME (GConf option on/off only track gain is assumed)
- Rockbox firmware for various digital audio players
- Songbird: Replay Gain is only supported in the latest development versions thus far, however, is expected to make its first stable appearance in Hendrix.
- SoX
- Squeezebox (2 and newer) hardware and accompanying SlimServer/SqueezeCenter software from Slim Devices
- VLC media player a multi platform media player
- Winamp for Windows
- Xbox Media Center for the Xbox
- XMMS for Unix-like systems with X11 (supports Replay Gain for Vorbis; for MP3 files, a patched version of the xmms-mad plugin which only supports APEv2 is available.[6])
- XMMS2 for Unix-like systems
- JavaTunes for Windows, Linux and Mac OS X
- Cue Broadcast Audio Player for Windows (Freeware)
[edit] Implementations of Replay Gain scanners
- AACGain: Directly modifies original file and writes undo information as metadata.
- FLAC and metaflac: Encoder can optionally generate metadata. Tagger generates metadata.
- foobar2000: Generates metadata through included plugin for all supported tag formats.[7] Can directly modify MP3 files.
- iVolume: Replaces the
iTunNORM
metadata tag value (optionally on a per-album basis), which is used by iTunes software and iPod music players for Sound Check volume normalization. - LAME: Encoder writes metadata to LAME tag
- MediaMonkey: Analyze Volume calculates RG values and writes them into the files as tags and into its library database
- MP3Gain: (open source) generates metadata. Can directly modify original file and write undo information as metadata.[8]
- Improved MP3Gain: 60% faster due to Hyperthreading and SSE2 Support and other improvements
- QuuxPlayer for Windows: calculates gain values and saves them in its library database; optionally writes replay gain tags to files with ID3v2 tags.
- Zortam Mp3 Media Studio: Generates metadata
- Rapid Evolution: Generates metadata
- replaygain.exe: Generates metadata which is stored in the file header of Musepack files.
- VorbisGain: Generates metadata.
- WaveGain: Generates a new copy with Replay Gain applied.
- Winamp: Generates metadata
[edit] Alternatives
- Audio normalization: Peak amplitude is not a reliable indicator of loudness, so consequently peak normalization does not offer reliable normalization of perceived loudness. RMS normalization is a little more accurate, but care must be taken not to introduce clipping, either by guaranteeing appropriate headroom or by using hard or soft limiting. (Replay Gain itself is an elaboration on RMS normalization.)
- Audio level compression: With audio level compression, volume may be altered on the fly on playback, but the dynamic range will be compressed. Although this is beneficial in keeping volume constant at all times, it is not always desirable.
[edit] References
- ^ Leslie, Rob (24 February 2004). "Replay Gain". mad-dev mailing list. mars.org. http://www.mars.org/mailman/public/mad-dev/2004-February/000993.html. Retrieved on 2007-03-10.
- ^ "Replay Gain - Player Requirements - Clipping Prevention". http://replaygain.hydrogenaudio.org/player_clipping.html.
- ^ http://bugs.kde.org/show_bug.cgi?id=81661
- ^ http://padoca.wordpress.com/2009/02/15/amarok-21-back-to-the-future-english-version/
- ^ Does FLAC.exe decode support ReplayGain? - Hydrogenaudio Forums
- ^ modified xmms-mad
- ^ Bobulous. "Replay Gain: play music files without volume fluctuations." Retrieved on May 8, 2007.
- ^ MP3Gain - Hydrogenaudio Knowledgebase
[edit] See also
[edit] External links
- Replay Gain - A Proposed Standard
- Replaygain at Hydrogenaudio wiki
- Replay Gain in Linux — guide to using graphical and command line Replay Gain tools in Linux.