Sonos/multi-room sound setup with RPI or other

Hello community,

Does anyone know a good and reliable solution like Sonos but built on RPI or any other hardware with the following requirements :

  • group/ungroup speakers
  • linked to Spotify, youtube, tunein
  • API / Rest interface to be able to integrate it with HA or any other script.

Thank you very much.

I’ve been using Audiocast. They have all the features grouping and ungrouping speakers, Spotify, Tunein, Airplay compatible, and I’ve found their API to control them through CURL calls/HTTP requests. I’m working on implementing a component for HomeAssistant which will make these calls encapsulated and much easier to dispatch. There $39 each which is much cheaper than any sonos system. You just have to supply your own speakers for each device. I know its not a RPi but each RPi will cost at least $40 to get set up and this is ready to use out of the box with all the software installed. Let me know if you have any questions about them!

1 Like

Thank you !
I thought about RPI but it could be anything else and it’s even better if there is no speaker.
Is there a way to cast youtube sound ? I didn’t see it on their website.

Do you already have a github with your work in progress ?

This looks amazing. A few questions:

  • on their site they say you can have at most 7 speakers, but it seeems limited only by wifi - did you try with more?
  • do i need to install a service on a (virtual) pc that controls all of them and has a http api, or do i have to control each one independently?

I only have 2 devices so I don’t know the limit of the multiroom audio.

For the HTTP API all you have to do is call the respective device on your network (i.e. 192.168.1.123) so there is no need to have multiple virtual machines or service for each device, if that is what your asking. You can control them simply by going into your web browser and typing in the IP address of the device connected to your network. What I plan to do is to have a python script that has a HTTP API built in to run from a script. Hope that helps.

Cast as in Chromecast? I don’t know about that. I’m an iOS/Mac guy so I use the built in Airplay functionality when I want to play youtube sound. I believe there are Android apps that allow Airplay functionality for devices… I don’t know enough about that tho, unfortunately.

I don’t have anything on GitHub yet… this is my first component so I’m struggling a little bit…I’m trying to just get a python script working first. I’ll 100% post my repository when I have one up!