Expand your multi-room Pi audio setup
Nick Peers reveals how to develop your multi-room audio setup further by adding touchscreen controllers and Bluetooth capability. (Part 2 of 2.)
Last issue, we revealed how to build your own multi-room audio system for the fraction of the cost of a Bose or Sonos setup using your Raspberry Pi as a server with the open-sourced Logitech Media Server (also known as Squeezebox). This issue, we’re going to fill in the missing gaps by adding a range of touchscreen controllers, which provide a more convenient means of playing and managing your library.
Think of the controller as a glorified remote control, with the added benefit that it enables you to control any or all of the players in your home setup. When Logitech was selling its own Squeezebox multi-room system, its primary touchscreen controller took the form of a hi-tech remote control, which can still be found second-hand if you know where to look.
PI CONTROLLER
But why pay at least $200 for that when you have much cheaper alternatives? For example, why not press the Pi’s official touchscreen into service as a fully functional controller instead? The following works beautifully with the official Raspberry Pi touchscreen, but can be adapted for smaller touchscreens too.
If you’re running PiCorePlayer, then everything you need to add touchscreen support is built into the OS. Start by logging on to your Pi through your web browser — you can get its IP address from the messages that appeared on your touchscreen when you booted your Pi.
Make sure either Normal or Advanced is selected before switching to the Tweaks tab and scrolling down to the Jivelite Setup section. Start by clicking the Install button under and wait for the download and installation to take place. When prompted, click OK to reboot and switch your attention to your touchscreen to complete the setup process.
Start by selecting your language followed by a skin. Grid (800 x 400) uses large icons, while Joggler shows items in a list. Make your choice (you can switch later via ‘Settings > Screen > Select Skin’) and you’ll be taken to the main menu when you’ve confirmed your choice.
TWEAK THE SETTINGS
Next, tap Choose Player (remember, the controller works with any player). Once selected, any existing playlist assigned to the player in question will be displayed. Tap the music note button to view what’s currently playing and access playback controls.
When browsing music to play on your Pi touchscreen controller, tap and hold on an artist, album or track and you’ll bring up a context menu with various options, including playing it immediately, playing it after the current track and saving it to favourites.
The My Music and Radio buttons display similar options found on the server’s own playback screen, while there’s a built-in search tool. You’ll also see a reference to apps — tap App Gallery to see available apps, split into categories. These contain various streaming services, but there’s also an app to integrate Flickr into your controller for browsing photos.
Go to Settings and you’ll find options for fine-tuning your controller. Useful settings include the ability to integrate a slideshow of locally hosted photos, an option for enabling sleep and the PiCorePlayer menu, where you can either shut down or restart your touch-enabled Pi.
If the official touchscreen is out of your price range, the box (below right) reveals more affordable options for adding a user-friendly touch controller to your setup.
BLUETOOTH SPEAKERS
We’ve already seen how easy it is to integrate AirPlay speakers into your multi-room audio setup, but what about Bluetooth speakers or headphones? The audio quality isn’t brilliant — there’s no aptX support for example — but it’s a good option for integrating an affordable Bluetooth speaker into your setup.
Unlike AirPlay, Bluetooth speakers need to be paired with a separate player — the simplest option is through your mobile (in which case, you’ll also need a media player app — remember, you can install a plugin to add DLNA/ UPNP support to LMS or purchase a dedicated Squeezebox player such as SqueezePlayer — $6.49 for Android),
but it’s also possible to pair them with your Raspberry Pi player.
If you go down the Pi route, there’s one major caveat: avoid using Bluetooth speakers with any Pi that’s connected to your network via the 2.4GHz Wi-Fi spectrum because of interference. That means you either connect using an Ethernet cable or use the 5GHz spectrum (that means an external 802.11ac Wi-Fi adapter unless you have the latest Pi 3 Model B+).
Once again, PiCorePlayer makes integrating Bluetooth speakers a simple task, and it’s smart enough to block any attempt to have both internal Wi-Fi and Bluetooth enabled at the same time unless you have a RPi 3B+.
First, switch to the Wi-Fi Settings tab — make sure ‘RPi built-in Wi-Fi’ is switched off and ‘RPi built-in Bluetooth’ is set to On before clicking ‘Save/Connect’ and Cancel when prompted to reboot. Now switch to the Squeezelite Settings tab and set the audio output device to Bluetooth audio from the drop-down menu before clicking Save — this time, reboot when prompted.
When you return to the browser, select the Beta tab on the Main page, then return to Squeezelite Settings and click Card Control. Click ‘Install Bluetooth on pCP’ Again, wait for extensions to be download and installed.
Reboot when prompted and return to ‘Squeezelite Settings > Card Control’. You should see the first two items are now ticked, with only the final one — ‘BT Device is Not Connected’ — still disconnected. Scroll down to the bottom where you’ll see options for pairing and selecting Bluetooth devices. Switch on your Bluetooth speaker, put it in pairing mode and click Scan.
Hopefully your device will be detected on the first attempt, but keep trying until it shows up and the Pair button appears. Select it from the drop-down menu and click the button. It may take two or more tries before the pairing succeeds.
Once paired, choose the speaker from the drop-down next to Select before clicking the button if ‘BT Device is Not Connected’ is still visible; when the screen refreshes, it should be ticked, indicating you’re ready to attempt playing music through your Pi’s new wireless speakers. Log on to the server or point your chosen controller to the Pi in question, and then start playback.
If it appears to be working, but there’s no sound, switch off the speaker, reboot your Pi and switch on the speaker immediately after it starts to boot — this should clear the problem. Not all speakers will work — we were able to pair an Aether Cone, for example, but no sound ever came out of it; however, after a reboot, our Azatom Horizon DAB radio with Bluetooth worked perfectly.
KEEP EXPLORING
Now you’ve added a controller and possibly integrated Bluetooth speakers or headphones into your setup, your multi-room audio setup is starting to take shape nicely. Keep exploring — in particular, visit the Plugins tab of your LMS server’s Settings for ways in which you can expand your setup’s capabilities further.
For example, as your music library grows, you may wish to create smaller, sub-libraries based around specific criteria, such as specific artists. Install the Custom Browse and Multi Library plugins and follow the guide at wiki.slimdevices.com/index.php/Multi_ Library_plugin. In particular, the links for creating a browse menu for classical music or a dynamic menu for browsing by tags rather than genres may be of interest.
“Unlike Airplay, Bluetooth speakers need to be paired with a separate player — the simplest option is through your mobile.”