Audio software are using more and more technics to level the audio gain, so as to put each track at the same level. But there are several drawbacks:
each software has its proper way to do so, without any standard between different softwares
it's shadowy and hardly customizable, without any ability to change the default setting
the use of an external database file which could be easily deleted or lost
it's limited to the most used formats
a narrow solution which doesn't take in count the tracks following, which could be annoying in some circumstancies (operas, concerts, symphonies)
The foobar bridled (right word?) solution has none of these defaults. It's based on replaygain, standard which the software uses and has the following odds:
detailed mode with huge informations about it, free to be used by anyone. Software as MediaJukebox/MediaCenter, TCMP or several plug-in for Winamp, the mp3 gain tool, as several formats and audio encoders (mpc, vorbis, flac, lame mp3, wavepack, optimfrog) use this standard of calculation and level gain.
Ability to customize the output level and even apply individual corrections to the gain calculated on each file
the integration of the replaygain info in tag or header of the concerned files: the information is permanent and doesn't alter in any way the audio stream
this method could be used for all lossy and lossless formats supported by foobar: mp2, mp3, mp4/aac, ogg vorbis, mpc, wma, ape, wavepack & wavepack lossy, optimfrog & dualstream, flac and even PCM (.wav)
offers two values, for each file or by album
What is the principle?
Replaygain marks out a standard level (fixed to 89dB) and an algorithm to calculate the average audio level of a file. When this average has been calculated, replaygain adjust the level to 89 dB (see below for an example). Which allows you to have the correction value of each file. As an example if a track of Radiohead is calculated to 99 db, the replaygain correction is of -10 dB, if a track of Morcheeba is calculated to 81 dB the correction will be of +8dB) (for a quick description of the dB scale, click here).
As it calculates the average noise level of a track, the use of replaygain could be annoying for tracks with an average audio level quite low and which have a huge peak but quite short, Because it can apply a positive gain and as a consequence increase the peak, creating clipping, this case is quite rare but may happen, if you use the Advanced Limiter, there might be no problem.
Where are these values?
Replaygain only calculates the average audio level of the track and the peak level (highest volum measured into the file). the results are saved by the software using replaygain info with different ways:
stockpiled in metadata, when the audio format is optimized for replaygain (as mpc or lame mp3 (3.94 and above)) calculating these values at the encoding and saves them in the LAME tags
inscription of the values in standardized tag fields linked to replaygain
complete physical change of the file, depending on the calculated values (as did mp3gain, aacgain (in development) and wavegain)
How does process foobar?
Foobar has an integrated replaygain scanner, which computes the audio level of files, correction values, an Peak. These values are immediately written into the file tags or in its metadata if it is possible, or in the database if the user asks to. But foobar will never change any bit of the audio stream. Replaygain with foobar won't alter your files more than the addition of a tag..
How is applied the gain?
The software searches replaygain intormation into metadata or tags, then it orders to the decoder to apply the correction. It's done only while decoding, as if a virtual user increased or decreased the level very accurately at each new track. Replaygain isn't revolutionary, its strength comes from its simplicity and its great efficiency.
Why are there two values: track and album?
(wow, the original explanation was hard to translate), some albums, especially classical ones couldn't be considered as isolated tracks, thats why there is an album value so as not to have a huge difference between the clapping shared on two tracks
Why the level is fixed to 89 dB? Can I change it if the outpout level is too low for my taste?
It's compared to 89 dB so as to create a standard, because if everyone changes the reference level, replaygain would be useless, that's why foobar only alows to change the output level, changing the global correction with the preamp tool which is independant from the volume control. For example, to have 92 dB level, just switch to +3dB;
Remember that dB is a logarithmic scale, as a consequence, 1dB could change a lot of things, especially generating clipping or cracks for positive values. To avoid those problems use the DSP "Advanced limiter". Using the "Use peak info to scale down tracks that still clip after applying replaygain" also might avoid these problems but without any care for the replaygain value
And if my files haven't any replaygain value?
Well you have to scan your record library (which is quite slow, count about 1 hour for a thousand of tracks). But their is a last possibility which is far from being optimal: the files without RG info cursor, which you must configure to apply the gain indicated, it doesn't replace replaygain but may smooth the level of your audio files a bit, it may be useful for the files which could not be changed (as burned on CD or DVD ones)
How to remove replaygain info from my files?
It is not useful at all, just disable replaygain if you find that it decreases the quality of your audio files. But no place will be earned as it represents only some octet by file, no more.
I have mp3 with no sound at all after using replaygain while they play normally in other readers!
Just disable Use peak info to scale down tracks that still clip after applying replaygain. It should work now.
How is applied replaygain
The use of replaygain in foobar is very easy, it's avaible from the contextual menu (righ click) and is applied to the selected track(s):
There are five ways for action:
Scan per-file track gain: will calculate only the track gain value, not the album one.
Scan selection as album: will calculate the track gain and the album gain considering that the whole selection is one album
Scan selection as multiple album: will calculate the track gain and the album gain using the tags to see where are the boundaries of each album, (see below for changing this criterion). It will calculate each album value.
Remove replaygain info from files, will remove all the calculated values in each file, as said above, there is no use to do this theorically
Edit replaygain info: to change the replaygain info, shouldn't be used except with perfect knowledge of what you're doing
By default, the scanner consider the value %album% of tags to delimit the albums, but the user can chage this behavior in the preference menu:
For example, you can use %composition% (only an example..). This tool is only present in foobar and will allow every user with a properly tagged record library to obtain the two values for all his files in only two clicks (but it will need several hours..)
the two values %_path% and %_directoryname% (considering the file path) will allow people without tagged files to have the two values.
Skip tracks / albums that already have ReplayGain info will reduce the calculation time if the majority of your record library already have replaygain info.