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

I think you'd better post your CONNECT's serial number (or if you feel cagey about that, submit a diagnostic and post the number), so Sonos can verify whether yours is one of the later model CONNECTs affected by the issue discussed elsewhere, concerning non-defeatable DSP treatment. (EDIT: In fact Ryan suggested that it was CONNECTs manufactured from 2011 on, with hardware version 1.16.5 or higher.)

As a matter of interest is your machine able to report peak jitter?
Hardware version is 1.16.5.5-2. It was bought in Australia in early 2014.

No, I don't think my gear will measure jitter. I've only recently got my brain around the concept.
I'll do a little digging to see if it's possible with my fairly simple setup.
The Scarlett 8i6 itself has jitter less than 500 picoseconds. In the current tests, however, it is
slaved to the Connect.
Okay, so yours is a potentially affected CONNECT.

Your graphs are interesting, and do seem to support the suggestion that there's some kind of peak limiting going on.

I suspect jitter is a red herring here. It was mainly for interest's sake. For reference the original ZP80 measurements by Stereophile put the jitter at 388ps peak-to-peak, which they classed as 'low'.
500 ps is 1/1000 of a cycle of a 20kHz signal, less at lower frequencies. It's hard to imagine we could hear that level of error.
So does this mean we could see pre 2011 models start commanding a premium on second-hand sales?
So does this mean we could see pre 2011 models start commanding a premium on second-hand sales?

Unless Sonos make a firmware change that allows this to be turned off in the future. As I understand it, this is a combination of later Connect models plus firmware changes (v6.0 onwards) so it may be possible to defeat it in firmware (e.g. with a user option).

Cheers,

Keith
Just to clarify a number in my original post - the original and recorded signals can differ by up to about 1dB. It is the difference signal that can have an amplitude of -21dB (compared to full scale).

Also, the offset for the negative waveform (before compression kicks in) in my third plot is just 1 bit. This means every time the signal dips below zero, the amplitude is in error by 1 bit. That's got to be a bug. I can't imagine what that does to the sound, or if it's even audible.
Userlevel 7
Badge +22
Just to clarify a number in my original post - the original and recorded signals can differ by up to about 1dB. It is the difference signal that can have an amplitude of -21dB (compared to full scale).

Also, the offset for the negative waveform (before compression kicks in) in my third plot is just 1 bit. This means every time the signal dips below zero, the amplitude is in error by 1 bit. That's got to be a bug. I can't imagine what that does to the sound, or if it's even audible.


If you can discriminate 1 dB you need dissecting - for scientific purposes only you understand!
As has been remarked elsewhere it's been proven in the past that Dolby or DTS content could be piped bit-perfect through the system. Any bit errors there would likely have corrupted the stream. Something seems to have changed, and at present the finger of suspicion is wavering in the direction of the DSP rework.
It seems that there IS something going on under the hood, and for those of us that can't understand much of it:
1. What is the audible effect, if any, of this behaviour?
2. What is the way to deal with it where music listening is concerned?
And the same questions for where the Connect is used in Variable mode.
Hi Kumar - here's my take. Others may like to chime in.

1. There is 1dB of soft-knee compression applied. 1dB is an audible change in total volume (3dB is a doubling in power). A 1dB compression will be less audible as it only decreases the loud bits.
2. There is a 1-bit bias on the negative part of the waveform. I really don't know whether this is audible. It will, however, apply a slight DC signal to the speakers.
3. Volume normalization will alter the overall volume of all tracks to be more similar across tracks. For sequential tracks from an album that flow into each other this can cause an audible volume change.
4. There is reputational danger for Sonos and the Connect because it can no longer be considered audiophile-quality gear. The original stereophile review of the Connect would have been scathing if these issues were happening back then.

What can you/we do? Put pressure on Sonos to go back to disabling all signal processing when in fixed volume mode.
The volume normalization problem can be overcome by removing the ITUNNORM tags from files. This is a hassle, and removes the option to use these tags when playing individual songs for a party etc.

I think by far the best solution would be for Sonos to disable DSP for fixed volume, or add a switch so users can decide.

As far as variable mode is concerned, I speculate that the same answers apply, but I haven't made any measurements in this mode.

Cheers, Peter.
I think by far the best solution would be for Sonos to disable DSP for fixed volume, or add a switch so users can decide.
Both.

Fixed Volume should return to being guaranteed bit-perfect for players with a digital out.

There should also be a normalisation defeat switch in room settings for all players. If loudness can be turned on and off I don't see why normalisation shouldn't too. (Objections from Sonos along the lines of "in the absence of normalisation tags a confused user wouldn't hear any difference" can surely be addressed.)
Userlevel 5
Badge +9
Does all this apply to REPLAYGAIN TRACK?

