Question

Connect no longer bit-perfect?


It looks like the Connect is no longer bit-perfect. Here's my evidence: let's discuss this.

First, I constructed a wav file of pink noise with amplitude ramping up from zero to digital max and back to zero.
I play this through my Connect and record the SPDIF output from the coax output into my PC.
The recording uses a Scarlett 8i6 audio interface set to use the Connect as master clock.
I record into a DAW (Sonar) multiple times - all instances are identical.
However, this recorded signal is not quite the same as the original wav file - it can be up to -21dB different.
See https://www.dropbox.com/s/t8od479xo9hi5el/connect_diff.PNG?dl=1
Note the expanded scale on the difference (third) track.

It looks like the difference gets larger when the signal is larger. To confirm this, I import the
original and difference files into Matlab and plot the raw data (difference vs original). There is clearly audio compression
happening here. See https://www.dropbox.com/s/p1yq6wcqafvnhaj/diff_vs_orig.png?dl=1
The scale is such that digital maximum is 1.

There also appears to be a slight bias when the waveform is negative and the signal is below the
compression threshold. See an expanded version of the previous plot
https://www.dropbox.com/s/9001tl9mkle4wly/diff_vs_orig_zoom.png?dl=1

Happy to answer questions about the method and conclusions.

Cheers, Peter.

p.s. Volume is set to fixed - I haven't tried variable.
In a loopback test (8i6 out from DAW to 8i6 in, no Sonos gear involved), I get bit-perfect cancellation.

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.

453 replies


Agreed. I also think Sonos also need to consider extending the casting solution they implemented as part of the Google Play Music integration far wider, at least on Android devices, with the aim of achieving parity with Google Cast.

Just so I understand - will this mean that any native app in use on an Android device, that allows casting will play on Sonos speakers, controlled via the native app?
Essentially, yes, although there may be some restrictions.

For instance, Google Cast does not allow casting from the Youtube app to the Chromecast Audio, but does allow casting of AV to standard Chromecast. I'm not sure if this restriction is a specific limitation that Google has encoded into the Youtube app or whether there's a generic audio framework thing which allows audio devices to be categorised in some way. I'm also not sure if there are any legal/licence restrictions on this.

Also, it's important to consider there's two types of casting: pull and push.

Apple's airplay seems to exclusively use push casting, where the audio/video being cast traverses the device initiating the casting. This has the advantage of simplicity of implementation (as it's just an audio layer similar to bluetooth audio) but it has some disadvantages in that the stream is highly dependent on the device and it's network connection, and more prone to dropouts. There's also additional load on the device which has implications, especially on battery life. It also means content is traversing the wifi network twice, and therefore put a greater load on the network, which in some conditions could increase the chances of dropouts.

Sonos largely works on pull, where the content is fetched from the source and the device initiating it isn't used. This has the advantage of using less network bandwidth and not being reliant on the device or it's wifi signal. The exception to this is when you play music "On This Mobile Device", although I suspect the same mechanism is actually used, with some sort of mini streaming server running on the device. This mechanism is focussed on streaming specific content rather than generic audio from the device. The disadvantage is that it's not as well suited to generic audio as push (for instance, if you wanted to use Sonos as a speakerphone for phone calls, or to play the audio from a game on the device). It also requires the playback device to support the audio encoding standard being used directly.

Chromecast seems to use both methods (although it may use pull as the basis and set up a streaming server on the device in cases where audio is streamed directly from the device).

So, it's a complex situation which is likely to be made worse with specific content restrictions, proprietary formats, DRM, and so on. So, whilst it's easy for me to say they should do this, the reality of doing it may not be so simple.

Cheers,

Keith
Thank you for that explanation, Keith. In my case, being able to use Sonos speakers in the same way that Chromecast Audio works in principle, is of more interest than voice control. I found the CCA UI to be clunky though, and it makes no sense for me to wire one to a Sonos line in even though I have a couple of Connect Amps, and CCA unit in a desk drawer.
Userlevel 7
Badge +26
Hey guys, great discussion so far. It's great to see popular topics like this with everyone getting along.

