Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
29
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

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

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. 参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
29
Help us understand the problem. What are the problem?