#ChiroruLab

趣味と日々の雑記録

【Buster対応】音が出ない?RaspberryPiにShairport Syncを入れるときの忘備録

f:id:chiroru_27:20190927232514j:plain

ラズパイ経由で部屋のスピーカーから。

Shairport Syncのインストールに戸惑ったので、一連の忘備録。
追記:2020-02-03
USBDACを使用したBusterの場合、デフォルトの再生デバイスALSA側で変更しないと音がでない。
audio device settingsは標準でインストールされていないので、設定ファイルを書き換える。



まもなく転職、@chiroru_27 です。
今回は、Shairport SyncというラズパイをAirPlayサーバーにするソフトのお話。

バージョンの違いからか、ちらっと調べて出てくるものだとエラーが出て再生ができないものがほとんどだったので、今回は2019年9月27日現在動くインストール手順をまとめます。

Shairport Syncのインストール

参考

qiita.com

ライブラリをインストールする

# 基本的なライブラリのインストール
sudo apt-get update
sudo apt-get -y install libshairport2 autoconf libtool libdaemon-dev libasound2-dev libpopt-dev libconfig-dev avahi-daemon libavahi-client-dev libssl-dev libsoxr-dev


cd ~
git clone https://github.com/mikebrady/shairport-sync.git
cd shairport-sync
autoreconf -i -f
./configure --with-alsa --with-avahi --with-ssl=openssl --with-metadata --with-soxr --with-systemd

make


# ユーザー情報の設定
sudo groupadd -r shairport-sync
sudo useradd -r -M -g shairport-sync -s /usr/bin/nologin -G audio shairport-sync


# 実行場所と権限の設定
sudo mkdir /home/shairport-sync
sudo chown shairport-sync:shairport-sync /home/shairport-sync
sudo make install


# 自動起動に登録する
sudo systemctl enable shairport-sync
sudo systemctl start shairport-sync

Shairport Syncの設定

# 以下を各要素内に追加
sudo nano /usr/local/etc/shairport-sync.conf

# 表示名、音質、出力、アンプ側音量に固定
general =
{
name = "RaspberryPi";
interpolation = "soxr";
output_backend = "alsa";
ignore_volume_control = "yes";
}


# 割り込み接続
sessioncontrol =
{
allow_session_interruption = "yes";
}


# 音質
alsa =
{
output_format = "S32";
output_rate = 176400;
period_size = 16384;
buffer_size = 65536;
}

USBDAC+Busterの場合

$ /usr/share/alsa/alsa.conf
#defaults.ctl.card 0
defaults.ctl.card 1


#defaults.pcm.card 0
defaults.pcm.card 1


ファイアーウォールにルールを追加

UFW等を使っている場合はルールを追加する必要があります。
以下はshairport-sync.conf内の初期値です。

# port
$ sudo ufw allow 5000


# udp_port_base , udp_port_range
$ sudo ufw allow 6001:6011/udp



ただの自己満足。

だが、それがいい

自己満足ついでに。
f:id:chiroru_27:20190928204404j:plain
増税前ということで、あまりの可愛さに一目惚れしていたDALIのOBERON1を購入。
部屋も明るくなるし、映画見るのが楽しくなりました!

以上、@chiroru_27 でした。