Skip to main content
Contributor I
October 11, 2021
Answered

Auto volume levelling... still an issue???

Surely the levelling of volume is achievable? Yes it would mean analysing the tracks and making calculations to play louder or quieter than the previous track(s) but this shouldn’t be asking too much given the tech in the Sonos gear/software/infrastructure?

It’s my major gripe with the system in that if another system came out claiming to deliver on that one thing I’d consider swapping and selling all my 12 Sonos bits.

Surely it’s on a roadmap somewhere?

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.
ratty
rattyAnswer
October 12, 2021

maybe analysis on load and a subtle volume change after 10-15 seconds?

Yuk. Not an experience I’d enjoy at all.

 

I get it’s difficult, but not impossible… I hope

A complete re-architecting of the audio pipeline, including a parallel thread to look ahead at the entire track while the main thread plays it out real-time? Many of the players probably wouldn’t have the CPU and/or memory to cope. In any case it would be a serious upheaval.

Besides, analysing every track, every time it’s played, would be hugely inefficient. Much better to receive, and respect, gain adjustment tags. Sonos does this to a degree on local music: the REPLAYGAIN_TRACK_GAIN tag has some influence. As I said at the outset, I don’t believe any of the services actually send gain metadata.

14 replies

melvimbe
October 12, 2021

Perhaps worth noting that Sonos Move and Roam already have auto trueplay tuning to do while tracks are playing.  Adding in processing of current and next tracks to sort of smooth out the volume would be an additional complication.

Also, it’s not that uncommon for tracks to vary greatly in volume throughout, intentional by the artist.  Not the best example out there, but Bohemian Rhapsody comes to mind.  I’m not sure how you could take a 10-15 segment of that track and determine how to properly set the gain to match the next track in the queue.  And of course, that only applies if there is a queue, which cannot exist when the source is aux input or TV.

Danny
ratty
October 12, 2021

Not the best example out there, but Bohemian Rhapsody comes to mind.  I’m not sure how you could take a 10-15 segment of that track and determine how to properly set the gain to match the next track in the queue. 

The same way it’s done today, I guess, by integrating the average loudness across the entire track. According to my records Foobar2k produced a ReplayGain adjustment of -4.2 dB (against the standard 89 dB target loudness) for the version on ‘Greatest Hits I’.

Volume normalisation remains something of a forlorn subject as far as Sonos is concerned. Hidden away, no longer admitted to (the FAQ article has long since disappeared), and only partial in its implementation.

Given where we are, with the diversity of sources, buzz’s suggestion of a dynamic range compression option makes a lot more sense. I’m sure there’s DSP expertise in Sonos to implement it; after all there’s already soft-knee limiting being applied on the Port/ZPx0 digital outs in Variable mode.

melvimbe
October 12, 2021

Not the best example out there, but Bohemian Rhapsody comes to mind.  I’m not sure how you could take a 10-15 segment of that track and determine how to properly set the gain to match the next track in the queue. 

The same way it’s done today, I guess, by integrating the average loudness across the entire track. According to my records Foobar2k produced a ReplayGain adjustment of -4.2 dB (against the standard 89 dB target loudness) for the version on ‘Greatest Hits I’.

 

I meant to say 10-15 seconds of the track.  I apologize.  I agree that you could determine a gain adjustment using the entire track.

 

 

 

Danny
ratty
October 12, 2021

Not the best example out there, but Bohemian Rhapsody comes to mind.  I’m not sure how you could take a 10-15 segment of that track and determine how to properly set the gain to match the next track in the queue. 

The same way it’s done today, I guess, by integrating the average loudness across the entire track. According to my records Foobar2k produced a ReplayGain adjustment of -4.2 dB (against the standard 89 dB target loudness) for the version on ‘Greatest Hits I’.

 

I meant to say 10-15 seconds of the track.  I apologize.  I agree that you could determine a gain adjustment using the entire track.

Ah, right. That’s more like a dynamic range compressor then, with attack and release times.