ReplayGain

From Wikipedia, the free encyclopedia
Jump to: navigation, search

ReplayGain is a proposed standard published by David Robinson in 2001 to measure the perceived loudness of audio in computer audio formats such as MP3 and Ogg Vorbis. It allows players to normalize loudness for individual tracks or albums. This avoids the common problem of having to manually adjust volume levels between tracks when playing audio files from albums that have been mastered at different loudness levels.

ReplayGain is now supported in a large number of media players and portable devices.

Although the de facto standard is now formally known as ReplayGain,[1] it was originally known as Replay Gain and is sometimes abbreviated RG.

Operation[edit]

ReplayGain works by first performing a psychoacoustic analysis of an entire audio track or album to measure peak levels and perceived loudness. The difference between the measured perceived loudness and the desired target loudness is calculated; this is considered the ideal replay gain value. Typically, the gain and peaks values are then stored as metadata in the audio file, allowing ReplayGain-capable audio players to automatically attenuate or amplify the signal on a per-track or per-album basis such that tracks or albums play at a similar loudness level. The peak information can be used to prevent gain adjustments from inducing clipping in the playback device.[2]

Metadata[edit]

The original ReplayGain proposal specified an 8-byte field in the header of any file. Most implementations now use tags for ReplayGain information. FLAC and Ogg Vorbis use the REPLAYGAIN_* Vorbis comment fields. MP3 files usually use ID3v2. Other formats such as AAC and WMA use their native tag formats with a specially formatted tag entry listing the track's gain and peak loudness.

ReplayGain utilities usually add metadata to the audio files without altering the original audio data. Alternatively, a tool can amplify or attenuate the data itself and save the result to another, gain-adjusted audio file; this is not perfectly reversible in most cases. 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 for directly applying the gain adjustment to MP3 files, adding undo information so that the process is reversible.

Target loudness[edit]

The target loudness of ReplayGain utilities is 89 dB sound pressure level.[note 1] The SPL reference comes from a SMPTE recommendation used to calibrate playback levels in movie theaters.[note 2]

A more common means of specifying a reference level is relative to a full-scale signal. ReplayGain nominally plays at -14 dB relative to full-scale leaving 14 dB of headroom for reproduction of dynamic material. In contrast, the SMPTE RP 200:2002, on which the ReplayGain reference was originally based, recommends 20 dB of headroom. The more recent EBU Recommendation R 128 suggests 23 dB.[6]

Track-gain and album-gain[edit]

ReplayGain 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, is calculated. Using the album-gain values during playback will preserve the volume differences among tracks on an album.

On playback, listeners may decide if they want all tracks to sound equally loud or if they want all albums to sound equally loud with different tracks having different loudness. In album-gain mode, when album-gain data is missing, players should use track-gain data instead.

Alternatives[edit]

  • 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. (ReplayGain itself is an elaboration on RMS normalization.)
  • With audio level compression, volume may be altered on-the-fly on playback (meaning "variable gain", as opposed to the "constant gain" as rendered by ReplayGain), but the dynamic range will be compressed. Although this is beneficial in keeping volume constant at all times, it is not always desirable.
  • Sound Check is a proprietary Apple Inc. technology similar in function to ReplayGain. It is available in iTunes and on the iPod.[7]
  • Standard measurement algorithms for broadcast loudness monitoring applications have recently been developed by the International Telecommunication Union (ITU-R BS.1770) and the European Broadcasting Union (EBU R128).[6]

Implementations[edit]

