Whilst the SMPTE calibration level we're using suggests that the average level of an audio track should be 20dB below full scale (to leave room for peaks - where the emotion of the music lives), some pop music is dynamically compressed to peak at 0dB and average around -3dB. This means that, when the Replay Gain is correctly set, the level of such tracks will be reduced by 17dB! If users are listening to a mixture of highly compressed and not compressed tracks, then ReplayGain will make the listening experience more pleasurable, by bringing the level of the compressed tracks down into line with that of the others. However, if users are only listening to highly compressed music, then they are likely to complain that all their files are now too quiet.
To solve this problem, a Pre-amp should be incorporated into the player. This is basically just an adjustment to the scale factor we calculated on the previous page. It should default to a +6dB boost (though some manufacturers may choose +9, +12 or +15dB). This means that casual users will find little change to the loudness of their compressed pop music (except that the occasional "problem" quiet track will now be as loud as the rest), while power users and audiophiles can reduce the Pre-amp gain to enjoy all their music.
If the Pre-amp gain is left high for classical music (or nicely produced pop music), this means that the peaks will be compressed (see Avoiding Clipping). However, this is exactly what radio stations do all the time, and many listeners like this sound.
If enabled, simply read the user selected pre-amp gain, and scale the audio signal by the appropriate amount. For example, a +6dB gain requires a scale of 10.^(6/20), which is approximately 2. The Replay Gain and Pre-amp scale factors can be multiplied together for simplicity and ease of processing.
The pre-amp is fairly straight forward. Dealing with the clipping it could introduce is the major issue, and this is discussed in the next section.