Categories
Technology

Airplay Receiver with Raspbian Jessie

I update my instructions on making an Airplay receiver out of a Raspberry Pi, for Raspbian Jessie.

In my post on how to create an Airplay receiver from a Raspberry Pi, I noted that I’d used Raspbian Wheezy instead of Raspbian Jessie, and in order to preface my instructions I wrote:

I’m sure most of the instructions herein will be the same.

As it turns out, this is untrue. Here are a few tips and tricks detailing how things change.

So, the initial setup and getting Wi-Fi working was almost identical, but getting the USB audio card to work was very different. Instead of following the instructions in the first post, the instructions by JoTil in this forum thread are what you need. Go to /usr/share/alsa/alsa.conf and replace

defaults.ctl.card 0
defaults.pcm.card 0

with

defaults.ctl.card 1
defaults.pcm.card 1

and your USB audio card should work (follow the instructions in the old post to verify that!).

When it comes to installing Shairport Sync the instructions also change slightly, because Jessie supports systemd and Wheezy only supports System V. Here are the new steps:

cd ~
ps aux | grep systemd | grep -v grep
git clone https://github.com/mikebrady/shairport-sync.git
sudo apt-get install autoconf libtool libdaemon-dev libasound2-dev libpopt-dev libconfig-dev avahi-daemon libavahi-client-dev libssl-dev
cd shairport-sync/
autoreconf -i -f
./configure --with-alsa --with-avahi --with-ssl=openssl --with-metadata --with-systemd
make
getent group shairport-sync &>/dev/null || sudo groupadd -r shairport-sync >/dev/null
getent passwd shairport-sync &> /dev/null || sudo useradd -r -M -g shairport-sync -s /usr/bin/nologin -G audio shairport-sync >/dev/null
sudo make install
sudo systemctl enable shairport-sync

Renaming the configuration file is the same as before.

2 replies on “Airplay Receiver with Raspbian Jessie”

Hello! Thanks for the above instructions. I had the old shairport working on my pi 3 B running Jessie, with an Audioquest Dragonfly Black (v1.5) USB DAC. However, the output was clipping in the digital domain, and it seemed that the old shairport was limited to using a software mixer with limited processing power. So I followed the above instructions to install shairport-sync as it allows use of the hardware mixer. It installed fine, and appears to set a 48k sample rate on the DAC, but never outputs any audio. If I kill the service and start it up in verbose mode, it says, “audio_alsa: Sample format not available for device “default”: Invalid argument”. I get the same message if I try to specify device hw:1,0. I’ve also modified my .asoundrc to direct pcm.!default to card 1. Any ideas?