Skip to main content
Peter Mc
August 23, 2016
Question

Connect no longer bit-perfect?

  • August 23, 2016
  • 450 replies
  • 29769 views
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.

    450 replies

    April 4, 2017
    Since I don't have a Connect, I will leave this investment to those that have. What I will do is convert a ALAC file to WAV and see if my play 1 pair throws up any surprise.
    April 4, 2017
    Done, with interesting if inconclusive results:
    1.File converted: Boulevard of Broken Dreams from the Diana Krall album, All for you. Ripped in ALAC, 29Mb file
    2.Converted on the free onlineconverter.com, to WAV, now a 69Mb file
    3. Both played back and forth in a playlist that has just these two songs, on a play 1 pair in the near field.

    What is immediately noticeable is that the WAV file delivers a much lower volume level than the ALAC file. As much as 6-8 taps on the slider, when at about 25% to start. In my first listening, I haven't found whether there is any effect of this on the dynamic range, or whether as it seems, the WAV file is just lower across the recorded range. I also can't say if doing this conversion elsewhere, or ripping the CD to WAV will change this result.

    Also immediately noticeable is that the ALAC file, at the same volume control position of the slider, sounds much better than the WAV file, and possesses all the usual adjectives of presence, air, decay, timbre and the like. Proving once again nothing more than "louder sounds better". Of course, all it takes for the WAV file to sound just as good is a few taps to the right of the volume control slider.

    If I find anything more worth posting on further listening, I will post that.
    ratty
    April 4, 2017
    That's quite a quiet/uncomplex track (as borne out by the substantial 58% compression WAV->ALAC), and my guess is the iTunes soundcheck tag has significant positive gain. On the face of it Sonos is responding to that tag when playing the ALAC version.
    April 4, 2017
    Do you think that the gain would be applied across the board, with no effect on whatever dynamic range the track has? And what would be the reason in this case for the soundcheck tag to have that gain?
    Majik
    April 4, 2017
    Several years ago I created some Replaygain test files which may be of use in testing. I have reposted these onto Dropbox if anyone wants to use them: https://www.dropbox.com/sh/d9p6eocpir98wig/AABGyS0XETzyYuD9YWZJbHNSa?dl=0

    The details of these files are:

    ReplayGainTest1.flac:
    REPLAYGAIN_REFERENCE_LOUDNESS=89.0 dB
    REPLAYGAIN_TRACK_PEAK=0.98092651
    REPLAYGAIN_ALBUM_PEAK=0.98092651
    REPLAYGAIN_TRACK_GAIN=+10.08 dB
    REPLAYGAIN_ALBUM_GAIN=+10.08 dB

    ReplayGainTest2.flac:
    REPLAYGAIN_REFERENCE_LOUDNESS=89.0 dB
    REPLAYGAIN_TRACK_PEAK=0.98092651
    REPLAYGAIN_ALBUM_PEAK=0.98092651
    REPLAYGAIN_ALBUM_GAIN=-10.08 dB
    REPLAYGAIN_TRACK_GAIN=-10.08 dB

    ReplaygainTest3.flac:
    REPLAYGAIN_REFERENCE_LOUDNESS=89.0 dB
    REPLAYGAIN_TRACK_PEAK=0.98092651
    REPLAYGAIN_ALBUM_PEAK=0.98092651
    REPLAYGAIN_ALBUM_GAIN=0 dB
    REPLAYGAIN_TRACK_GAIN=0 dB


    These files are identical other than the Replaygain metadata. That means any difference in volume between them is entirely due to volume normalisation.

    The original thread, for reference, is here: https://en.community.sonos.com/music-services-and-sources-228994/replaygain-not-working-20081

    Cheers,

    Keith
    Peter Mc
    Peter McAuthor
    April 4, 2017
    Yes, the gain is applied "across the board" as you say, meaning, it is simply an increase in volume for this track. The soundcheck tag will have that gain because during the ripping process itunes will have determined that the track has an average volume that is lower than some standard value. Check out the wiki on ReplayGain for more info - it's similar to soundcheck (the soundcheck wiki is not very useful).
    "The presence of those seeking the truth is infinitely to be preferred to those who think they've found it" - Terry Pratchett
    April 4, 2017
    There are other times (such as when playing an album of songs where some tracks are deliberately quiet and some deliberately loud) that you don't want individual songs normalised with respect to each other, where you want the as-recorded difference in levels to be retained.

    So, going back to the quote above, this problem isn't to do with the reduction in the dynamic range of any song, but with standardisation of volume levels of songs in an album. I have to say that I don't see that this will be a noticeable issue for me because I can't recall too many - if any - albums of this kind in my collection, where having sound levels change from one song to another is desirable. Obviously, those that do have such albums and would like to see these changes, will see this as an issue - unless they rip in WAV.

    But is there any other change once the Connect is below 87% of max, where the nature of any song and how it sounds has been changed by Sonos in a way that cannot be restored via the volume control?
    Majik
    April 4, 2017
    I doubt there is any other change beyond volume normalisation, and this can be defeated on your own collection by removing any volume normalisation tags if you really don't want it.

    Note that you can't remove tags from music from streaming services.

    So, the sky isn't falling in for most people as there are workarounds. It is, however (IMO) clumsy of Sonos to require people to have to use those workarounds.

    It would also be much better if Sonos actually implemented a complete solution for volume normalisation as most people would be happy with having it, if it worked properly. The complaint here is that the Sonos implementation of volume normalisation is partly broken and there is no easy way to disable it.

    Cheers,

    Keith
    April 5, 2017

    So, the sky isn't falling in for most people as there are workarounds. It is, however (IMO) clumsy of Sonos to require people to have to use those workarounds.

    And from discussions here it would appear that these are needed for just Connect units? I have to still see what happens with the two files - ALAC and WAC - on my zp90 zone, but are you suggesting that both will deliver the same sound levels when volume levels are the same? But is not the case with the 1 pair, so that is also doing what the Connect is found to be doing.

    But if all that is being done is shifting of the sound levels for the entire dynamic range of the song to either side of the recorded level, it isn't a big deal to the extent that I feel any need for workarounds, that will probably only ending up making my playlist experience even worse than what it is today, where, because some CDs and sources still play louder than others, mixed source playlists aren't usable in the way they ought to be. I wonder how much of this is because of errors in the tagging that Sonos is merely responding to. iTunes has an option for turning normalisation off, if memory serves me well, and I agree that all Sonos needs to do is provide this option.

    I also haven't heard any users of the 5 units, that have found it to be a HiFi speakers, have any complaints on this count. Most people, I suppose, are just setting the volume levels to where they need to be, and making an occasional tweak to the volume control if/when needed. Which is what was being done with legacy kit as well.
    ratty
    April 5, 2017
    If your ALAC file has the iTunNORM tag set (and it's non-zero) then it will have a different volume level from the WAV version. This applies whether it's a ZP/CONNECT or a PLAY.

    I have the ReplayGain track gain tags set for my local FLAC library and it has an audible effect. Whilst this is intentional and welcome for shuffled play -- which is why I wrote the tags originally -- it can degrade the listening experience for complete albums, particularly where tracks are gapless. An example: tracks 1 & 2 of Mike Oldfield's 'The Songs Of Distant Earth' change from a gain of +2.74 dB to -4.66 dB. In the last few seconds of track 1 the level audibly falls away ready for the start of track 2.

    My workaround for album play? Stream the desired content from Deezer Elite.