[忘備録] Raspberry PiでAirPlay (Audio Only)に対応する

 家のラズパイの設定関連で、どこかに行ってしまいそうな情報を見つけたので、忘備録してアップ。誰かの役に立てば。。。

最近のオーディオ関連は、基本的にはBluetoothなどでスマホから直接音楽を再生できるものが多いと思いますが、うちはむかーしに買ったパワードモニタースピーカーがいまだに現役でして、ミキサーからの出力とは別に、スピーカ側の余っているRCAにラズパイ→DAC→モニタースピーカーと接続して音楽聴いています。

ラズパイでAirPlayを受けれる様にすると、iPhone/iPad/Macのオーディオをモニタースピーカーから鳴らせる様にできます。ここの記事によると、AirPlay2ではAppleミュージックのロスレスまでの音質までなら行けるみたいです。Bluetoothスピーカーより解像度は高そうですよ、というわけでRaspberry Piが家に転がって役目ないことになっている方、これだけでも音楽環境が変わります!!

今なら↓のような感じ?JBLのモニターも捨てがたい。。

→  →    

必要なライブラリのインストール

$ sudo apt install git autoconf libdaemon-dev libpopt-dev libconfig-dev libasound2-dev libpulse-dev libavahi-client-dev libssl-dev libsoxr-dev

GitHub - mikebrady/shairport-sync: AirPlay audio player. Shairport Sync adds multi-room capability with Audio Synchronisation各ライブラリの説明は公式HPに記載あり。

Shairport Syncのインストール

#ダウンロードし、作業フォルダに移動

$ git clone <https://github.com/mikebrady/shairport-sync.git>

$ cd shairport-sync


#展開しオプションを設定

$ autoreconf -i -f

$ ./configure --sysconfdir=/etc --with-alsa --with-pa --with-avahi --with-ssl=openssl --with-metadata --with-soxr --with-systemd


#インストール

$ make && sudo make install

GitHub - mikebrady/shairport-sync: AirPlay audio player. Shairport Sync adds multi-room capability with Audio Synchronisation各オプションの説明は公式HPに記載あり。

Shairport Syncのサーバー設定

alsaの接続を確認する。↓の場合、

aplay -l

**** ハードウェアデバイス PLAYBACK のリスト ****

カード 0: Audio [DAC USB Audio], デバイス 0: USB Audio [USB Audio]

  サブデバイス: 1/1

  サブデバイス #0: subdevice #0

カード 0: Audio [DAC USB Audio], デバイス 1: USB Audio [USB Audio #1]

  サブデバイス: 1/1

  サブデバイス #0: subdevice #0

カード 2: vc4hdmi [vc4-hdmi], デバイス 0: MAI PCM vc4-hdmi-hifi-0 [MAI PCM vc4-hdmi-hifi-0]

  サブデバイス: 1/1

  サブデバイス #0: subdevice #0

"plughw:0,0"でカード0, サブデバイス0

各要素内に追加

$ sudo nano /etc/shairport-sync.conf


# 音質、出力、アンプ側音量に固定 ignore_volume_control

# 音源ソースとなるiPhone/iPad/Mac側でボリュームをコントロールしたいなら"no"にする。

# Raspberry Piから接続先のオーディオシステム側で設定したい場合には"Yes"に。

general =

{

interpolation = "soxr";

output_backend = "alsa";

ignore_volume_control = "yes";

}


# 割り込み接続

sessioncontrol =

{

allow_session_interruption = "yes";

}


# 音質

alsa =

{

output_device = "plughw:0,0";

output_format = "S32_LE";

output_rate = 176400;

period_size = 16384;

buffer_size = 65536;

}

アクセス権限の追加と自動起動

PulseAudioにアクセスできるようにユーザを追加

$ sudo usermod -a -G pulse-access shairport-sync

自動起動を有効化

$ sudo systemctl enable shairport-sync.service

$ sudo systemctl start shairport-sync.service

コメント

このブログの人気の投稿

My 3rd DIY Keyboard - Levinson

My first - Iris Keyboard -

My 2nd Iris Keyboard