Audio players[edit]

  • AIMP, Windows[8]
  • Amarok, KDE desktop environment. Native ReplayGain support was added in Amarok 2.1.[9][10][11] No native support is available for Amarok 1, but a ReplayGain 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, Unix-like systems
  • Aqualung (music player), Linux and Windows
  • Banshee, Linux
  • Clementine, Windows, Mac OS X and Linux
  • cmus, Unix-like systems
  • Cue Broadcast Audio Player, Windows[12]
  • DeaDBeeF, GNU/Linux, *BSD, OpenSolaris and Mac OS X[13]
  • Exaile, Linux/GNOME desktop environment
  • FLAC, the reference FLAC decoder can create a new copy with ReplayGain applied, through the undocumented option --apply-replaygain-which-is-not-lossless as of version 1.1.1[14]
  • foobar2000, Windows
  • GMusicBrowser, Linux/GNOME[15]
  • hunisPRO automation system, Windows[12]
  • JRiver Media Center, Windows[16]
  • JavaTunes, Windows, Linux and Mac OS X[17]
  • Zortam Mp3 Media Studio, Windows[18]
  • MediaMonkey, Windows
  • Mixxx virtual DJ software, v1.9.0 and up
  • madplay, Unix-like systems
  • Mpg123, supported for only Xing/Lame/Info header
  • MPD, Unix-like systems
  • Muine, GNOME desktop environment
  • MusicBee, Windows
  • Play, Mac OS X[19]
  • Pocket Player, Windows Mobile,[20] through the ReplayGain DSP plugin[21]
  • ProppFrexx ONAIR, Windows[22]
  • Quod Libet, Unix-like systems. Reads ReplayGain metadata natively. Has a plugin to analyze and write ReplayGain information.
  • QuuxPlayer, Windows
  • RadioBOSS, Windows radio automation software[23]
  • Rhythmbox, GNOME (through a plug-in)
  • Songbird, Windows and Mac OS X
  • SoX, cross-platform[24]
  • Squeezebox hardware and accompanying SlimServer/SqueezeCenter software from Slim Devices
  • VLC media player, multiplatform. Reads ReplayGain metadata natively
  • Winamp, Windows
  • Kodi (software)Kodi, cross-platform
  • XMMS, Unix-like systems with X11. Supports ReplayGain for Vorbis; for MP3 files, a patched version of the xmms-mad plugin which only supports APEv2 is available[25])
  • XMMS2, Unix-like systems
  • XMPlay, Windows[26]

Portable media players[edit]

Typical CD players and other legacy audio players do not support ReplayGain.

Android compatible players[edit]

Scanners[edit]

  • beaTunes: Writes the standard replaygain_track_gain/replaygain_track_peak tags and replaces the iTunNORM metadata tag value, which is used by iTunes software and iPod music players for Sound Check volume normalization.
  • Ex Falso: Included plugin scans files on a per-album base, writes the standard tags into metadata.
  • EZ CD Converter: CD ripper and metadata converter.
  • FLAC and metaflac: Encoder can optionally generate metadata. Tagger generates metadata.
  • foobar2000: Generates metadata through included plugin using EBU R128 (but at old 89dB levels) for all supported tag formats.[37]
  • 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.[38]
  • QuuxPlayer for Windows: calculates gain values and saves them in its library database; optionally writes ReplayGain tags to files with ID3v2 tags.
  • Quod Libet: Based on Ex Falso. Generates metadata through included plugin to analyze and write ReplayGain information
  • Rapid Evolution: Generates metadata
  • SoundKonverter: frontend for various audio conversion tools. Is built using KDE Development Platform and has a ReplayGain tool.
  • Winamp: Generates metadata
  • rgain: Generates metadata
  • Sound Normalizer
  • (Linux) soundKonverter

Notes[edit]

  1. ^ Although the original proposal specified an 83 dB SPL reference, an early departure from the proposal to 89 dB SPL was endorsed by its author.[3]
  2. ^ Specifically SMPTE RP 200:2002 recommends an 83 dB SPL plaback level for pink noise recorded at -20 dB with respect to a full-scale sine wave. ReplayGain uses -14dB headroom and therefore has a reference 6dB higher than the SMPTE spec.[4][5]

See also[edit]

References[edit]

  1. ^ David Robinson (2010-12-17). "ReplayGain Specification discussion". Hydrogenaudio. Retrieved 2011-07-12. 
  2. ^ "ReplayGain specification". Retrieved 2011-04-15. 
  3. ^ "Does Replay gain work differtly in Media monkey". Hydrogenaudio. 2010-10-07. Retrieved 2010-12-30. 
  4. ^ Leslie, Rob (24 February 2004). "Replay Gain". mad-dev mailing list. mars.org. Retrieved 2007-03-10. 
  5. ^ "ReplayGain specification". Retrieved September 13, 2011. 
  6. ^ a b EBU (August 2011). "Loudness normalisation and permitted maximum level of audio signals" (PDF). 
  7. ^ Sam Costello. "Using Sound Check with iPod". About.com. Retrieved 2010-05-11. 
  8. ^ http://www.aimp.ru/index.php?do=features
  9. ^ "Bug 81661 - Volume normalization for amaroK". KDE Bug Tracking System. 2004-05-16. Retrieved 2010-12-30. 
  10. ^ "Amarok 2.1 – back to the future". Padoca. 2009-02-15. Retrieved 2010-12-30. 
  11. ^ "Amarok 2.1 "Let There Be Light" released". Amarok. 2009-06-03. Retrieved 2010-12-30. 
  12. ^ a b http://web.archive.org/web/20090129163032/http://www.gasteropod.net:80/. Archived from the original on January 29, 2009. Retrieved November 26, 2008.  Missing or empty |title= (help)
  13. ^ "DeaDBeeF - Ultimate Music Player For GNU/Linux". Deadbeef.sourceforge.net. Retrieved 2016-07-29. 
  14. ^ "Does FLAC.exe decode support ReplayGain?". Hydrogenaudio. 2004-01-07. Retrieved 2010-12-30. 
  15. ^ "gmusicbrowser". Squentin.free.fr. Retrieved 2011-11-24. 
  16. ^ http://web.archive.org/web/20050403180220/http://www.musicex.com:80/mediacenter/. Archived from the original on April 3, 2005. Retrieved January 7, 2006.  Missing or empty |title= (help)
  17. ^ "JavaTunes". Stigc.dk. 2011-05-15. Retrieved 2011-11-24. 
  18. ^ "Zortan MP3 Media Studio". Zortam. 2011-11-09. Retrieved 2011-11-24. 
  19. ^ "Play". sbooth.org. Retrieved 2011-11-24. 
  20. ^ "Pocket Player 4". Conduits. Retrieved 2011-11-24. 
  21. ^ "Pocket Player Plugins & Software Development Kit (SDK)". Conduits. Retrieved 2011-11-24. 
  22. ^ "ProppFrexx ONAIR". Proppfrexx.radio42.com. Retrieved 2011-11-24. 
  23. ^ "RadioBOSS Web Site". djsoft. Retrieved 2012-05-05. 
  24. ^ "SoX man page". Retrieved 2011-11-24. 
  25. ^ "Modified xmms-mad". 2005-03-06. Retrieved 2010-12-30. 
  26. ^ "XMPlay". XMPlay. Retrieved 2011-11-24. 
  27. ^ "What is Rockbox? Why should I use it?". Retrieved 2011-12-12. 
  28. ^ ""Replay Gain" on Sansa Fuze, Fuze+ and Clip+". Retrieved 2011-12-12. 
  29. ^ "DeaDBeeF Player". Retrieved 2011-08-17. 
  30. ^ "GoneMAD Music Player". Retrieved 2012-06-13. 
  31. ^ "Neutron Music Player". Retrieved 2012-01-30. 
  32. ^ "MyTunes Music Manager". Retrieved 2012-01-27. 
  33. ^ "PowerAMP v2.0". Retrieved 2011-12-12. 
  34. ^ "Vanilla Music - Android Apps on Google Play". Retrieved 2013-07-05. 
  35. ^ "WinAmp for Android". Retrieved 2011-12-12. 
  36. ^ "XenoAmp a Slightly Different Audio Player". Retrieved 2013-03-41.  Check date values in: |access-date= (help)
  37. ^ "1.1.6 patch notes". Retrieved 18 October 2012. 
  38. ^ "MP3Gain". Hydrogenaudio. 2007-06-13. Retrieved 2010-12-30. 

External links[edit]