Temporary grouping of speakers

  • 5 January 2017
  • 5 replies

We have a 3 SONOS PLAY speakers strategically located across the house (living room, bathroom and upstairs) which are not grouped because we spend a lot of time together in the main room and find it a pity to stream in the others rooms when nobody is really there. We also like to listen to a specific (internet) radio station so much that this is virtually our one and only preferred streaming source on all SONOS devices, but find it annoying that when we occasionally turn on radio streaming on one of the other devices (eg taking a shower for 10 minutes) the music is not in sync and you hear an echo in the distance from one of the other players.

I fully understand that grouping resolves this concern perfectly, but wonder why it's not possible to foresee some temporary auto-grouping functionality that makes certain that if two (non-grouped) speakers play the same streaming source that they all play in perfect sync so that you benefit from an enjoyable sound everywhere in the house instantly without a difference in delay. It should work just like a (device) group, but with the comfort of turning on or off any other device by simply pressing the play/pause button on top of the devices in stead of constantly using my Phone to create and break a group. In stead of grouping by device, why not group by streaming source across any device of your choice that you (temporarily) add to the same stream without delay?

Is this the right place to ask for such enhancement requests? Or is there already an easy alternative solution that I'm overlooking?

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.

5 replies

As you've found, streaming the same radio station to players individually doesn't result in sync, as each has its own connection to the source and its own buffering.

Implied/automatic grouping, when multiple independent players are commanded to stream the same source, superficially sounds like a neat idea.

The devil would be in the detail though. Sonos is a multi-room, multi-source, multi-controller system. Let's say user A starts radio station X on player P. User B then starts the same station X on player Q. The system figures out that it can group Q with P, so they play in sync. All of a sudden users A and B find that they're controlling not one but two players, and can inadvertently modify the volume elsewhere. Then user A decides to stop the radio and play something completely different. But B wants to continue to listen to X!

In short it would necessitate a new form of 'soft' grouping, made and unmade behind the scenes and not explicit at the controller level. Not a small development after all.

Or one could simply rely on the users' intelligence to see what's playing in each location and make their own decisions accordingly.
Thank you for the clear reply: seems complicated and brings up a lot of questions...

However, let's think of it this way: if 20 years ago you had 2 analogue radio players tuned into the same radio station the music would have been in sync and all controls (like volume or on/off) would be managed on each individual device. As such I would like to suggest to boil it down to the basics: in sync audio with no need for central control.

How I think it might work:
* In case no other speaker tuned to a specific audio source: just like today (= no temporary group)
* As soon as any other speaker tunes into the same audio source (requires that each speaker somehow check that across all other active speakers): one of them becomes master (eg the first one who tuned into it and is already streaming it) and broadcasts the captured stream to the other(s) who then become slave(s) (= initialize temporary stream group with one central master speaker that can always expand with additional slave speakers who tune in)
* As soon as one of the slave speakers switches to another stream: check if any other speaker is already capturing that streaming source and (if needed) setup a new (seperate) stream specific temporary stream group (or join that existing stream group in case so)
* As soon as (all) slave speaker(s) leave: stop master-slave broadcasting (= no more temporary group, master becomes normal speaker again)
* As soon as master speaker leaves: That seems to be a tricky one, but I guess best thing would be that one of the slave speakers automatically becomes the master (= update temporary group master, all other remaining slaves now listen to the new master). Not sure how to handle this technically (transfer stream to new speaker and hence keep delay), but note that I would not drop dead if there would be a small glitch at this point in time on the other slaves.

Could be that even after reducing this idea to the essentials that there's still quite a big development effort needed, but perhaps it's worth putting simple 'soft' grouping on the cool-list! Can't judge how many other SONOS users would appreciate that how-analogue-radio's-always-used-to-be-in-sync experience, but to me that seems oh so very much worth the effort 🙂
What you describe is how grouping works today, under user control, including how a new master (called the 'coordinator' in fact) is elected if the current coordinator is dropped from the group.

The point is that this is all explicit, transparent and you can do it all today.

The hard part would be making grouping work 'in the background' in such a way that users had no idea what was going on and assumed they continued to have individual control over each player whilst, under the surface, groups were automatically being made and unmade.

To be honest, by far the simplest solution is for users to control players directly, assembling or dismantling groups as necessary. The Rooms Menu on every controller displays which players are streaming which source.

By the way, the old style FM radios are in sync because they're all dumb slaves -- grouped in fact -- to the broadcast transmitter.
True, true, true... but what I don't like is having to manage groups every time I walk in or out of the bathroom. Call me lazy, but I assume you understand that it would be nice from an end user point of view that a simple switch on or off of an additional player would result in a seamless audio experience without having the impression that there's an echo somewhere on the feed. End user simplicity driven by top-notch-tech logic in the background.

I still see a difference in the current manual 'device' grouping logic and the proposed automatic 'stream' grouping logic:
+ If I switch on device A I don't want device B to auto switch on as well
+ If I switch off device A I don't want device B to switch off as well
+ If I increase volume on device A I don't want it to have an impact on device B
=> I only want the same audio to play in sync across all devices without the hustle :-)

Again, I can't judge the 'hard part' development effort but I would settle with a setting that allows me to chose between user predefining which speakers should play the same stream ("manual device grouping") and letting the speakers decide (instantaneously) if they want to create or join an existing group based on the audio source ("automatic stream grouping").

Hell, I'll even settle for an option where I can say "this speaker always needs to play exactly what speaker X is playing" ... but without switching off speaker X when I switch off speaker A :-)

Please think about it, because I can only hope somebody thinks about this or any other too-lazy-to-constantly-manage-groups-just-to-enjoy-the-same--in-sync-music-in-the-bathroom kind of end user 🙂 Who knows, perhaps there is an even simpler alternative or solution.
I would not expect Sonos to implement this, at least not in the app. They are committed to voice control, and I expect the mobile apps to be secondary controllers in the future. Saying "Alexa, play Living Room in the Bathroom too" is easy enough, eh?