Paul Chilton

Electronics, Home Automation & Software Development

View all Articles

Setting up Raspberry Pi as a Squeezebox Player

27 Mar 2013

In a previous article I detailed the steps I used to setup a Squeezebox server using a RPi. To continue on from this I want to setup a multi-room music system using the Pis. You can locate a RPi in each room in the house and connect a pair a speakers and create an easy multi-room Sonos-like music system.

You can install the player (squeezeslave) on both the server RPi and/or seperate Pi’s.

Start by downloading, extracting and renaming the squeezeslave application:

cd /usr
sudo mkdir squeezeslavesrc
cd squeezeslavesrc
wget http://squeezeslave.googlecode.com/files/squeezeslave-1.2-367-armhf-lnx31.tar.gz
tar -xvf squeezeslave-1.2-367-armhf-lnx31.tar.gz
mv squeezeslave-1.2-367 squeezeslave

Ensure you have BZip2 installed:

sudo apt-get install bzip2 -y

Download the following script and setup the initialisation script to run the player when the RPi boots:

wget http://sourceforge.net/projects/softsqueeze/files/squeezeslave/squeezeslave-1.2.311/squeezeslave-1.2-311-src.tar.bz2
tar -xjvf squeezeslave-1.2-311-src.tar.bz2
sudo cp squeezeslave /usr/bin
sudo cp squeezeslave-1.2-311/config/squeezeslave.init.debian /etc/init.d/squeezeslave
sudo chmod 755 /etc/init.d/squeezeslave
sudo update-rc.d squeezeslave defaults

Get the MAC address from the network information:

ifconfig

Copy the MAC address of eth0 from above and paste in the next snippet. This ensures that multiple slaves can all be used on the same network. Note that any additional configuration required to be applied to the squeezeslave executable should be included in this file, these options are passed to the executable when it is run.

sudo echo "SBSHOST=\"-F -mac 00:00:00:00:00:00\"" > defaultsqueezeslave
sudo cp defaultsqueezeslave /etc/default/squeezeslave

Start the slave player:

sudo /etc/init.d/squeezeslave start

Open the sound mixer application:

sudo alsamixer

Use the up arrow to increase the maximum volume output from the RPi. Press Esc to save and exit.

You can now open up the Squeezebox Server web admin page in your browser. You should see a slave device in the player drop-down.

To change the player name from ‘squeezeslave’ to something sensible like ‘Living Room’, open up the Settings from the server webpage, select the player tab and change the description.

Credits go to DABDig for some of the original instructions.

Startup problem with LPC1347   Setting up Raspberry Pi as a Squeezebox Server