I recently posted a video demonstrating how Apple’s Sound Check feature works, and exploring whether it really means that the loudness war has been won as Bob Katz claims.
The short answer is – I hope so, but I do have reservations.
But even if Bob is right (and there are encouraging signs that perhaps the loudness war tide is turning, recently) I’ve still always had a reservation about Sound Check.
It evens out all the levels on albums, too – as well as when you’re listening on shuffle.
This is a huge negative point, for me – Sound Check alters all the internal dynamics within an album – the contrast between quieter and louder tracks.
Or at least, it used to.
Tests made recently by Bob and others suggest that Apple have implemented a fix for this problem and quietly rolled it out, without any fanfare.
Of course I wanted to try this for myself, and I made the video above to demonstrate what I found. I also discuss why I think it’s important, what I think Apple’s next step should be – and why that decision could be a really big deal.

This is great news, Ian! Thanks for posting!
Unfortunately it appears that Sound Check’s values (thus playback volumes) still seem to fluctuate rather wildly when it comes to the music being played back. I can confirm your findings both in iTunes and also in iOS, but playing a mix of genres on shuffle still shows some styles of music have their volumes lowered far more than others. (Metal is a perfect example. Play something from Amon Amarth immediately following something from Laday Gaga for a demonstration of this.)
It also seems to not take bass into consideration. I can listen to a rock song at a comfortable volume but the hip hop track that follows it shakes the house down! To be completely honest, it seems as though Sound Check simply lowers higher frequency noise in order to maintain the illusion that the music is now “quieter.”
I agree that there’s room for improvement, but +/- 2 dB is far better than the +/- 10 dB we get without it. “Sound Check” is supposed to use a perceptual algorithm – I don’t know exactly how it works though. Certainly it’s not just an EQ or a peak measurement.
Not sure how it works either, but I don’t think it averages out a track’s volume. ReplayGain measures the track’s (and album’s) average volume and adjusts accordingly, but I don’t believe that’s happening with Sound Check.
If it is perceptual as you say, then some tweaking needs to be done, because going from genre to genre is still rather jarring (and requires turning music up/down). Is bass not “perceived” as much as upper-range frequencies? I guess if you’re assuming everyone is listening to music with the packaged earbuds…
Baby steps, I suppose.
2 Questions – I manually boost the volume of most of my songs in iTunes by going into the “get information” menu for each album, then into “options” and then “adjustment.” 95% of my songs have this boost, while about 5% that were mastered high are either not boosted or have the volume reduced.
So, the question is does “Sound Check” ignore the manual settings, or does it balance the songs with the manual settings taken into account? Similarly, does the Sound Check act merely as a limiter, or does it actually boost the db of low-volume songs? It seems the latter based on your “album sound check” video.
Thanks!
In my tests Sound Check ignores the manual settings and leaves them untouched, but they are still applied afterwards. So the manual changes will mess up the effectiveness of Sound Check.
Sound Check doesn’t work as a limiter, it boosts the levels of quiet songs and reduces the levels of loud ones. Some people have reported the volume boosts will never cause clipping, though.
Thanks for the info on this iTunes change. Many people use $rg2sc to translate Replaygain values into Sound Check format for use in iTunes, but it sounds like $rg2sc may be broken, since it only allows the writing of either track or album gain to the iTunNORM tag field, and it seems like the new iTunes contains both album and track gain adjustments in the iTunNORM tag field.
If you and/or Bob Katz could figure out what each of the ten hex values in the iTunNORM tag field represent, then others could revise $rg2sc to take advantage of the new feature.
Some links on apps that use $rg2sc:
http://id3.org/iTunes%20Normalization%20settings
http://www.hydrogenaudio.org/forums/index.php?showtopic=24620 (post 7 seems to be the source of all implementations, although mp3tag seems to have tweaked a bit (e.g, don’t need existing tag field)
https://pypi.python.org/pypi/flacsync/0.3.2
https://code.google.com/p/beets/issues/detail?id=173
https://code.google.com/p/quodlibet/issues/detail?id=511
https://github.com/sampsyo/beets/pull/97
http://www.vdberg.org/~richard/rg2sc.html
http://www.mani.de/en/ivolume/index.html
Thanks for the info – I won’t be testing those codes though, sorry 🙂