”More
Dynamic Range Day - Loudness War Protest

Production Advice

make your music sound great

Why I was wrong about Spotify

Image by Marco Mutzke - Click here for more info

Or, the importance of critical listening

Do you trust your hearing ?

Should you ?

There were several factors that led to me putting my foot in my mouth last week – or, my keyboard, perhaps that should be – in a post where I incorrectly announced that Spotify’s “Volume Normalisation” feature makes everything sound terrible (It doesn’t)

This post describes my mistakes, and contains some words of caution for anyone trying to decide if one thing sounds better than another. First I’ll tell you the factors that lead to my wrong conclusions, then I’ll explain how they tripped me up.

(If you haven’t already read the post in question, this will make more sense if you do.)

Here are the factors that caught me out:

1. The ‘Smile Curve’ or Fletcher-Munsen Effect

In a nutshell, loud things sound brighter and bassier than quiet ones. So, play someone two identical pieces of music but boost the level of one by half a dB, and that’s the one most people will think sounds better.

This effect may be an evolutionary mechanism, to help us react better to threats that are close. It’s the reason some amps have a “loudness button” – to boost the bass and treble at low volumes. And it’s also a driving factor behind the loudness war – in the quest to sound better, the temptation to simply make things a little louder is too strong, and levels gradually creep up over time.

2. Level-matching is critical

It follows-on naturally from the “smile curve” that whenever you’re comparing two bits of audio, it’s essential to level-match them first. Bear in mind though that this isn’t always easy – should you match peak level ? Average level ? Perceptually weighted level that attempts to take the smile curve into account ? Whatever method you choose, when judging fine details, tiny level differences can make a big difference.

3. Listener Bias

You should always go into a listening test with an open mind. Any prior assumptions will colour your results. In fact, in a true scientific test, even the person doing the testing doesn’t know what the person being tested is being listened to – the so-called “double blind”.

4. Too much trust in labels

Just because you can enable or disable a feature in a program’s settings doesn’t mean that you have complete control. Don’t read too much into the way something is labelled.

In my testing of Spotify’s Volume Normalisation, I fell foul of all of these factors.

Where I went wrong

First – I was a biased listener. I was investigating allegations made by lots of people that Spotify’s normalisation feature made things sound “flat” and “empty”. I also had my preconceptions that the U2 and Imogen Heap albums didn’t sound as good listening with Spotify as they did from CD or my iPod.

Second – I didn’t level-match first, I just disabled the normalisation feature. Since the tracks I was listening to dropped in volume, the smile curve did it’s work and they didn’t sound as good to me as the louder un-normalised versions.

Next though, I did the right thing – the Fletcher-Munsen effect is an everyday fact of my work as a mastering engineer – it’s why level-balancing is a key aspect of mastering. So I did the right thing – I level-matched and listened again. At this point, my confidence wavered, and I posted on Twitter about it.

Next I did a null test – and of course this revealed the limiter pumping I posted about originally. Unfortunately for me, because of my listener bias I then jumped to completely the wrong conclusion -

Third – I didn’t level-match accurately enough – which is why there is some fizzy, “toppy” stuff left after my null test. But more crucially my listener bias got in the way again – I assumed that since I could hear a difference between the two, and I already thought one sounded worse, that it did. Adding to this misconception was the final factor:

Fourth - Spotify’s options clearly allow you to enable or disable “Volume Normalisation”. I wrongly assumed that Spotify disabled all processing when normalisation was off.

Big mistake.

As I described in the original post, Spotify has a limiter which stops quieter, more dynamic tracks being distorted when their volume is boosted by the normalisation feature. What I didn’t realise is that this limiter is always on - even when “Volume Normalisation” is off.

At first sight this may sound bizarre – why would you need a limiter, if you aren’t changing the level of any songs ? And even if it’s on, why would it be doing anything to audio whose level hasn’t been changed ? The answer is the final factor I failed to take account of:

Inter-sample decoding peaks

There’s a reason Spotify’s limiter is enabled all the time – that’s because most CDs recorded today, when decoded from mp3, AAC or Ogg Vorbis files – as in Spotify’s case – contain inter-sample peaks. There’s not enough space here to discuss them in detail, but the short version is – most CDs mastered in the last few years will be going “into the red” when they are decoded.