I wanted you to know that this is something that I've made sure to share with the development team. I don't have any specifics I can share, as we don't talk about what's coming generally, but if is anything I'll let you guys know.

Since it was brought up, we're definitely looking into some more direct control integrations with services, both improving what's existing, and adding new partners too. Spotify Connect was a great addition and we're looking to add more integrations like this in the future. And as most of you know, we also have some teams hard at work bringing voice control to Sonos too.
Hi Ryan

Returning to the original topic of this thread (Connect output not bit-perfect - compression and normalisation is always applied), you said 5 months ago that Sonos was looking into this. This was confirmed to me in a private email from Patrick Spence 3 months ago. What is the status after all this time? There have been several updates to the software since then and nothing has happened. Should I assume that this is now no longer being looked at, that Sonos does not consider this issue to be important, and that the undefeatable DSP will remain?

Cheers, Peter.
Userlevel 7
Badge +26
Hi Peter, it's still being looked into. There's a lot of different projects and work that's always going on at Sonos, and a software update usually has been in the works for months before it gets released. There are months worth of testing well after all the features for an update are finished, and unless a big issue is found, that update is pretty much out the door. But even then, the next couple updates are usually being worked on too, in various stages of development.

We don't usually talk much about what's coming up in the future, timelines change and all sorts of things can come up. But this topic hasn't been forgotten or shelved. The CONNECT's output and handling of volume normalization is being looked into by the right teams. I can't share anything specific or a timeline, but I'll let you know if anything new comes up we can say.
Thanks Ryan.
Quote Ryan " volume normalisation is being looked into"

Playlists are a vital feature of Sonos, and shuffled ones are a part of that feature. As is the ability to build a playlist from multiple sources - from more than one CD, or even from NAS + Streaming Services. Or from two streaming services.

If this feature is to be at its best, it is necessary that at the same volume level on the controller, the same sound level is obtained from all tracks from any of the above types of playlists, via a higher/smarter normalisation capability.

Today this definitely isn't the case, so I trust that this aspect of volume normalisation is also being investigated. Changes in sound levels in mixed source shuffled playlist use are large enough at times to be distracting.
Userlevel 3
Badge +2
I think that may be a difficult thing to achieve, Kumar. I am certainly no expert in this area, but how would a Sonos device know what level of normalisation to apply to each track in a playlist without first analysing all tracks in the entire playlist? If the compression levels and volume markers in each song are markedly different throughout the tracks in a playlist, it seems a lofty goal to have the sound level maintained throughout the entire playlist (at least without introducing excessive compression levels). Plus is it not possible when including tracks from streamed sources such as Spotify and Apple Music that the source track may change from time to time?

Again, this is beyond my technical expertise and I am genuinely interested in how volume normalisation would be accomplished.
Ken, that is why I used the word "smarter" in my request! Here is how I think it can be done though - in a playlist, Sonos has advance knowledge of the next song - how do I know this? When I play any Apple Music playlist, only the first song takes time to start; the same thing happens if I jump to the middle of the list. But when I let the playlist run undisturbed in straight or random mode, there is no such delay from one song to the next.

If this advance next track information is available in the buffer, the information to do the normalisation is available to Sonos.

