This post is roughly 15 years old; originally published on August 14, 2009! The information presented here may be out of date and inaccurate.
Work has been crazy. We’re moving house. Hence, not much time for geeky stuff recently. I’ve been putting this off for ages, I need to “normalise” the volume of my MP3 music music library. Not all CDs sound equally loud. Whilst different musical moods require that some tracks should sound louder than others, the loudness of a given CD has more to do with the year of issue or the whim of the producer than the intended emotional effect. This difference carries over when you rip the CD to MP3 and random play through my music collection requires constant manual volume adjustment. This has been bugging me for a while now, but when it started to bug my wife I knew it was time to find a solution. My main concerns with applying some sort of audio normalisation were….
After some research mp3gain seems to be the
tool for the job which provides an implementation of
ReplayGain. However, as of today my entire CD
collection is ripped, which is very large, so I needed a way to process my
whole music collection in an automated fashion. I found some examples of how
to script this, but there are caveats with the solutions I found. Therefore I
have created my own script, MP3Gainer, to apply ReplayGain using mp3gain
which overcomes these common limitations. MP3Gainer recursively applies
ReplayGain to a MP3 music collection of any size and directory depth.
ReplayGain can be applied in ’track’ or ‘album’ mode and if ReplayGain has
previously been applied it can also be undone. It is important to understand
that MP3Gainer ‘album’ mode really is per album, which is what you want. Trust
me! This script works on Ubuntu, should work on any other Linux/Unix
flavour and possibly Mac OS X providing you have the required tools installed.