iTunes supports a feature called Sound Check. Similar to ReplyGain in other players, the goal is make songs playback at a similar volume. This is particularly useful with mixes, songs from various albums do not have jarring transitions. Since this computed on a song-by-song basis, different songs on a single album get different values. In some cases this creates a jarring experience while listening*.
For example: Muse's Absolution has an introduction track that never gets terribly loud, but leads in directly to a normal song. Sound Check did the following:
- "Intro" adjusted +19.5 dB
- "Apocalypse Please" adjusted -8.5 dB
The ending of the first track is meant to be the same volume as the beginning of the second, but because of Sound Check, this doesn't happen.
I have written album_soundcheck.py which computes the average volume of m4a or mp3 files and replaces the iTunes information with that. This is a permanent change, and cannot easily be reversed. So I provided a testing option (-p
), run with -h
to see the full option list.
album_soundcheck.py requires:
- Mutagen - basic tagging library
- tag_wrapper - My wrapper library that makes mutagen fun and easy
If you have Oggify installed and working you should have all the needed prerequisites.
Example:
album_soundcheck.py "~/Music/iTunes/iTunes Music/Muse/Absolution/*"
* Many new albums by "popular" artists may not be affected, see Loudness War