Yesterday I took the risk and bought a NUC. There was a significant improvement in responsiveness after I moved the core from the Synology to my iMac and less volume trouble. Only I hated the fact that my iMac never could go into stand-by anymore (I use ARC in my car) and after a reboot I had to think about restarting the core etc. So, I installed ROCK on a new NUC 10i7 yesterday. And it even got better than the core on the iMac. I hardly experience the volume delay in the Sonos anymore. It went from frequently to ‘now and then’. Only grouping multiple zones is still buggy - takes about 1 minute before everything syncs and plays (so still room for improvement for Roon on Sonos here).
Did you also move your music to the ROCK from the NAS?
This will greatly enhance the user experience with it being a lot snappier across your network.
The Synology is still important. Backup your music on the NUC to the NAS.
A SATA drive for music on the NUC is inexpensive to beat.
Haven’t got a real library, I primarily use streaming so far. Only 5 FLAC albums of my old library were not available on Tidal, so these are the only ones on my network share. You say it’s best to have the library on the NUC itself? On a HD? And then backup these back to the NAS?
Either way is fine. A internal hard drive or a external USB drive hooked up to the NUC.
Local music with a backup to the NAS.
Some folks are not fortunate enough to have a NAS to back up to.
Congratulations on your new setup! It’s clearly a better setup for you.
It’s interesting to hear that you see an improvement in Sonos volume control responsiveness. I mentioned earlier in this thread that I see the same issue you described with slow volume response on Sonos. My core runs in a docker container on a high-end (rack mounted) Synology with 32GB and an SSD cache. My setup is Sonos (all S2, Ones, Connects, Amps), a couple of Linn devices, and a couple of KEF Roon Ready speaker zones. The Sonos devices are the only devices that demonstrate any volume setting issues. The others respond nearly immediately. I also have 5 rooExtend instances with a combination of dials and a Nuimo. Even while using the dials/Nuimo, volume response is almost instant for everything other than Sonos zones.
I do hope that your Sonos volume continues to be quick and responsive but I’ll be honest - I think the issue is more about Roon / Sonos integration than the platform we deploy our cores on. If you have a moment over the upcoming days to provide an update on what you see over time, I would appreciate it. If your experience continues to be positive, maybe I’ll dust off the unused NUC I have and move over to it.
So, the one thing I’ll add is that Sonos has its own proprietary protocol for wireless music synchronization across multiple zones, which only works when it’s operating “natively” — meaning that you’re using the Sonos app/controller to select and group zones. If you want to prove this to yourself, start a Roon stream playing on a single Sonos zone, and then go into the Sonos app. You’ll see playing on that zone a strange thing called “roon_hcetjn68bt537gnc” or something like that. Now go into the “zone grouper” for that Sonos zone and group that Sonos zone with another one (or three more or whatever). It’ll be snappy, will respond to volume controls in the Sonos app quickly, etc. Now ungroup that set of zones in Sonos and do the same thing within Roon (start the stream in one zone, then use the Roon zone picker to group several zones). Once it’s started, go back into the Sonos app and look at what’s going on - you’ll see that the zones are not grouped according to Sonos, in fact each one is playing a different stream name, or at least the gibberish after “roon_” is different and Sonos doesn’t think the zones are grouped. And that fancy Sonos synchronization protocol isn’t doing you any good. Roon is creating a separate stream for each Sonos zone and “pushing” it to the zone. That’s sort of the same reason why the Sonos app/hardware pause buttons can’t pause a Roon stream successfully - if you start a stream in Roon and then try to pause using Sonos, you’ll see that it restarts again once or twice before you eventually manage to stop it. What’s going on in that situation is that Roon senses that it has lost control of the zone (in this case a Sonos player), so Roon tries to grab control again by restarting the stream, and it usually succeeds. Similarly, if you start a Roon stream on a Sonos zone and then change the volume in Sonos, and then you check the volume in Roon it won’t be reflected, and if you subsequently change the volume in Roon, it’ll first jump to whatever it was in Sonos. It’s not a bi-directional sync- Roon is just streaming to Sonos zones. And you can imagine why if there is any latency in your network, or your core is slow, you can get all kinds of weird behavior as Roon is trying to do what Sonos is designed to do natively, except it’s trying to do it outside of Sonos. And this only gets exacerbated when you have multiple Sonos speakers grouped in a zone, or — worse — you’re relying on WiFi instead of SonosNet for Sonos.
If you start getting some zones in your system that are not Sonos, ie ones that are RAAT, you’ll begin to see how they act differently.
Now I don’t know if Roon could be architected use more of the “native” Sonos features like zone grouping, or more bidirectional sync. I do know that would make Sonos zones “less like” RAAT zones, and I think that wouldn’t be a good thing. If you only have Sonos zones I get why this is annoying. But if you have multiple types, it’s probably better. So like all things in tech, this is a trade-off.
Hope that was intelligible.
Thanks, it’s still quite snappy on the volume actually. Sometimes it has a bit of lag, but it’s really 1 out of 10. Before it was 1 out of 2 times laggy. So let’s hope it stays that way
Johnny, thanks for the explanation. From now on, I will group my zones in the S2 app. I hardly do this actually so it’s a good solution. thanks!
Also, I’d never thought of it, but this suggestion to “downsample” to 16 bits instead of 24 for all your Sonos zones is a really great idea. This thread is useful reading…
I agree with some of this, but I think some is speculation and some does not match what i see. Just now I went in Roon and grouped two zones that i don’t normally group together, then went to Sonos app and they were grouped. I think the Sonos API that Roon uses includes a “Group” command.
EDIT: then when i Ungroup in Roon, it does not Ungroup in Sonos. Maybe this is what you were thinking about, to your point it is one way informaiton.
Not saying everything you said is wrong, but it is just more complicated. Roon has access to “some” Sonos capability but not all.
I DO think that Roon streams to each endpoint and that is what causes the delays in playback when you add a device to a group in Roon.
I DO think that Roon has to use Sonos API not the native Sonos code that Sonos app uses. I think Sonos does this somewhat on purpose to appear open but to have better user experience in the native Sonos app. Spotify may be the one exception where Sonos and Spotify worked together which is why Spotify integration with Sonos is better than any other.
So I agree that Roon does not work like what Sonos uses internally, but it is more complicated under the hood. for example, is Roon using a multicast protocol, not streaming to each end point separately? I don’t know.
SonosNet is determined by the Sonos end user. If you hard wire a Sonos speaker you get SonosNet, if they are all wireless you do not. This is independent of Roon. If SonosNet is running, it is not clear to me whether Roon gets to take advantage of it or not.
Would be nice to get Roon support in on this.
Since @Johnny_Ooooops linked to a comment I made earlier in another thread, I thought I would weigh in on this if that’s ok.
My experience is the same in that I can use Roon to group Sonos zones, which for me works well. However, ungrouping is generally an issue in that the devices appear ungrouped in Roon, and function that way in Roon. But if you go to the Sonos app the zones remain grouped, and I have to ungroup them there as well. So quirks and issues do exist. But I can live with that problem as long as I don’t experience persistent dropouts, stuttering, and disappearing devices.
Yes, Roon does stream to each endpoint, just like Sonos does, and a slight delay when a new zone is added to the grouping is to be expected. The same happens when using the Sonos controller app.
I think you are probably correct. I always used the Spotify:Connect feature vs. streaming Spotify using the Sonos app prior to switching to Roon/Qobuz a couple of months ago. However, Spotify:Connect is not without its own issues. I really wish we knew the details on how all this works.
Roon does use it of course. By hardwiring one Sonos device to your router, you trigger the creation of SonosNet, a private, 2.4 Ghz mesh-type wireless network. Prior to the release of Airplay 2 in 2018, SonosNet was the only option available for running your Sonos system. Since all 9 of my Sonos devices pre-date Airplay 2, SonosNet is my only option.
Couldn’t agree more.
While Roon is one of the only apps I’ve discovered that does a good job of controlling Sonos devices, there are others that can add additional functionality to your setup such as this one:
I don’t believe this is correct. Roon restricts grouping of Sonos zones to one another. You can’t intermingle a Sonos device with any others. I’m pretty confident that Roon pushes just a single stream to a group of Sonos devices and Sonos does the multicasting and synchronization from there. You can confirm this by using Roon to create a Sonos group and then checking the Sonos app to see that Sonos is, in fact, aware of the group. That should be enough to confirm. But you can also then use the Sonos app to add additional Sonos devices to the group and those devices will start to play. Roon doesn’t know about their group participation and doesn’t appear to be streaming to them, but they’re playing.
This is an irritating behavior. In the US, Lutron Caseta is an automation option. One of the Caseta gadgets is a little multimedia control which, via a Caseta Hub, can be used to control Sonos volume and play/pause. Because of how Roon integrates, and because of the behavior that @Johnny_Ooooops described, it has the play/pause issues.
It’s deja vu to hear the conversations about connectivity. Don’t know how long you guys have been Sonos users but I jumped in when the CR200 was released in, I think, 2009. I’ve been wrestling on and off with SonosNet since then (spanning tree issues, anyone?) I have recurring issues with Sonos’ direct WiFi mode. It just doesn’t work reliably for me even though I have very robust WiFi network with managed access points in many locations. I just keep one device wired and let the rest connect over SonosNet.
Sonos actually does this with Apple Music, too.
Sonos was a great solution for me for many years. When I started using Roon a couple of years ago, I was concerned that my wife would be overwhelmed with it, so I hedged my bets and tried to maintain Roon and Sonos in parallel. This meant doing things like running Sonos Ports into my Linn streamers so that she could use the Sonos app on the same devices that I used Roon on. She caught on quickly to Roon. Now that we’re all in on Roon, I’ve begun to move away from Sonos. I still have a bunch of zones driving ceiling and outdoor speakers through a distribution amp - those are probably here to stay for a while. But there are too many Roon friendly options available to keep me in the Sonos ecosystem.
This got long but one last thing for fun. We moved this past year and I used that as an opportunity to recycle my old Sonos gear. This was just some of what went to recycling.
Fun to talk about this stuff!
Yeah, interestingly we disagree on this and/or are seeing different behavior on our systems. When I group two Sonos zones within Roon, I hear an audible nearly 1 second pause while Roon does something. I’ve always made assumptions about what it’s doing. Let’s leave those assumptions aside for now, because I admit I could easily have confirmation bias here.
More importantly, when I then go to Sonos to observe what’s happening, the zones are not grouped in Sonos - they are each playing their own stream (with different gibberish after the “roon_” prefix. I’ve always interpreted that to mean that Roon is creating separate streams (because different gibberish) and pushing them to each zone. But that’s speculation. It could easily be that Roon is creating a single stream and has two aliases/handles to that stream. In any case, since it’s not a grouped set of zones within Roon, it seems pretty clear that, at least in my system, Roon is neither leveraging SonosNet nor the accompanying goodness around the efficiency and effectiveness of zone sync. And as I’ve said above, I’m not sure it should (unless Sonos now exposes it more natively than I thought they did to anyone except Spotify).
What’s your experience? Is it actually what you thought above? If so, we should both post screenshots, 'cause there’s some crazy stuff going on.
Edit: here’s what happened when I added Master Bedroom to the grouping:
Edit2: If I ungroup the rooms in Roon and look in the Sonos app, here’s what I see. I’m pretty sure that the different flac names correspond to the last direct stream to that room, i.e., the last song in the queue for that room when I played something to it alone.
@kitated beat me to screenshots but I would have posted pictures that illustrate the same behavior. I verified that what they see is exactly what I see.
I may have figured this out. If you navigate to Roon > Settings > Audio, you should see two instances for each of your Sonos zones. One will say “via AirPlay” and the other will say “via Sonos Streaming”.
I only enable the “Sonos Streaming” outputs for each of my Sonos zones. So that’s what I’m testing. I just tried enabling the “via AirPlay” zones and then used Roon to group them. When I did that, I saw the separate streams that @Johnny_Ooooops sees.
Maybe Johnny made an ooooops! Want to check to see if you’re using AirPlay instead of Sonos Streaming? That would definitely make sense given what you see.
Wow, you guys have some chops. You’re totally right! You diagnosed with cruddy data and incorrect beliefs!
I had set up zones as AirPlay. I think I actually had a reason, which was that I wanted to be able to group them with AppleTVs, but that was stupid, and has resulted in me preaching at you. Apologies.
Ok, that’s good - so Roon is using some bits. I in that case really don’t know why it pauses when you group zones via Roon but not via Sonos, but that is small beer. All set now thanks to you!
And I think I’ll configure them all to run on 16 bits out of an excess of caution.
You may find that your pauses diminish when grouping in Roon if you no longer use your Airplay approach. I’ll be interested to hear what you experience.
For me it’s a no brainer. If the older Sonos devices won’t adequately support a 24-bit stream then you’re only asking for trouble if you don’t reduce the max bits per sample to 16 in Device setup. [Edit: of course if you aren’t having any issues with dropouts, stuttering, disappearing devices, etc. when streaming in 24-bit, then reducing to a 16-bit max would be unnecessary. In my particular case, it made the difference between being able to reliably use Roon to control my Sonos gear vs. having to give up on it]. I always start with the highest res source files/streams I can find and then have Roon down-convert/sample those to either 44/16 or 48/16 which allows me to still be able to hear and appreciate things like the wider DR that makes the SQ much better to my old ears (or at least I believe I can, but that’s a discussion for another thread).
I haven’t interpreted anything you’ve said as preaching, so no apologies needed here. I’d never really thought in detail before about the long Roon flac names and why/when they appear the way they do until I read your comments. So you’ve helped me have a better understanding of what’s going on … thanks for that.
Apologies? I thought we were just yapping about audio gear which is always fun. And we figured something helpful out which is even more fun!
I’ve never bothered downsampling since, as far as I know, all of my Sonos gear can handle 24-bit streams and I’ve never had issues with dropouts. But I’m glad I know about the option now in case I run into issues.
Fun chat…thanks both of you!
Very nicely put … I couldn’t agree more.
Excellent point. I went back and modified my comments to add this:
[Edit: of course if you aren’t having any issues with dropouts, stuttering, disappearing devices, etc. when streaming in 24-bit, then reducing to a 16-bit max would be unnecessary. In my particular case, it made the difference between being able to reliably use Roon to control my Sonos gear vs. having to give up on it]