Spotify Volume Leveling / Normalization


Userlevel 2

Since I only found posts about this topic from a year ago or older, I wanted to check if there has been any progress for volume normalization when using a third party app (in my case Spotify).

The setting for it in the Spotify app is only applied on the device youre changing it on. Because those settings are not accessible in the Sonos app, there is no way to set it for my brand new Sonos setup (neither through Spotify nor Sonos).

The result is that the volume of the music varies frequently; often just slightly, but regularly its very noticeable. It happens often enough to degrade the user experience considerably.


This topic has been closed for further comments. You can use the search bar to find a similar topic, or create a new one by clicking Create Topic at the top of the page.

39 replies

I’m sure it won’t affect those users like yourself on S1 systems anyway @Kumar, as such new features would likely be destined just for S2 hardware.

I don’t make a point of writing here only on what will benefit me; to my mind, that is a puerile approach.

But I take the point that people are more interested in the unscientific benefits of Hi Res audio, so this aspect almost certainly won’t get the attention it deserves, a loss to all Sonos users that care about the listening experience as opposed to those that chase bits and bytes.

I opened a thread here on this topic four years ago, and there was not one response:-). Had it been a thread on Hi Res, it would have been like a flower to bees.

https://en.community.sonos.com/wireless-speakers-228992/volume-normalisation-across-albums-sources-for-consistently-high-quality-sound-6764671

I am just as annoyed with Amazon on this subject - they do not offer this via Spotify Connect/Amazon Music Cast when it transfers the music stream to Echo devices. But at least one can give a volume up/down command quickly via voice as needed, although this is also an irritating thing to have to do. Instead, Amazon is chasing the HD nonsense, even by pulling the cheap stunt of calling CD format as HD. And which, I suspect, Sonos is copying.

But hopefully sometime in the future Amazon will equip Echo devices with this feature and it will be a simple and cheap matter then for me to get it on my Sonos set up by replacing the Echos that are wired in to it.

Without going to S2..:laughing:

If the Sonos approach is to sit back and let the ownership of the quality of the listening experience of their customers pass to some one else…there is little more to say, unless one is a dyed in the wool defender of all that Sonos does.

And unlike Apple, it isn't as if Spotify has aspirations of selling hardware. 

I’m not sure from a Sonos perspective it would help to drive hardware sales higher, so maybe from their viewpoint it’s a matter of priorities. I can’t say I’ve seen a huge demand for this feature online, in a similar vein to requests to enhance the Sonos EQ settings, perhaps? - I’m certainly not against this (or the EQ) feature request by the way, but I don’t see them as something that would make me want to perhaps buy more Sonos hardware… I’m sure it won’t affect those users like yourself on S1 systems anyway @Kumar, as such new features would likely be destined just for S2 hardware.

If the Sonos approach is to sit back and let the ownership of the quality of the listening experience of their customers pass to some one else…there is little more to say, unless one is a dyed in the wool defender of all that Sonos does.

And unlike Apple, it isn't as if Spotify has aspirations of selling hardware. 

I don’t see how you can conclude a lack of updates from Sonos staff on a particular issue to mean that Sonos has no concern about the issue whatsoever.  Sonos certainly has a history of keeping things quite when they don’t have anything new to announce, don’t want to make a promise they can’t guarantee, or potentially risk throwing a partner company under the bus.   Of course, people will continue to assume silence = “don’t care” as that’s the default position when you don’t have better information to work on, and that’s a downside that Sonos communication strategy.  

Regardless of that, we do   know that Sonos has their own API they use for integrating streaming services with the Sonos player.  That has the benefit of presenting more consistent functionality on the speakers, a smaller footprint for API code, and streaming services don’t need to build out their own API. It also means that streaming vendors need to do the majority of the work for getting a stream working with features they want implemented, or that some unique features for a service can’t be implemented on Sonos (until they update the API, which could be a large undertaking, particularly if they need to build the logic to normalize the audio).  I am not saying normalization is a unique feature, just that it seems it’s not part of the Sonos API, and we don’t know of Spotify would send the data anyway.

Of course, Spotify could be an exception that uses the Spotify API instead of Sonos API, I don’t know.

