Is there a program that edits audio files to have the same volume?

When listening to music in Banshee or any other player, I always have to up the volume for certain songs and turn it back down for others because they don't have the same replay gain.

  • Is there an add-on which could normalise my songs in Banshee?
  • Or is there a program which could do this to whole of my music library?

I'm currently running Ubuntu 12.04 in case that has any effect on the answers.

Thanks in advance.


Solution 1:

I use a command line utility called mp3gain, which is available in the repositories.

To use it, go into the directory where you store your music files, and then run this command:

find -name '*mp3' -exec mp3gain -r -k {} \;

It will go through every subdirectory, finding any file ending with .mp3, and normalize the gain so that they will also play back at a consistent volume.

Also note that mp3gain won't act on files that are already within the range you want, so the second time you run it and thereafter, it won't take as long as the first time. So you can just run this command as is every time you add new files, whether its just one new file, or a whole bunch.

If you happen to have .ogg files, there is a similar program called vorbisgain:

find -name '*ogg' -exec vorbisgain -r {} \;

There are options for how you normalize the gain for any one song in comparison to the rest of the music you have, but it's been so long since I've looked at them I can't really say much about it. I just know that I play my entire library as one huge randomized collection, and the above comand and its settings has worked for me for years.

If you happen to have .flac files, you can use metaflac:

find -name '*flac' -exec metaflac --add-replay-gain {} \;

Hope that helps.

Solution 2:

I don't think there is an add-on for Banshee itself, but you can normalise volume across your collection. On AVP, I've found two ways to get it done:

  • sox: install via sudo apt-get install sox or the Ubuntu Software Center. In a terminal, navigate to the directory where your music files reside using the cd command, then type sox <input-file.mp3> <output-file.mp3> gain −n −3. This will normalise the mp3 file's level to -3 dB relative to full scale deflection.

  • normalize-mp3: this application is the way to go when you're handling multiple files. Install via sudo apt-get install normalize-audio or the Ubuntu Software Center. In a terminal, navigate to the directory where your music files reside using the cd command, then type normalize-audio -b *.mp3 for artist albums, or normalize-audio -m *.mp3 for mix albums.

Solution 3:

You can use audacity to normalize the volume of you whole music library.

Audacity is a free, easy-to-use and multilingual audio editor and recorder for Windows, Mac OS X, GNU/Linux and other operating systems. You can use Audacity to:

  • Record live audio.
  • Convert tapes and records into digital recordings or CDs.
  • Edit Ogg Vorbis, MP3, WAV or AIFF sound files.
  • Cut, copy, splice or mix sounds together.
  • Change the speed or pitch of a recording.
  • And more! See the complete list of features.

One of these features, is Adjust volume with Compressor, Amplify, Normalize and Fade In/Out effects.1

Note: Using audacity will affect the quality of your music. But, if your music library is all high quality mp3, I mean 256 and 320 kbit/s, and the sampling frequency is 44.1 and 48 kHz, you probably will not notice a quality loss (drop). Now audacity claims that they have significantly improved Normalize, but I think that this should be kept in mind before you try to normalize the sound.

1Source:Audacity