I have been always using FooBar2000 to add ReplayGain tags to my music library (consisting of .mp3 or .ogg files). On my new computer I would like to avoid installing Wine for just this task.
Are there any native tools that I can use for the same purpose?
I don't mind if they are command-line only, or to use two different programs for mp3 and ogg, but I want to be absolutely certain that they only write a tag and do not mess with the original file otherwise, e.g. by actually reencoding at a different volume.
There are command line tools for calculating ReplayGain values and adding ReplayGain tags. To install the tools for mp3, ogg and FLAC do the following:
Then to add ReplayGain tags to an album that consists of all files in a directory do the following for mp3:
For the same task when the album is in ogg vorbis do the following:
For the same task when the album is in FLAC files do the following:
If you want to add ReplayGain tags to files that are not albums instead use the
-r
option formp3gain
andvorbisgain
(there is no corresponding option formetaflac
):All tools can also be used to remove ReplayGain tags.
As always, make sure you have backups before proceed with any file modification. I have never had problems with these tools but I cannot guarantee they are failsafe (also, your computer could crash or you might have a power outage halfway through the process).
Instead of being "a bit scared" or following unrelated links, why not simply read the manual?
From
man mp3gain
:So it only modifies the audio stream if you tell it to, otherwise it writes to tags only.
Side note: many of the URLs posted in comments are not related to current
mp3gain
found in Ubuntu: they are either terribly outdated or they refer to the windows version.Whenever in doubt as how a given command works, always try
man
first. If that is not enough (or no man page available), use the correct upstream website, which can be checked in Ubuntu's package page.I got part of the way through (okay most of the way through :( ) writing a wrapper script for the answer supplied by "N.N." when I discovered rgain. The answers recommending mp3gain wouldn't work for me as my library is mostly flac. rgain (listed in package repositories as python-rgain) is a library for interacting with replay gain tags of various file types, but it also comes with some wrapper scripts for it's most apparent uses. I'm currently running it, it seems like it will take a long time, and we shall see how it performs in time...
https://bitbucket.org/fk/rgain/
Edit: I have been using it for some time now and while it's not perfect, it has been a huge improvement to listening to music. I'd say I have to adjust the volume maybe 10-15% as much as I used to. It did take three or four days on my crappy old computer to analyze my whole library. I'm about to start it on some new stuff I've downloaded.
Also, when I was running it the first time, it got interrupted a few times, and didn't explain why. I just ran it again, and it picked up analyzing where it left off, having successfully saved the tags it had done so far. What I mean is, it scans much faster than it analyzes so if it stops just restart it.
UPDATE: mp3gain should not alter your audio stream unless you use one of the -r, -a, -g, or -l options. On my (vanilla) Ubuntu 12.04 installation it appeared to do so at first, but now I am unable to reproduce that. I might have been tricked by Audacity into thinking the audio stream changed when comparing my before/after files, e.g. by an Audacity plug-in applying replaygain tags as an input gain stage before opening mp3-files in its mixer.
If you're in doubt about whether your audio streams change, you may want to compare them by doing as follows:
I just wanted to add a little more information. I will reinforce that mp3gain will only modify the file if you tell it to; otherwise it will merely add a tag. Also, SoundKonverter will provide a GUI interface to mp3gain and several other tools to calculate gain for other files. There is an option in SoundKonverter to modify the file, but it is off by default, only adding a tag.
One other point that I wanted to make clear is that even if you modify the file directly with mp3gain, it does not re-encode the file. One of the features of the mp3 format is the ability to change the gain (or "volume") of a file nondestructively, i.e. without re-encoding.