Raspberry Piにshairport-syncをインストールする

  • 9
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

Raspberry PiをAirPlay対応の音楽再生機にするため、mikebrady/shairport-syncをインストールしました。
shairportには複数の派生バージョンがあるため、ご注意ください。

1. 環境

Raspberry Piの本体は、余っていたModel B Rev.2を使用し、Linuxディストリビューションには、公式のRaspbian(Jessie)を使用しました。

pi$ uname -a
Linux raspberrypi 4.1.7+ #817 PREEMPT Sat Sep 19 15:25:36 BST 2015 armv6l GNU/Linux

pi$ cat /etc/debian_version
8.0

また、試験用にUSBスピーカー「Olasonic TW-S7」を使用しました。

2. インストール

公式サイトのREADME.mdに従うだけで、問題なくインストールできました。
以下の内容は、Raspberry Pi向けに余分なものを排除した感じです。
基本的な流れは、以下の通り。

  1. 必要なライブラリのインストール
  2. ソースコードのクローン、ビルド
  3. デーモン用のユーザ、グループの準備
  4. インストール

今回は最新版(HEAD)をインストールしましたが、安定版が良ければタグ名などでgit checkoutしてください。

# 必要なライブラリをインストールする
pi$ sudo apt-get update
pi$ sudo apt-get install libshairport2 autoconf libtool libdaemon-dev libasound2-dev libpopt-dev libconfig-dev avahi-daemon libavahi-client-dev libssl-dev libsoxr-dev

# ソースコードをクローンし、ビルドする
pi$ cd ~
pi$ git clone https://github.com/mikebrady/shairport-sync.git
pi$ cd shairport-sync
pi$ autoreconf -i -f
pi$ ./configure --with-alsa --with-avahi --with-ssl=openssl --with-metadata --with-soxr --with-systemd
pi$ make
pi$ ./shairport-sync --version
2.6-openssl-Avahi-ALSA-soxr-metadata

# デーモンを動かすためのユーザ、グループを作成する
pi$ sudo groupadd -r shairport-sync
pi$ sudo useradd -r -M -g shairport-sync -s /usr/bin/nologin -G audio shairport-sync

# インストールする
pi$ sudo make install

# systemdへの登録状況を確認し、有効化する
pi$ systemctl status shairport-sync
● shairport-sync.service - ShairportSync AirTunes receiver
  Loaded: loaded (/usr/lib/systemd/system/shairport-sync.service; disabled)
  Active: inactive (dead)
pi$ sudo systemctl enable shairport-sync
Created symlink from /etc/systemd/system/multi-user.target.wants/shairport-sync.service to /usr/lib/systemd/system/shairport-sync.service.
pi$ systemctl status shairport-sync
● shairport-sync.service - ShairportSync AirTunes receiver
  Loaded: loaded (/usr/lib/systemd/system/shairport-sync.service; enabled)
  Active: inactive (dead)

3. 設定

設定はお好みで。標準のshairport-sync.conf内に詳しい説明があります。
今回の設定内容は以下の通り。

  • 表示名は「raspberrypi」(iTunesなどに表示される名前)
  • 再生に使用するALSAオーディオデバイスはplughw:1
pi$ cd /etc
pi$ sudo mv shairport-sync.conf shairport-sync.conf.original
pi$ sudo sh -c 'cat << EOF > shairport-sync.conf
general =
{
  name = "raspberrypi"
}

alsa =
{
  output_device = "plughw:1"
  mixer_device  = "plughw:1"
}
EOF'

4. 起動

以下のコマンドで起動します。iTunesなどにAirPlayの再生先として表示されれば成功です。

pi$ sudo systemctl start shairport-sync

5. 参考