Replay Gain: Difference between revisions

From Hydrogenaudio Knowledgebase
(Clarify, restructure, reformat (see diff))
(name change)
 
(78 intermediate revisions by 23 users not shown)
Line 1: Line 1:
=Introduction=
#REDIRECT [[ReplayGain]]
 
'''Replaygain''' is the name of a technique invented 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.
 
Replaygain is more than mere [[Normalization|normalization]]. In normalization, you merely ensure that the peak amplitude reaches a certain level. However, songs with 'spiky' waveforms might not be amplified enough. The replaygain technique measures the ''effective'' (i.e. RMS) power of the waveform, and amplifies the waveform accordingly. The result is that replaygained waveforms are usually more uniformly amplified that normalized waveforms.
 
 
=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.
 
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 data is permanently modified, only one type of replaygain can be chosen. Furthermore, if the audio data is modified, you may not be able to restore the original data, especially if the replaygain technique produces a negative amplification.
 
Replaygain has significant advantages over [[Normalization|normalizing]]. It allows the loudness of a song to be consistant over an entire collection of audio, similar like normalizing (this is called 'Track Gain', or 'Radio Gain' in earlier parlance). However, it also allows the loudness of an album to be consistant over a entire music collection, allowing the dynamics of album to remain (This is called 'Album Gain', or 'Audiophile Gain' in earlier parlance). This is usually very important in classical CDs, as there may be quiet segments and loud segments written into different tracks.
 
==MP3Gain==
 
[http://mp3gain.sourceforge.net/ MP3Gain]
 
* Format: [[MP3]]
* Method: Audio or Meta
* Limitations: Limited to 1.5dB steps in Audio Data mode
 
 
==[[LAME]]==
 
[http://lame.sourceforge.net/ LAME]
 
* Method: Header ([http://gabriel.mp3-tech.org/mp3infotag.html mp3infotag])
* Notes: Added during encoding; not supported by any player yet; Track Gain only
 
 
==[[MPC]] replaygain==
 
[http://rarewares.org/mpc.html MPC replaygain]
 
* Method: Header (similar to Meta data method)
* 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==
 
[http://www.sjeng.org/vorbisgain.html Vorbisgain]
 
* Format: [[Ogg Vorbis]]
* Method: Meta (in [[Vorbis comment]])
 
 
==FLAC/metaflac==
 
[http://flac.sf.net FLAC]
 
* Format: FLAC
* Method: Meta (in [[Vorbis comment]])
 
 
==Wavegain==
 
[http://www.rarewares.org/files/others/wavegain.zip Wavegain]
 
* Format: waveform
* Method: Audio
* Limitations: Irreversible
 
 
==[[foobar2000]] replaygain scanner==
 
[http://foobar2000.org Foobar2000]
 
* Format:
** [[MP3]]: Values written to [[APEv2]] or [[ID3v2]] tags.
** [[MPC]]: Values written to header.
** [[Ogg Vorbis]]: Values written to [[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]]: Values written to [[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.
 
 
=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. [http://www.aikis.or.jp/~otachan/in_mpg123.html Otachan's in_mpg123] - if you can't read japanese, you can find details [http://www.hydrogenaudio.org/forums/index.php?showtopic=18530 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 [http://xmms-mad.sourceforge.net/ xmms-mad]  mp3 plugin (it's not yet released as binary, furthermore not available in distribs' versions for now. Meanwhile binaries are available here: [http://perso.crans.org/~krempp/xmms-mad/ custom binaries])
* [[amaroK]]. By using the amaroK-script [http://kde-apps.org/content/show.php?content=26073 ReplayGain]
:And possibly others, since [http://developer.kde.org/~wheeler/taglib.html 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.
* [http://www.sacredchao.net/quodlibet 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 [[MP3]]s.
 
 
==Portable devices==
 
Current development builds of [http://www.rockbox.org/ 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.
 
 
=Additional reading=
* [http://replaygain.hydrogenaudio.org Original replaygain website]

Latest revision as of 17:17, 27 July 2011

Redirect to: