Introduction: 3 Audio Players in 1 Raspberry Pi With Bluetooth - Easy Multiroom HiFi Setup

Picture of 3 Audio Players in 1 Raspberry Pi With Bluetooth - Easy Multiroom HiFi Setup

Our popular Squeezebox sound environment on Max2Play was made to easily connect multiple audio players and create a smart HiFi system. With the addition of some amazing new plugins to our SD card images, we can now accomplish this goal with just one Raspberry Pi as our central device. In connection with the Squeezebox Server and its many features and possibilities, Max2Play OS can give you a powerful multiroom setup with just one Pi, controllable with all smart devices thanks to the Squeezebox Server's versatility and Max2Play's intuitive web interface.

The few, simple ingredients our current operating system requires to facilitate a full, three zone, multiroom audio system with just a few clicks, are all in a very affordable price range and include items you probably already own. Consequently, this Instructable will get you the comfortable, true experience of controlling multiple sound sources in your home with the control device of your choice.

Step 1: The Components

Picture of The Components

The required items for this system may vary, depending on how big you want your multiroom setup to be. Here, we will assume the basic setup using three different outlets as players.

Depending on the intended scope of your setup, you can add or remove as many players as you want.

Basic setup:

- RPi 2 B (or RPi 3 with built-in Bluetooth)

- microSD Card (Class 10 or higher)

- Max2Play Premium License

- Bluetooth stick

- LAN cable or WiFi stick

- Bluetooth speaker

- HiFiBerry DAC+ light

Step 2: The Image - Burning Our Foundation

Picture of The Image - Burning Our Foundation

The Max2play image is available for free download on our website.

For this system, we have to use the Jessie-based Max2Play Raspberry Pi Image. It is currently the only image of ours that supports Bluetooth, so we have to make sure to select it. All images for download on Max2Play are packed in .rar or .zip files and can be burnt onto a card using a simple tool like the WinDiskImager for Windows. Just let it burn and once the process is done, put the card into the Raspberry Pi. This image lets you configure your Raspberry Pi without connecting a keyboard or mouse to the Raspberry. All settings can be done through our web interface on your laptop, desktop computer or even your smartphone.

You can also order an already burnt and configured microSD card from Max2Play.

Step 3: Max2Play - Managing Our Software

Picture of Max2Play - Managing Our Software

With Max2Play's simple plugin management structure, we can quickly set up our image to include all the necessary software components. For this multiroom setup, we need to add speakers to our system, assign them to players and have a server software to control those players. All those three purposes are managed by specific plugins available in the Max2Play image:

- The control software is the Squeezebox Server. It serves as our control center where all the players are managed.

- The sound card can be activated in our Raspberry Settings, where we can find many fine tuning options for our Pi.

- The speakers can be added through the Bluetooth plugin, once installed, it sets up a permanent connection to them.

- The players are managed in the MultiSqueeze plugin. Here, all sound outlets; the Audio Jack, your Bluetooth speakers and the sound card can be assigned to a corresponding player.

All of these applications and many more can be added and removed from your system in seconds with the plugin management feature in our Settings/Reboot menu. Premium plugins like MultiSqueeze and Raspberry Settings can only be added and used with an active premium license.

For an overview of all Max2Play plugins, premium, free and community-created, and their respective links to install them, visit our website's extensions page.

Step 4: The Control - Setting Up the Squeezebox Server

Picture of The Control - Setting Up the Squeezebox Server

The Squeezebox Server forms the foundation of our multiroom system. Here, all the different players, streams and music come together and can be controlled through the interface of your choice. The Server is installed with just one click in our web interface.

Make sure to choose the version 7.9 Nightly for all new images. Once selected, we will see the right source link indicating the version you chose. Just click on "Squeezebox Server start installation" and the Server will install itself until we are able to access its own web interface.

Here, we can find settings to add our music, activate plugins like Spotify or Tidal and much more advanced options to tweak the Server to our preferences. Of course, we can also manage playlists and music here, as well as controlling the playback of all available players in your network.

But that can also be accomplished by various other means. The Squeezebox Server software has spawned many third party applications that can be used to control its features. There are many apps for Android phones and tablets as well as iOS for iPad and iPhone. We also have the Max2Play plugin Jivelite that can display a nice, clear interface via HDMI or on touchscreens to control the playback of our Squeeze players.

Step 5: Raspberry Settings - Adding Your Sound Card

Picture of Raspberry Settings - Adding Your Sound Card

In this premium plugin, we can find many options to maximize the potential of our Raspberry Pi. Here, we can also select the native sound card we are using and have Max2Play automatically install and run all necessary drivers for your specific sound card. Since we are using the HiFiBerry DAC+ light in this Instructable, we need to select it here, as well.

Once saved, the sound card can be set as an audio output for any player in our Max2Play image. Here, in the Raspberry Settings, we can also decide whether we want the Raspberry Pi's own output to be the audio jack or the HDMI port. It is automatically specified to use the HDMI port only when plugged in, which is perfect since we want to use the audio jack that is default.

Step 6: Bluetooth - Adding Our Speakers

Picture of Bluetooth - Adding Our Speakers

Our new Bluetooth plugin offers simple and clear management of your Bluetooth speakers. Just install the plugin and you can scan the area for your device and immediately couple it with the Pi. Make sure to activate the coupling function on your speaker before clicking scan, so we can directly couple them to our Pi. Then, just click "Reconnect" to finalize the coupling. This way, the Raspberry will automatically reconnect to the speakers when they are available. You can even enable an autostart for this plugin to connect to your speakers directly when booting the device.

With our new image, the Bluetooth speaker we couple to our system is also added as a sound output for the option "pulse - Pulse Audio Server". Thus, we can now choose this option to set it as our music output device for one of our players.

Step 7: MultiSqueeze - Connecting Speakers With Players

Picture of MultiSqueeze - Connecting Speakers With Players

The MultiSqueeze Plugin is our player software wonder weapon. In it, we can create as many individual players as we need. All of them can then be configured to our needs. We need to determine the name and the audio output for each player to function in our multiroom environment. There are also advanced options to set specific parameters for expert users, but only name and output are necessary for this setup.

Since we already set up our Bluetooth speaker connection, we can now create our player for this sound output. The MultiSqueeze plugin allows us to create as many players as we like. But since we already have a pre-installed player in the Audio Player menu, we only need to create two additional instances of Squeezelite. Our Bluetooth player should be named Max2Play_BT and its audio output must be "pulse".

The second player we want to set up, should be playing to the Pi's native audio jack output. Thus, we can name it Max2Play_Jack and the audio output has to be sysdefault_bcm2835. After the selection, the players just need to be started and will be running in the background. Now, the two players will be visible in our Squeezebox Server.

The third player already exists in our Audioplayer menu. We just head over there, go into the advanced options of Squeezelite and select our sound card as its sound output. The name of this player is determined by the name of our Max2Play device itself, so we can name it Max2Playdaclight in the Settings/Reboot menu.

Important: For the system to completely start running when booting, we have to activate autostart in all our plugins.

Step 8: The Playback - Enjoying the Freedom of Multiroom Audio

Picture of The Playback - Enjoying the Freedom of Multiroom Audio

Now that all the setup steps are done, we can fully enjoy this new multiroom audio system. With the Squeezebox Server up and running, we can decide how we want to control our different players.

We can use the default web interface of the Squeezebox Server and make use of its many settings to adjust our playback, create our own playlists, add music folders, quickly find our favorite radio streams and fine-tune the preferences. It can, of course, also control all the different players' playback and synchronize them.

However, we have many other great options to control the Server, as well. There are a myriad of apps for Android and iOS, both free and premium ones, that offer you a great interface to take charge of your system from anywhere in your network.

With the integration of DLNA and the optional plugin "shairtunes2", which can turn your players into AirPlay-compatible ones, you can also make use of these technologies to distribute your music. With DLNA clients like AllConnect or BubbleUPnP, we can directly stream any media on our smartphones and tablets to our three zone players.

But the possibilities do not stop here. Thanks to Max2Play's intuitive mounting options, we can quickly mount folders from NAS', USB sticks, external hard drives and any other sources directly on the Pi or from anywhere else in the network.
Check out our website for more information and helpful pointers.

Comments

poofie (author)2017-01-22

It should be noted that this requires a license (even to test) and that costs about $12 (USD) per year.

Max2Play (author)poofie2017-01-27

Hi poofie,

As mentioned in the Instructable, this setup includes some premium features which in fact do require an active premium license, as also mentioned in the parts required list. However, the pricing of the license is actually dependent on the time span you buy it for. E.g. a 5 year license costs only 29.99€. It is also worth mentioning that this license also gets you premium technical support in very active forums.

Jlarmen (author)2016-04-07

Great instructable. Can Maxplay be used to stream Pandora to Google Chromecast Audio? I would to build a touchscreen PI Pandora player to stream throughout the house to speakers each equipped with chromecasts.

Max2Play (author)Jlarmen2016-04-08

Hi Jlarmen,

Thanks for the kind words! There is a Pandora plugin for the Squeezebox Server, so you could technically use this to stream to your Squeezelite players. However, we have not tested this, yet. The Chromecasts would do the same as our Squeezelite players, so we would recommend using these instead with a simple Raspberry Pi setup. Nonetheless, it seems there is a possibility to integrate Chromecast into the Squeezebox environment called "CastBridge", if you are dead-set on Chromecast integration ;)

Jlarmen (author)Max2Play2016-04-08

Thank you for the response. I'm not sure I see how that workflow works. The Chromecast offers powered wi-fi per speaker(s), so how would I replicate that with the Squeezelite player? Is it a physical device or the software on the PI?

Max2Play (author)Jlarmen2016-04-12

The Squeezelite Player is the player software that can be recognized by the Squeezebox Server in your network. You can assign any sound output/speakers you want to each individual instance of Squeezelite. Here, we have the examples of a Bluetooth speaker, a audio jack and a sound card with RCA output. However, you can also use different connections like USB sound cards or HDMI connected speakers.

sox_83 (author)Max2Play2017-01-16

Hi,

Would it be possible to have two Bluetooth dongles and run two squeeze players streaming to two seperate speakers? (2 completely independent players/system)

Cheers

KyleM126 (author)2016-07-29

is there a simple way to make this into say a surround sound system for one room so say all the Bluetooth enabled device receive the same audio? I'd like to make this where the raspberry could also receive the audio from a bluetooth source so theoretically could you have two bluetooth adapters on the the raspberry pi one recieving audio the other bradcasting that same audio to multiple bluetooth devices?

MattD133 (author)2016-07-04

Is a Pi 2 the minimum spec required? I'd like to add a Blaupunkt bluetooth stereo I have to my set up and already have a Max2Play premium license - I'd do it if it means buying a 3 euro bluetooth adaptor, but my set up work find with my RPi 1 B+ and don't feel like upgrading to a 2 as my current setup is great.

Max2Play (author)MattD1332016-07-04

Hi Matt,
We only tested and designed the Bluetooth Plugin for use with the Raspberry Pi 2 Model B and WiFi dongles and the Raspberry Pi 3. We recommend the investment in one of these devices since their hardware is much faster and better than the RPi 1's.

About This Instructable

22,712views

292favorites

License:

Bio: Max2Play offers a browser based administration interface for mini-computers like Raspberry Pi and Odroid on a Linux basis. With Max2Play, applications, so-called Max2Play extensions can ... More »
More by Max2Play:Portable Raspberry Pi Bluetooth Receiver/PlayerBluetooth Streaming for Raspberry Pi Multiroom AudioImage Burner for 12 microSD's
Add instructable to: