Replay Gain

From Hydrogenaudio Knowledgebase
Revision as of 12:39, 18 February 2005 by 82.231.223.1 (talk) (→‎Introduction: copied from foobar's page)

Introduction

Replaygain calculates the average perceived loudness of either a track (track gain) or an album (album gain) and uses this information to properly adjust the volume of tracks, that are mastered at different volume levels, during playback. This will make sure that you will have a similar volume levels on all of your tracks or albums without loosing any dynamic range of your music. In the case of ALbum Gain, it will even make sure that more quiet tracks of an album will sound more quiet and tracks that where meat to be louder, louder.

It shouldn't be confused with algorithms that adjust playback volume dynamically a single track (which is often called normalization). Replaygain is a normalization method of sorts, but it provides the same gain for whole tracks or albums.

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

MP3Gain


Format: MP3

Method: Audio or Meta

  • In Meta mode, the tags are written in APEv2 tags.
  • In Audio Data Mode, the gain is applied to each frame's gain byte, and the process can be perfectly reverted.

Limitations: Limited to 1.5db steps in Audio Data mode

LAME

LAME


Format: MP3

Method: Header (mp3infotag)

Notes: Added during encoding; not supported by any player yet; Track Gain only


Replaygain

MPC 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

Vorbisgain


Format: Ogg Vorbis

Method: Meta (in Vorbis comment)


FLAC/metaflac

FLAC


Format: FLAC

Method: Meta (in Vorbis comment)

foobar2000 replaygain scanner

Foobar2000


Format:

  • MP3: Values written to APEv2 or ID3v2 tags.
  • MPC: Values written to header as decribed under "replaygain".
  • Ogg Vorbis: In Vorbis comment.
  • 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

Wavegain


Format: PCM Wave

Method: Audio

Limitations: Irreversible


Additional reading