OK, I think I've found the/a problem.
I created a whole bunch of test playlists, working through as many permutations as I could think up that would soak test the volume levelling engine. The results summary:
Using volume R128 normalisation, the target for playback volume is -23 LUFS.
1. Single tracks: -23 LUFS [good]
2. Random track playlists from different albums: -23 LUFS [good]
3. Random track playlists that might contain tracks from same albums, but never consecutively: -23 LUFS [good]
OK, so all the above are good. A consistent volume playback, as expected. No sudden volume surprises.
Albums:
When MC plays an album, it volume normalises in "album mode" to preserve the dynamics between album tracks, as it should. [good]
The problem, though, is when we (humans) think we are in random playlist mode, ie a party mix, an ipod car mix, an exercise mix etc, and there are, by chance or design, consecutive tracks from a same album in the playlist. Then MC gets it wrong. It plays all the random tracks consistently at -23 LUFS [good], but for the consecutive album tracks it suddenly switches into album mode and there is a volume change. [bad]
These two charts show the same three tracks (two from the same album), first in non-consecutive album order, and then in consecutive album order:
1. Three tracks, two from same album but separated from each other by the third, non-album, track: [-23 LUFS, GOOD]
2. Same three tracks, this time with two tracks from same album next to each other: [Not -23 LUFS, BAD]
You can clearly see that MC treats both "random" playlists differently, with the second showing a swing in volume of 5-6dB. And I think this is the root cause of the problems people are hearing with mixes: every time consecutive album tracks appear, MC switches into "album mode" and there are sudden, sometimes very large, volume changes.
The solution seems obvious:
IF a playlist contains only tracks from one album - only use "album mode"
IF a playlist contains tracks from multiple albums - only use "playlist mode".
And NEVER switch between the two modes once play has started. Conversion processes should also respect these rules.
It seems to me that the way MC volume levelling logic currently works is causing the issues being reported with random playlist volume swings and is actually potentially dangerous: imagine wearing headphones where you've set them to a comfortably loud -23LUFS setting and then it suddenly jumps into dangerously loud "album mode"...
Thoughts?