I have never used Rasberry Pi or Musicbox before so i wonder, is this synced multiroom solution possible?
Pi 1 <—> Speaker 1
Pi 2 <—> Speaker 2
Computer <—> Speaker 3
- 1 speaker in 3 different rooms
- 2 Raspberry Pi’s, 1 computer
- 1 Spotify account
- Individually control all speakers from smartphone or laptop.
Is it also possible to play different tracks on each speaker or does it have to be the same?
In Musicbox? No, see Multi-room solution
Aside from the lack of synchronised multiroom support in Musicbox, Spotify allow playback of only one song at a time from an ‘online’ account. And Mopidy itself supports playback of one track at a time. To play different tracks on each speaker you’d need a Mopidy server running on each machine, with either multiple Spotify accounts (£££), using Spotify in offline mode (not currently possible), or by streaming from less restrictive music backends such as youtube/soundcloud/tunein etc. Then you’d have to swap between servers in your client, some clients make this quite easy to do.
Am I missing something or should this solution work in the way I want?
I built a multiroom system with rasperry pi + audio8dj (you can use a different card) + 2x mopidy service (maybe even more).
Mopidy start as a service.
I copied and I created another service “mopidy2” with another configuration file.
I use mobile extenssion.
Two mobile extension run on difrent port (the first is room and kitchen is 2).
Of course, you need two amplifier. Or one multichanel.
I use one account spotify and local shares.
For now everything works without problems.
Since pi musicbox is based on gstreamer it is possible to use gstreamer rtsp plugin to do synced multiroom audio playback. You need one rtsp server that will distribute audio accessible on specified address and port, and every pi musicbox can play this stream in sync. I tested this solution on two laptops and one raspberry pi (pi musicbox) - pi musicbox doesn’t play rtsp stream out of the box but only because rtsp is not on the recognized streams list in web client, adding rtsp somwehere in the code of the web client solves the problem.