So goes my logic, I could be wrong, but I think this feature is far more important than all the controller cosmetic rearrangements that Sonos does every few months.
Volume normalisation between local and online tracks would be relatively straightforward if:
- the services consistently added a normalisation tag (e.g. REPLAYGAIN_TRACK_GAIN to 89dB reference level)
- Sonos consistently dealt with the normalisation tag provided (it doesn't, and TTBOMK never has)
Right; so if there was a will there is, even today, a way?
Given Sonos' (lack of) enthusiasm for sorting out normalisation for local tracks I can't say I'm optimistic about the chances of a consistent approach across local and online sources. Besides, we know that the proportion of customers -- certainly new customers -- with local libraries is relatively low. And I'd imagine that most users of online services tend to use just one such service the bulk of the time.

That's not to say that Sonos might not look at normalisation for, say, Spotify if it supplied suitable tags.
What you are saying then is that the obstacle to this is not technical, but commercial - for lack of a better word for that.

Circling back to the thread itself, what was really achieved with this change away from bit perfect? If the answer to that question is - nothing much - is it a big thing to revert to bit perfect?

Circling back to the thread itself, what was really achieved with this change away from bit perfect? If the answer to that question is - nothing much - is it a big thing to revert to bit perfect?


Here's one possibility: iTunes calculates and stores the ITUNNORM tag in mp3 and ALAC files when ripping a CD. This tag contains information about the average track volume, and also the track's maximum volume. Sonos uses this information to adjust the playback volume. If the iTunes calculation has small errors, it is possible the track will be played back too loud and clip. One way to fix this is to limit the signal using either a compressor or brick-wall limiter.

Actually, I now think that Sonos applies a brick-wall limiter because the signal absolutely cannot exceed 90% of full range, and there is no attack or decay on the limiting. A compressor can still clip, although a modern smart compressor with look-ahead is much less likely to. The 90% limiter that Sonos uses is a bit extreme, but this might make up for a lack of look-ahead in the limiter they use. Sonos would also be better off using a decay time on the limiter as well.

It should still be really simple to disable all DSP in fixed volume mode and provide bit-perfect output.

Cheers, Peter.


It should still be really simple to disable all DSP in fixed volume mode and provide bit-perfect output.

Did you notice any audible improvement in the normalisation feature performance subsequent to this change? If you did not, and nor did anyone else, the obvious question is that the above should not be a big project needing resources?
Are you asking me? I guess I don't understand the question. What change are you referring to?
The first question was to you, the second slanted towards Sonos! To you - do you find that volume normalisation now works noticeably better than it did when the Connect output was bit perfect. If the answer to that is no, the second question arises.

I have found no difference in how volume normalisation doesn't work well from the time I am using Sonos - 2011.
I wasn't even aware of volume normalisation when the brick-wall limiter got introduced (version 6.0 of the software if I remember correctly). I've done a lot of learning since then. And I certainly can't ABX this change! So I can't answer your question.
Userlevel 5
Badge +4
I think this was introduced when certain tracks caused some serious clipping, Mainly from streaming services. It was almost like the Sonos units themselves were adding gain.

I know Meridian have a -3db across all channels on their processors on the volume side, this is in case you want to add any DSP functions, such as their Trifield setting, where increasing the width might actually add -0.5db to the main speakers and push them into the realms of clipping.

But any normalisation should be done in the analogue domain, not applied in the digital domain, well certainly not when the output is set to fixed.

This should be a very easy firmware upgrade.


I actually came on here to ask if there was a new higher end product coming out that would allow higher res files and MQA decoding as after trying things like the Meridian MS200 and even their cheap explorer 2 (£129) going back to the Connect sounds incredibly flat, almost like the soundstage has collapsed. Seeing this thread might explain why that now is, not the fact the Sonos Connect is really bad, just that it is reducing volume in the digital domain and therefore throwing away resolution.






I really like the Sonos gear, my Play 5's are fun, the Connect Amp does a fine job for the bedroom, the interface and the way I can search Soundcloud, Spotify and Tidal is great, plus being able to stream from my iPhone is also nice, and now you can see the Sonos gear as endpoints/zones from Roon it is a even better, but I do wish there was a higher end unit for serious listening on the main system.

With all the other options out there now, and with the price increases many are jumping ship, and the only reason is the fact audiophile has moved on from 16/44, it has been 12 years now since Sonos came out, my ZP100 is 12 years old, my ZP80 (or maybe it's a 90) is probably 11 years old.
They sit there happily playing, but where is the product to get me buying more from you?

If you brought out a Connect pro that played Tidal's MQA files and the HiRez (even if it were up to 24/96) I would buy it, as would many more out there. So come on, let's not pretend we are in the early days of music streaming anymore, let's offer some new product, and give us a reason to buy more gear from you.


I actually came on here to ask if there was a new higher end product coming out that would allow higher res files and MQA decoding as after trying things like the Meridian MS200 and even their cheap explorer 2 (£129) going back to the Connect sounds incredibly flat, almost like the soundstage has collapsed. Seeing this thread might explain why that now is, not the fact the Sonos Connect is really bad, just that it is reducing volume in the digital domain and therefore throwing away resolution.

With all the other options out there now, and with the price increases many are jumping ship, and the only reason is the fact audiophile has moved on from 16/44, it has been 12 years now since Sonos came out, my ZP100 is 12 years old, my ZP80 (or maybe it's a 90) is probably 11 years old.
They sit there happily playing, but where is the product to get me buying more from you?

If you brought out a Connect pro that played Tidal's MQA files and the HiRez (even if it were up to 24/96) I would buy it, as would many more out there. So come on, let's not pretend we are in the early days of music streaming anymore, let's offer some new product, and give us a reason to buy more gear from you.


A "Hi Rez" Connect might sell in the thousands, or perhaps tens of thousands. The Play:1 sells in the millions. I doubt Sonos will produce something that only self-deluded audiophiles can "hear" a difference with.

BTW, Sonos devices use a 24-bit buss internally. They're not discarding bits within the normal volume adjustment range.
The 'usual idiots' who request a level-matched double-blind test?
The 'usual idiots' who request a level-matched double-blind test?

Yes the 'idiots' who would like to see objective scientific evidence rather than believing marketing hype and claims of superhuman hearing or violations of the laws of physics. Those idiots.

The world is truly upside down. Next thing we know, the cast of 'Finding Bigfoot' will get accepted to Mensa.
Userlevel 5
Badge +4
The Sonos connect has now jumped from £279 to £349, the Bluesound Node at £499 is starting to look like great value.
The Bluesound is now a Roon endpoint too.

The point is, as a Sonos customer where do I go from here? There is no next level, or even a way to play todays formats, so the answer is to another brand, which as someone in the Sonos eco system already seems somewhat of a shame.

I like Sonos as they do update their gear with firmwares to keep it useful, and useful some 12 years later in tech terms is very good going. But there are lots of customers who would like a Sonos Connect that does all the formats that are out there today, not just the ones we have had for the last 30 years.

Adding a new connect that does the current formats they don't lose any customers, all their old gear will still do what it does today, but they will open themselves up to another market, and if they grab a share of that market I can bet many will suddenly buy a Play 5 for the kitchen and a couple of play 3s for the bedroom.
It is a great system with great software and integration, but right now not having the kit for peoples high end system is going to see people having a rethink.

Every forum I am on that is not music related, many are starting to try other brands, whether than Yamaha, Nad/Bluesound, Roon with a RaspberryPi etc. etc.
Maybe that is more a UK thing because of the price increases? But it has been pretty vocal on the forums I use.


I just looked at your kit, I agree, with your kit better quality is pointless.
That is not a dig, that is the point I was making about my my Play 5 being fun and my Connect Amp (ZP100) doing a fine job, they are great for what they are.
But there is a serious difference between playing Tidal through the Connect into my Meridian DSP speakers compared with the Meridian MS200 I just borrowed (£299 so £50 cheaper than the connect) and even with my Macbook going straight into the speakers playing back 24/96 through their Masters Series albums (MQA). Even my wife gave a "Wow!" and she listens to the radio through the TV speakers most of the time! 😉
Userlevel 5
Badge +4
The 'usual idiots' who request a level-matched double-blind test?

Yes the 'idiots' who would like to see objective scientific evidence rather than believing marketing hype and claims of superhuman hearing or violations of the laws of physics. Those idiots.

The world is truly upside down. Next thing we know, the cast of 'Finding Bigfoot' will get accepted to Mensa.



Just listen to it.

If you can't hear it fair enough. If you can then decide whether it is worth the price.