Multiroom audio


I know, this is a alreay discussed feature, but I am desperatly looking for a way to play my music synchronized in several rooms. The best solution I theoetically found seems to be snapcast, but I am not sure, how kodi/osmc works with it.

Has anyone found a solution for true multiroom audio?

Since I am looking for opensource solutions only, please do not suggest some logitech stuff or similar :wink:

Thank you!

1 Like

You don’t need Kodi/OSMC for snapcast. You would install raspbian and mpd for this.

True, but I want to stick with Kodi/OSMC as main player and database in my livingroom, but also have the audio output playing synced in the kitchen.

You will not be able to use Kodi to control snapcast if that is your intention.

Yes, thank you.

I am asking for alternative solutions. I am pretty sure, that I am not the only person who wants to play music from osmc in several rooms.

Any suggestions?

I opt out and get something else to drive it and use OSMC as the slave.

I have OSMC in my living room and OSMC in my dining room, if I want multi-room audio I actually get iTunes to act as the server and just use AirPlay (Built in to Kodi) on OSMC to play it back. It just seemed easier to me.

Are you an audiophile?
It’s theoretically possible, and I’m sure there are add-ons that can do this already.

I’m assuming we’re talking about keeping the audio in sync across rooms.

Kind of audiophile, yes :wink: but my main concern is to listen to my music in 2 seperate rooms, without the overhead of maintaining seperate audio DB’s / OS’s / Remotes. It would be very handy to just install another RasPi in the kitchen to spread the music.
I am searching for a solution for several days now, but did not find anything, not a single add-on for this.

Since I have a NTPd in my LAN, synced time should not be the problem here. I just can not find a way to “grab” the audio output of kodi via LAN on another device.

Another approach is to let OSMC/Kodi send sound to HDMI and Bluetooth speaker at the same time, but I am not aware of this possibility…?

NTP is too lose for syncing audio.
As Pi does not implement an RTC, I think you also experience very small clock drift, and this will only get adjusted when NTP resyncs. This may not always occur at the same time on both Pi either, which makes things more complex.

True, could be a problem.

The better solution was to send audio to 2 seperate output sources simultaneously, e.g. bluetooth speaker AND HDMI (or USB speaker in my case).
Do you think this could be possible in kodi?

Possible, yes.
But they would almost certainly not be in sync. PulseAudio (for Bluetooth) adds an additional buffer so it doesn’t underrun and this would cause it to be a couple of seconds behind

I see…dammit!

There must be an other solution then just installing more cables to more speakers. Multiroom audio is nothing to exotic these days…

Any other ideas?

Well unless someone is as eager as you and spend the time to develop something using peer-to-peer transparent clocks I guess your easiest and fastest solution is either the Airplay solution or just getting a simple DLNA client (while this would not be synced audio).

No ideas.
But +1 for the use case.
OK PI can’t do it, no problem for me
I prefer Vero.
Perhaps some day Vero_X with some third parts solutions, can do it.
And Sam, and your team,if you found the way, it’s a big step forwards for the Vero_X???

Someone already did that: snapcast :wink: the problem is to grab the audio stream from kodi…i guess

Having another look at snapcast: Not sure if kodi uses ALSA for sound (but i think so). Could it be possible to use it to redirect sound to USB speaker AND snapcast, like here (i think so)?

or is it PulseAudio ?

I think snapcast may be your best option here but I think you are going to have to give up on the idea that Kodi will control playback or db. With snapcast and mpd, it’s mpd who controls the database. If it’s a pretty interface you are after, there are literally dozens of Windows, Linux, Android, or iOS mpd clients to choose from for controlling playback and dealing with playlists, even adding metadata to the interface…

Why won’t you entertain squeezelite option?

I’m using gstreamer rtsp protocol to do synced multiroom audio playback. It works quite well, especially using wired lan, on wireless 802.11ac lan works also but sometimes looses sync. I would rethink using kodi as an audio source. The problem is that to do synced multiroom audio you have to have some kind of server that will source the audio, and clients that play this audio but with some delay, for example 500ms (buffering). If You want kodi to play audio then it becomes a server and it can’t play the synced audio. You can make the same device that runs kodi to be also a client, but the audio will be played with the delay, and not synchronised with the video (unless there is some way to delay the video to, but then to control with a remote something like this would probably be a nightmare).