So, a player like Spotify needs to make a decision – should the resulting audio just be allowed to clip, should it be turned down, or should it be limited, in an attempt to minimise the distortion ?

Since the “Volume Normalisation” feature turns tracks down, and users complained, it’s not entirely unreasonable that this shouldn’t happen when the feature is disabled. And, digital clipping distortion sounds bad, so limiting sounds like a reasonable solution, right ? Well, maybe – see the end of this post. Meanwhile:

Summary – why I was wrong about Spotify

  • The differences in sound I heard and detected with the null test are because Spotify adds extra limiting to high-level tracks when “Volume Normalisation” is disablednot when it’s enabled
  • This is because high-level audio goes “into the red” when decoded from the Ogg Vorbis stream used by Spotify
  • Which is a limitation of the encoder (and lossy compression in general) not Spotify
  • Limiting is a sensible way to deal with this, but changes the sound a little on high-level audio
  • The “normalised” versions are closer to the original but don’t sound as good because of an aural illusion – the smile curve or Fletcher-Munsen effect (Or, because they were lower-level to begin with, and people don’t like the sound of Spotify’s limiter)

So, where does that leave us ?

Well, it leaves me with egg on my face, and Spotify in the clear. It’s particularly embarrassing for me, since as a mastering engineer I deal with all the issues I’ve raised here on a daily basis – I should have known better !

One final question remains, though.

Is limiting high-level decoded audio the right thing for Spotify to do ?

I blind-tested myself quickly and 5 out of 6 times I correctly spotted the limited (not-normalised) audio. The kick drums and bass end in general have less impact. Ironically the people who petitioned for the “disable” option on Spotify’s normalisation setting haven’t picked up on this – but perhaps they are listening to music that was lower-level to begin with.

Personally I think Spotify would be better to simply reduce the output of the decoded streams a little, instead of limiting them.

Designing a great-sounding limiter is no easy task, which is why companies like Waves and TC Electronic can charge thousands of pounds for the ones they’ve developed.

I can hear Spotify’s limiter working, and it’s changing the audio more than I would expect. The decoded OGG streams would only need to be reduced a little to prevent clipping distortion, and would sound better as a result.

Conclusion – back where I started – I love Spotify

I don’t want to make a huge song and dance about it though – most users will never run into the details of the limiter working, and even fewer will be worried by it. In the meantime, Spotify have done the right thing – songs are normalised by default, making the Loudness Wars a non-issue, and if the practise spreads, overall this may be the biggest disincentive ever to making music unnecessarily loud, which can only be a good thing.

Now, if you’ll excuse me, I’m off to get the phrase “level-match before listening” tattooed onto my forehead…

(Image by Marco Mutzke)

   

Related posts:

  1. How Spotify will end the Loudness Wars

facebook comments:

