Configure groups that are published as a targetable wireless speaker
See original GitHub issueProblem
I’ve been looking into multi-room and noticed BalenaSound has recently achieved this at a basic level. I can also see that #181 requests some easier control of multi-room ability and #153 is attempting to implement support for a controller.
I am dubious however of the effectiveness of roping in an extra system, and instead would like to expand configurability a bit more without the need for a managed application/frontend to change things on the fly.
Proposal
Admittedly, this proposal hinges off the ability for BalenaSound to be able to broadcast itself as multiple speakers. If it could do so then perhaps, when configuring, we could have multiple groups established too.
Scenario:
- One Pi in the living room
- One Pi in the kitchen
- One Pi in the bedroom
Each of these are configured as normal with suitable names, each of these then appear through your streaming service of choice.
Additionally though, I could configure the living room pi to create a ‘group’. It would have an ID (e.g. group-id-1
), and a (human friendly) name (e.g. Downstairs
). The name would be used to show a separate speaker to stream to in your service of choice, so Spotify for example would show as available speakers
- Living Room
- Kitchen
- Bedroom
- Downstairs
Other Pis on the network would also be configurable to both create a speaker, and connect to a group ID. So lets say that the Kitchen is configured to be part of group-id-1
. So,
- When I stream to any individual speaker, it plays alone.
- When I stream to Downstairs, then the living room Pi gets all of the the Pis that are within the group ID associated with Downstairs to play in sync.
Alternatives
I have looked hard, but nothing seems to have the solution as described. You either don’t get multiroom, or you get it but for all Pis in a Balena app, or you have to use some managed service like snap cast which means more web servers and UIs to maintain, or you give up and drop all savings on the Sonos ecosystem.
Hopefully I’ve been able to explain the idea well enough. I’d be interested to hear the maintainers thoughts based on their experience.
Issue Analytics
- State:
- Created 3 years ago
- Reactions:2
- Comments:7 (1 by maintainers)
Top GitHub Comments
I somehow had the same challenge. Right now - I’ve have modified the scripts - so forceing all SnapCastClients to the same SnapCastServer - and then AirPlay/Bluetooth is enabled on each SnapCastClient. The SnapCastServer has also AirPlay enabled.
Then I can choose to stream with AirPlay to the SnapCastServer which will start muti-room stream to all Clients.
Or I can just choose to Bluetooth/AirPlay to a dedicated room.
It’s a hack - and true SnapCastServer / -Client with all services like Sonos, Bluetooth, Airplay etc would be next step 😃
The SnapCastServer is also integrated with Home Assistant with can manage soudlevel etc. pr. room.
I’m currently setting up a Balena multiroom project at home. Just have the 3 first Raspberry 4 with Hifiberry running. All works fine so far, but I’m astonished that there doesn’t seem to be any possibility yet to select the device / or group of devices you want to stream your music… I have 8 raspberries for 8 zones in the house. Streaming to all devices is simply not an option, I’m not alone in the house (i.e.Kids are asleep), but I want to stream to Kitchen / dining room / living room together when we have guests… This seems to bother a few users. Is there no solution yet?