I would want to have a complete audio system in my house. I have already a server running on an Orange Pi PC plus. Home Assistant is installed on this server and it would be nice to completely control it from this dashboard.
I will show here all the steps I did, plus all the configuration files needed for the setup. I write this post because some steps were hard to find. It is a really awesome system and I am surprised I can’t find a lot of clear information about this system.
In this post, I am assuming you have already a Linux system running. I tested it all on an old laptop with Ubuntu 17.04 installed. The laptop is called “Memien” because I got the computer from her. (http://www.memien.be) It is also possible to run this software on a Raspberry Pi or Orange Pi. Installation instructions should be similar.
This is the first part of the setup of my Multi-Room Audio setup. I will divide these descriptions into three additional parts:
- Installing Snapcast. This is the transportation system of the audio.
- Installing Mopidy and Iris. This is a player with Spotify integration and a beautiful user interface.
- Installing Librespot. This is a plugin for Spotify only. This makes it possible to use the familiar Spotify apps with the MRA.
I ran into a system called Snapcast. It is a transportation system that can handle multiple clients for streaming synchronize audio over ethernet. I have some requirements for the system:
- I would like to listen in different rooms to different sources.
- I would like to listen in different rooms to one source synchronized. I really hate the delays when you cross a room.
- Both my girlfriend and I have a premium Spotify account. We don’t have any music downloaded. Spotify should be linked, and we would like to listen to our own account in the room we are in.
A schema of the the setup looks like this:
- The advantage of Mopidy is the support of downloaded music. It is also possible to add a plugin like Iris, so you can access the player from any web browser. It is a beautiful, Spotify looking, responsive interface. Although, I had some issues with playing music. It random stops playing. It seems to be stuck in a loop of 4 seconds. Clicking on ‘next’, made it continue playing. This was a bit annoying.
- Librespot is a plugin only for Spotify. It should put the audio in a pipe and appear in the devices tab in the Spotify app. With this plugin, no offline music can be played.
Word of thanks
I should really thanks badaix for implementing Snapcast. It is a really great system and it works flawlessly.
Also the developers from Mopidy, Stein Magnus Jodal and other contributors. They made a very beautiful player with a lot of options.
To end, the developers of Librespot eladnava and plietar. Librespot is an awesome plugin for Spotify and they reverse engineered this protocol.