The easy answer seems to me that Spotify could simply make the decision to add a setting with your Spotify account for normalized audio, to all players or just Sonos, and then only send normalized audio to Sonos speakers when a request is made.

If the Sonos approach is to sit back and let the ownership of the quality of the listening experience of their customers pass to some one else…there is little more to say, unless one is a dyed in the wool defender of all that Sonos does.

And unlike Apple, it isn't as if Spotify has aspirations of selling hardware. 

 

Sonos rarely, if ever, comment about something that is ‘owned/controlled’ by their partners.

I call that passing on the buck every chance they get, under a convenient cover story.

Then we will perhaps have to ‘politely’ disagree, as the information/data needed to do this is clearly ‘owned’ by Spotify. It’s certainly the place to start at the very least to get the answers to these questions. Only if they do share the information required, do I see it relevant to begin to ask such questions here.

As @ratty said earlier “…Confirm that the normalisation data is made available to Sonos”. 

 

Sonos rarely, if ever, comment about something that is ‘owned/controlled’ by their partners.

I call that passing on the buck every chance they get, under a convenient cover story.

I just read that. What I still don't understand that if that be the case - that the data isn't available - how does the Spotify app on the phone pull off this trick when played on the phone...why would Spotify want to hide this data from others, if that is what they are doing.

Should this question, and some of the others mentioned here too, perhaps be put to Spotify, rather than posted, in the hope that Sonos Staff will respond to them?

I think it’s highly unlikely that Sonos will mention what data/information their partners choose to supply them ..and Spotify are ‘perhaps’ slightly more likely to respond to these questions as it is their data source after all.

Sonos rarely, if ever, comment about something that is ‘owned/controlled’ by their partners.

The stream interface is between the Sonos player and the service’s servers. That’s where normalisation metadata would have to be available.

So that means that the Spotify app on the phone can do this when it interfaces with the servers. Why then can Sonos not do the same? Technical or commercial reasons for not doing this?

 

No idea, but see here:

 

I just read that. What I still don't understand that if that be the case - that the data isn't available - how does the Spotify app on the phone pull off this trick when played on the phone...why would Spotify want to hide this data from others, if that is what they are doing.

All dealt with here: 

Spotify offers average track volume information for every music file, that’s how the spotify app can normalise volumes.

Please confirm that the normalisation data is made available to Sonos via the cloud interface to Spotify.

 

It can’t be that hard to build that functionality into the sonos app.

The Sonos app doesn’t touch the stream. It’s a remote control. The functionality that's so ‘easy to build’ would have to go into all of the players.

Wait wait, on the one hand you want to make the claim that the spotify app is just a remote control, and doesn’t touch the stream, but on the other hand you also want to make the claim that the availability of the normalisation data matters to sonos? Have your cake and eat it too, much? So which is it?

Read again before diving into the cake. I said the Sonos app is just a remote control.

The stream interface is between the Sonos player and the service’s servers. That’s where normalisation metadata would have to be available.

 

It’s definitely possible - not sure if this is a new feature from spotify but average volume is available for any track, see https://developer.spotify.com/documentation/web-api/reference/#object-audiofeaturesobject

 

So, ratty, what you’re saying is that the Sonos player devs are not sufficiently talented to have the player use an API to get the loudness data from Spotify, as availability pointed out earlier in this very thread. Nice.

 

That’s twice you’ve misrepresented my statements.

To be fair, you haven’t exactly been charitable to the points I’ve been making either. Pointing out that the Sonos ‘app’ is just a remote control so that you can later on dodge what I’m very obviously saying about the player, on a reasonable interpretation, isn’t a great way to treat what I’ve been saying.

The stream interface is between the Sonos player and the service’s servers. That’s where normalisation metadata would have to be available.

So that means that the Spotify app on the phone can do this when it interfaces with the servers. Why then can Sonos not do the same? Technical or commercial reasons for not doing this?

 

No idea, but see here:

 

All dealt with here: 

Spotify offers average track volume information for every music file, that’s how the spotify app can normalise volumes.

Please confirm that the normalisation data is made available to Sonos via the cloud interface to Spotify.

 

