音が出ない?RaspberryPiにShairport Syncを入れるときの忘備録
ラズパイ経由で部屋のスピーカーから。 |
Shairport Syncのインストールに戸惑ったので、一連の忘備録。
追記:2021-01-30
chiroru.hatenablog.com
RaspiOS Busterで安定動作するようにまとめ直したので、最新の場合は上記を参照。
追記: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-systemdmake
# ユーザー情報の設定
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
ただの自己満足。
だが、それがいい。自己満足ついでに。
増税前ということで、あまりの可愛さに一目惚れしていたDALIのOBERON1を購入。
部屋も明るくなるし、映画見るのが楽しくなりました!
以上、@chiroru_27 でした。