Does removing this Tag return us back to Bit Perfect on the Connect?
Does all this apply to REPLAYGAIN TRACK?
Yes, at present that can't be defeated at all on later models of CONNECT. See this thread: https://en.community.sonos.com/setting-up-sonos-228990/volume-normalization-processed-fixed-volume-output-6738413

Does removing this Tag return us back to Bit Perfect on the Connect?

Apparently not, to judge by Peter Mc's findings, at least on the later CONNECTs. It could be all bound up with the undefeatable volume normalisation issue.

It would be interesting is someone could make comparable tests on ZP80 and ZP90.
Fixed Volume should return to being guaranteed bit-perfect for players with a digital out.

Couldn't agree more...
Agreed here too.

There needs to be a way where Connect users can guarantee bit-perfect signal from the digital outputs.

As ratty suggests, I also think having the option to turn on/off volume normalisation is something that is long overdue. This way external DAC users can chose whether they want bit-perfect, or normalised. And, yes, this should be configurable per player.

I also think that the "Album" type of volume normalisation should be the standard, instead of the "track" type if no user-selectable option is available.

Cheers,

Keith
Userlevel 5
Badge +9
I must be lucky - Hardware Version 1.1.16.4-2
I must be lucky - Hardware Version 1.1.16.4-2
That's a ZP80 isn't it? Or just maybe a ZP90? Not a CONNECT surely.
Userlevel 7
Badge +21
My question is... how did Sonos allow the Connect to NOT become bit-perfect with the Fixed Volume setting?! Surely someone, somewhere would have realized that a change being made would affect the audio output, and that the Connect - the one Sonos device that has been reported as having bit-perfect digital output - would no longer be able to make that claim. If they decide that they want to still allow the level adjustment for the fixed volume setting, there should at least be the option to disable it, returning bit-perfect output for those that want it.

On the other hand, many have wanted some kind of volume leveling in the speakers... and while Sonos has never said anything about it, it appears that they've been working on it.
Userlevel 5
Badge +9
I must be lucky - Hardware Version 1.1.16.4-2
That's a ZP80 isn't it? Or just maybe a ZP90? Not a CONNECT surely.


Yes ZP90 - but wasn't Connect just a rename rather than different device?
Well, certainly it was initially a cosmetic change -- or so we thought -- but from recent posts it's clear that from 2011 it was a somewhat different hardware platform.
Userlevel 5
Badge +9
Well, certainly it was initially a cosmetic change -- or so we thought -- but from recent posts it's clear that from 2011 it was a somewhat different hardware platform.

Indeed - very odd decision to change Bit Perfect "Fixed Volume" into something inferior.

Most of us who bought ZP90 or Connects generally did so to preserve our "High End" systems whilst being able to sync the rest of the house with Play X units.

Better fix it fast Sonos or your going to take a hammering once the Audio Press find out!

Adding functionality to our Sonos systems has always been a great plus point of ownership.

Removing audio quality is not going to win universal acclaim.
Userlevel 1
Badge +1
Interesting topic. I am new to the these forums, but does Sonos ever directly comment on these topics?

Removing audio quality is not going to win universal acclaim.

I asked this here a couple of times, how has audio quality been audibly affected? Anyone picked that up in a level matched blind test?

I get that level matching has been affected by this in some way, but I am still not sure exactly how this is even an inconvenience.
I also have another unanswered question that I think is related to this subject. Because Sonos gives me the facility to easily make playlists from my favourite albums, it is very easy for one that is recorded loud or hot - to mess up the sound level from a playlist where it is included and even more of an inconvenience in a shuffled one. These aren't poor recordings by any other measure, they just happen to need the volume levels set noticeably lower for the same sound level delivery as from most others.

The rips are from iTunes and presumably have the necessary information in a tag, so why can't Sonos react to this information and have the playlist not need volume control interventions whenever the songs are played, for the sound levels to not noticeably vary? I don't see this missing feature as a quality thing, but as a feature that would be very welcome.

I also find that Apple Music is always a little less loud for a volume control setting than ripped CDs, so using mixed source playlists becomes an issue; isn't this something that Sonos can solve?

Once sound levels are equalised across, I doubt that any little bit loss, if needed to achieve this, is going to be audible. After all, much of sound quality issues arise from audibly heard sound level differences as low as 0.2dB, so this seems an obvious fix to me. What stops Sonos from doing this effectively and automatically across tracks/albums/playlists/music sources?

PS: Question now posted in a new dedicated to the question thread.