It can’t be that hard to build that functionality into the sonos app.

The Sonos app doesn’t touch the stream. It’s a remote control. The functionality that's so ‘easy to build’ would have to go into all of the players.

Wait wait, on the one hand you want to make the claim that the spotify app is just a remote control, and doesn’t touch the stream, but on the other hand you also want to make the claim that the availability of the normalisation data matters to sonos? Have your cake and eat it too, much? So which is it?

Read again before diving into the cake. I said the Sonos app is just a remote control.

The stream interface is between the Sonos player and the service’s servers. That’s where normalisation metadata would have to be available.

 

It’s definitely possible - not sure if this is a new feature from spotify but average volume is available for any track, see https://developer.spotify.com/documentation/web-api/reference/#object-audiofeaturesobject

 

So, ratty, what you’re saying is that the Sonos player devs are not sufficiently talented to have the player use an API to get the loudness data from Spotify, as availability pointed out earlier in this very thread. Nice.

 

That’s twice you’ve misrepresented my statements.

I have maintained for years that the sound level changes in playlists are far more damaging to the listening experience than any damage caused by lossy codecs. The marginal loss of quality via these codecs is something easily compensated by the human brain. But no amount of brain trickery will overcome sound level changes from one track to the next.

Unfortunately, Sonos has jumped on the bandwagon of the more bits and bytes in Hi Res audio instead of addressing the elephant in the room, especially where multi album playlists  played in shuffle mode are concerned.

The stream interface is between the Sonos player and the service’s servers. That’s where normalisation metadata would have to be available.

So that means that the Spotify app on the phone can do this when it interfaces with the servers. Why then can Sonos not do the same? Technical or commercial reasons for not doing this?

Because for the Spotify app playing on the phone to do normalisation, the metadata has to be there on the servers? So something comes in the way of Sonos units not being able to use that information...

Spotify offers average track volume information for every music file, that’s how the spotify app can normalise volumes.

Please confirm that the normalisation data is made available to Sonos via the cloud interface to Spotify.

 

It can’t be that hard to build that functionality into the sonos app.

The Sonos app doesn’t touch the stream. It’s a remote control. The functionality that's so ‘easy to build’ would have to go into all of the players.

Wait wait, on the one hand you want to make the claim that the spotify app is just a remote control, and doesn’t touch the stream, but on the other hand you also want to make the claim that the availability of the normalisation data matters to sonos? Have your cake and eat it too, much? So which is it?

Read again before diving into the cake. I said the Sonos app is just a remote control.

The stream interface is between the Sonos player and the service’s servers. That’s where normalisation metadata would have to be available.

 

It’s definitely possible - not sure if this is a new feature from spotify but average volume is available for any track, see https://developer.spotify.com/documentation/web-api/reference/#object-audiofeaturesobject

 

So, ratty, what you’re saying is that the Sonos player devs are not sufficiently talented to have the player use an API to get the loudness data from Spotify, as availability pointed out earlier in this very thread. Nice.

Spotify Connect also does not deliver normalisation when used with an Echo device; the only way to get that is to connect the phone via bluetooth to the Echo . Again, a clunky way. 

I suspect that the same would apply to Google smart speakers.

@BadgerMan : When you say that Spotify can put normalisation into your dumb speakers, presumably this is via a bluetooth connection to them, or via a wire to their line in jacks. The latter would also work with Sonos kit that has line in jacks.

Spotify offers average track volume information for every music file, that’s how the spotify app can normalise volumes.

Please confirm that the normalisation data is made available to Sonos via the cloud interface to Spotify.

 

It can’t be that hard to build that functionality into the sonos app.

The Sonos app doesn’t touch the stream. It’s a remote control. The functionality that's so ‘easy to build’ would have to go into all of the players.

Wait wait, on the one hand you want to make the claim that the spotify app is just a remote control, and doesn’t touch the stream, but on the other hand you also want to make the claim that the availability of the normalisation data matters to sonos? Have your cake and eat it too, much? So which is it?

Read again before diving into the cake. I said the Sonos app is just a remote control.