19 Responses

  1. Nick says:

    For me there is a lot of psychology in this. I’m still not 100 percent convinced. Does it matter if you are using the high bitrate or is it more of an issue with the ogg vorbis q5? Thanks for taking the time for all this!

  2. You clearly needed Michael Winner to be on hand.. “Alright, Ian, calm down, you only need to level match…”

    Just don’t buy the insurance.

  3. Nice one man says:

    Testament to your open-mindedness. Usually off my face by the time Spotify comes on, which ‘enhances’ my ears to the point where signal processing is undetectable :-)

  4. Ben Walker says:

    Thanks, Ian. I found this post and your original (corrected) one really interesting. I haven’t had a chance to use Spotify too much in a ‘serious listening’ way, so I was intrigued by the quality/limiting issue.

    Mostly though, thanks for being super-honest and admitting that you got it wrong. I’ve learned a lot through your initial response, your corrections and your subsequent explanation, and I’m sure others have/will too. Mucho respect. ;)

  5. ML says:

    Thanks for a very interesting bloggpost. It is always nice to hear from actual professionals about sound issues.

    As a listener that likes modern music but also good sound, I’m getting more and more disinterested in buying CDs since they typically sound like crap nowadays (prime example: latests Metallica). For me, Spotify with volume normalization is great, since I don’t have to care about how to normalize songs myself.

  6. Tom says:

    Thanks for that post, very interesting to hear how a pro can be misled.

  7. I feel better about being a musician and knowing nothing about audio quality. I mean it’s the notes that matter, man, isn’t it? Thanks Ian, you’ve boosted my confidence!

  8. Ian Shepherd says:

    Thanks chaps !

    @Nick – I hear what you’re saying, but the “psychology” bit only explains why I messed up my testing. The simple facts are that with normalisation on, the audio is identical unless it is a low-level track that got boosted. Loud tracks with normalisation are being limited a little more, and the sound changes as a result

    @Dean & Nice One Man – Lol !

    @Ben & Tom – Thanks, I appreciate it

    @ML – I feel and share your pain :-s

    @Pete – Ha ! From what I’ve heard you’re doing a pretty good job with your audio quality, despite claiming to know nothing ! But yes, at the end of the day itt is the notes that matter, and that’s worth remembering

  9. Jens Eklund says:

    Are you aware of the fact that when the volume normalization is on, the gain reduction caused by the limiter is 3-6dB? In other words, quite a bit more than when the feature is of…

    The reason for this being that due to a lot of complaints about the low level, they decided to increase the general level when volume normalization is on (and this means, of course, that you need to limit harder since you can’t play back louder than 0 dBFS).

  10. VIOZ says:

    Hi. I once tried to make a compilation cd for myself and i wanted every track to sound at equal volume, so i used a “replay gain” application, i wrote down the values and then i used an audio editor to turn them down. The result was “flat”, “lifeless”, etc. sound; I guess it has to do with the 16-bit resolution. So my question is: does features like Spotify’s “Volume Normalization” change the data of the file or just “tells” the player to turn them down or up? I’m sorry that i am such an ignorant. Thanks.

  11. Erik says:

    It DOES sound better with normalization disabled. I’m positive. I can’t explain why, I’m just convinced that it just is that way. Try some more double blind testing. Thx for an interesting blog post anyhow.

  12. Ian Shepherd says:

    @Jens – Yes, I know about the level lift, but this only has an effect for tracks that are quiet/dynamic to begin with. So for example, the Coldplay track I used as an example in my original post is reduced by approx 3dB overall, even with the “boost” taken into account. So tracks with a DR10 or less will be reduced, and not processed further.

    Bottom line – if the track sounds quieter with normalisation on, it has NOT had extra limiting or processing.

    @VIOZ – Spotify applies the gain change, then passes the audio to the computer for playback. So it changes the data, but only a gain reduction. Strict ReplayGain adjustments involve quite a big reduction, which may cause the differences you’re hearing – but, it’s important to match the level again for any comparisons ! As soon as you compare two things at different playback levels, you can’t make accurate comparisons. Do the tracks still sound flat/lifeless if you turn them back up again ?

    @Erik – There are two possibilities:

    1 – If the tracks get louder with normalisation ON, then you are hearing the limiter working on a dynamic track, and yes – in this case they will sound better with normalisation off.

    2 – If the tracks get quieter with normalisation on, then I disagree – the limiter will not change the sound at all because all Spotify does is turn the level down. No listening needed, I’ve seen the raw data to prove it, now.

    If you prefer the non-normalised sound when level-matched to the normalised version, it’s just because you prefer the limiting of the higher level level.

  13. Thomas says:

    Interesting answaer you give Erik. If dynamic tracks sound better with normalization off and nomalization only turns the level down on other tracks(no difference) the obvious choice to me seems to turn normalization off.

  14. Ian Shepherd says:

    @ Thomas – It depends how you listen ! If it’s mainly albums, then Yes, by all means switch normalisation off – because you can set the level and listen with the original dynamics. But lots of people listen to players like this in “Shuffle”, “Scrobble” or “Radio” mode, where tracks can come in from almost any album, so the levels may jump around a lot. In this case personally I want normalisation.

    I should also qualify what I said in that reply, actually – if you’re listening to a track and it’s louder with normalisation on, then you *may* be hearing Spotify’s limiter working, and it *may* sound better with normalisation off – or, there may have been plenty of headroom in the original track, in which case there will be no limiting. And, the effect of the limiter will be quite mild on most music, anyway.

    Finally, if you listen to lots of modern stuff, where the levels are “up there” already, then personally I don’t want to hear another limiter working, even just to deal with overlevels in the decoded stream, so again I would leave normalisation on…

    This stuff is never simple !

  15. Sorcerer says:

    Yet, there is something weird about the way tracks in Spotify sound!

    For some reason high frequencies (like made by hi-hats, or in human voices when pronouncing the letter s) sound slightly distorted. It actually sounds a tiny bit jittery (as if the hi-hat sound is mixed with static), though it’s clearly a different kind of distortion than clock-jitter: much less intrusive.

    Lower frequencies sound a tiny bit less accurate than on the cd version. Can’t put my finger on that but it just feels a little less “tight”.

    All was tested with some Michael Jackson tracks, because they’re mastered pretty well (unlike most music these days) and contain lots of high frequencies. I notice it on all Spotify music and hope it’s a processing thing in the client that they can solve. Also it was tested by connecting my pc to my av-receiver by hdmi (set to 44100 Hz 16-bit pcm sampling). Cd’s were played by the same pc so all hardware was 100% equal.

    Conclusion:
    Spotify is a great service and sounds great. My audio-setup allows for great detail in the audio and this is something Spotify can’t deliver. I’m pretty confident you won’t be able to hear the difference on a set of pc-speakers or even a normal consumer music system though.

  16. Ian Shepherd says:

    You may be hearing the lossy compression (Ogg Vorbis) or it may be the fact that Spotify doesn’t use dither when normalisation is on… but that’s a whole other blog post !

  17. Togo Dan says:

    Spotify just sounds like a good quality FM radio station to me, no better or worse than that. CD’s and even Apple store aac plus 256k downloads are noticeably better sound quality wise…just my humble opinion.

  18. I wanted to love Spotify; really I did. But it is painfully obvious that the limiter is present at all times, and it is not graceful at all. (and despite other comments, by the way, this has NOTHING to do MP3 or Ogg Vorbis compressions algorithms). Try this track (It’s live Tower of Power):
    http://open.spotify.com/track/4WINZx2HCqtYoyMhLagUNM

    Every time the horns stab, the limiter pumps horribly. Not just “yeah , if I pay attention, I can hear it”. Yes, this is an extreme example because of the dynamic range of this track, but this is just pathetic. Yes, I’m an audio engineer, but I really do understand enough to make allowances as to what to expect from a streaming audio service. Pandora does a much better job of limiting/normalization dealing with the exact same issues.

    Bottom line: Spotify could do a MUCH better job with the implementation of necessary audio dynamics, and it is needlessly damaging the listenability of their service. So to your question: “Is limiting high-level decoded audio the right thing for Spotify to do ?” my answer would be… Absolutely not, at least with the particular settings they are using.

  19. Jyrki says:

    I have a Sonos system and I have been generally pleased with the Spotify service. I leave all normalisation settings off because I like to avoid any additional processing to the audio stream done by the playback system.

    The implementation of the Spotify in Sonos system differs from the normal way of running the Spotify program on PC or mobile phone. In Sonos you can’t control the normalisation setting at all. I asked about this limiter issue from Sonos and Spotify.

    Spotify replied that they are not manipulating the ogg files in any way and they are as is. Sonos claims that they are also streaming the ogg files as they are from Spotify. So this alleged limiter is either implemented at the user’s PC during the ogg vorbis decompression or Spotify is manipulating the audio files during the ogg vorbis file creation. If the limiter is applied at the decompression it could be that the Sonos system doesn’t apply it.

    What comes to Neal Mathews comment on the limiting: One can never be sure about the source material that has been provided to Spotify by the record companies. Many times there can be several versions of the same record available in Spotify. Typically the newest remastered versions suffer from the loudness war type of limiting. Quite often the remastered version is also the only one available in Spotify. You can’t compare the audio files unless you are sure that the originals are the same.

Leave a Reply

SOLUTIONS
INDEX
RESOURCES
BOOKSHOP
FAQ
 

Praise for Production Advice

"Your ears should be insured for trillions. Thanks for all the superb work on my tracks."
Read more of what people are saying and judge for yourself

Ian Shepherd


 

Listen to Ian on BBC Radio 4

Please install Flash plugin

Ian Shepherd from Production Advice discusses the Loudness Wars

Connect

 

Recommended

 

Tag Cloud