The stream interface is between the Sonos player and the service’s servers. That’s where normalisation metadata would have to be available.

Spotify offers average track volume information for every music file, that’s how the spotify app can normalise volumes.

Please confirm that the normalisation data is made available to Sonos via the cloud interface to Spotify.

 

It can’t be that hard to build that functionality into the sonos app.

The Sonos app doesn’t touch the stream. It’s a remote control. The functionality that's so ‘easy to build’ would have to go into all of the players.

Wait wait, on the one hand you want to make the claim that the spotify app is just a remote control, and doesn’t touch the stream, but on the other hand you also want to make the claim that the availability of the normalisation data matters to sonos? Have your cake and eat it too, much? So which is it?

Spotify offers average track volume information for every music file, that’s how the spotify app can normalise volumes.

Please confirm that the normalisation data is made available to Sonos via the cloud interface to Spotify.

 

It can’t be that hard to build that functionality into the sonos app.

The Sonos app doesn’t touch the stream. It’s a remote control. The functionality that's so ‘easy to build’ would have to go into all of the players.

Ugh, another large corporation that completely ignores obvious user demand for a feature that would be of tremendous value to users and cost the company fuck all to implement. :rolling_eyes:

I agree that doing this would be far more useful than faffing around with the red herring of Hi Res audio, but I don't think any other make offers this either; it is not that easy to implement for music from streaming services, I suspect. 

Spotify offers this for music played on the phone, and it is then available on Sonos if the phone audio is sent to Sonos via bluetooth; but that is a clunky way when Spotify connect can move the music stream to Sonos - but via that mode, normalisation is lost.

 

Pretty weaksauce excuse, tbh. They’ve had people asking for this feature for at least 3 years, going by the posts in this forum. If they were interested in doing it, that’s plenty of time. Hell, they’ve developed a whole new app ecosystem in that time (S2), which has been criticised for removing features that the userbase actually liked in the original app!

 

Spotify offers average track volume information for every music file, that’s how the spotify app can normalise volumes. It can’t be that hard to build that functionality into the sonos app. Sonos are an audio company whose whole value proposition revolves around app control of their ‘smart’ speakers, which apparently aren’t smart enough to support volume normalisation.

 

If Spotify on my phone or desktop pc can put its normalisation onto all my other dumb speakers but not Sonos’ smart speakers, and Sonos have been getting the request for MULTIPLE YEARS that’s not because it’s hard for Sonos to do it, it’s because they don’t CARE to do it.

Ugh, another large corporation that completely ignores obvious user demand for a feature that would be of tremendous value to users and cost the company fuck all to implement. :rolling_eyes:

I agree that doing this would be far more useful than faffing around with the red herring of Hi Res audio, but I don't think any other make offers this either; it is not that easy to implement for music from streaming services, I suspect. 

Spotify offers this for music played on the phone, and it is then available on Sonos if the phone audio is sent to Sonos via bluetooth; but that is a clunky way when Spotify connect can move the music stream to Sonos - but via that mode, normalisation is lost.

Ugh, another large corporation that completely ignores obvious user demand for a feature that would be of tremendous value to users and cost the company fuck all to implement. :rolling_eyes:

Just spent an awful lot of money kitting out an entire bar with Sonos speakers, never even dreaming that this would even be a issue in 2021.

 

But apparently it is. A big issue. And one that makes the sound system in our bar almost unusable. 

 

And apparently Sonos can’t even be bothered to respond to this thread let alone sort the issue?

 

Sort yourselves out, Sonos, or the whole lot is going on the dump...

Userlevel 1
Badge +1

I simply don't understand why this most fundamental of features is not part of Sonos. Any playlist takes songs from different albums, all of which have different volume levels. It's not even like it's a rare thing to experience. It's such a major part of the UX, and it takes the edge off the listening experience for me. 

 

Surely being able to set a consistent volume that raises and lowers levels by track isn't that complicated, when you consider what else Sonos can do? 

Would be lovely to get an update on this.

It’s definitely possible - not sure if this is a new feature from spotify but average volume is available for any track, see https://developer.spotify.com/documentation/web-api/reference/#object-audiofeaturesobject