Raspberry Pi 4+Shairport-syncでAirPlayオーディオレシーバーを作ってみたお話

こんにちはー、ニアです。

今回は、Raspberry Pi 4にShairport-syncを入れて、AirPlayオーディオレシーバーを作り、iPhoneやMacからオーディオをワイヤレス再生してみました。

1. 用意するもの

2. Rasberry Pi 4にShairport-syncをインストール

今回は、MacからRaspberry PiにSSH接続してセットアップします。

ssh pi@192.168.X.X.  # Raspberry PiのIPアドレス
or
ssh raspberrypi.local.   # Raspberry Piのホスト名

# piユーザーのログインパスワードを入力します。

パッケージの一覧リストとインストール済パッケージを更新します。

sudo apt update
sudo apt upgrade

Shairport-syncやそのインストールに必要なパッケージをインストールします。

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

Shairport-syncをGitHubからcloneし、インストールします。

git clone https://github.com/mikebrady/shairport-sync.git
autoreconf -i
./configure --sysconfdir=/etc --with-alsa --with-pa --with-avahi --with-ssl=openssl --with-metadata --with-soxr --with-systemd
make
sudo make install

/etc/shairpoint-sync.confを編集します。

sudo nano /etc/shairport-sync.conf
// General Settings
general =
{
        // 表示するAirPlayの名前を設定します。(デフォルトはホスト名)
        name = "AirRasPlay"; // This means "Hostname" -- see below. This is the name the service will advertise to iTunes.
        // ...

        // soxrを指定します。(音質が向上するとのこと)
        interpolation = "soxr"; // aka "stuffing". Default is "auto". Alternatives are "basic" or "soxr". Choose "soxr" only if you have a reasonably fast processor and Shairport Sync has been built with "soxr" support.
        // ...
};
alsa =
{
        // 出力先のデバイスを指定します。(デフォルトでは、aplay -lで表示されたデバイスの内、カード0のデバイス0を使用します)
//      output_device = "default"; // the name of the alsa output device. Use "shairport-sync -h" to discover the names of ALSA hardware devices. Use "alsamixer" or "aplay" to find out the names of devices, mixers, etc.
        // ...
};

オーディオ出力のデバイス一覧は、aplayコマンドで表示できます。このRasbery Pi 4では、カード0のデバイス0がヘッドフォン出力なので、/etc/shairport-sync.confのalsaのoutput_deviceはデフォルトのままでOKです。

aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: Headphones [bcm2835 Headphones], デバイス 0: bcm2835 Headphones [bcm2835 Headphones]
  サブデバイス: 8/8
  サブデバイス #0: subdevice #0
  サブデバイス #1: subdevice #1
  サブデバイス #2: subdevice #2
  サブデバイス #3: subdevice #3
  サブデバイス #4: subdevice #4
  サブデバイス #5: subdevice #5
  サブデバイス #6: subdevice #6
  サブデバイス #7: subdevice #7
カード 1: vc4hdmi0 [vc4-hdmi-0], デバイス 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
カード 2: vc4hdmi1 [vc4-hdmi-1], デバイス 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0

設定を終えたら、Shairport-syncのサービスを起動します。

sudo service shairport-sync start

# Raspberry Pi起動時に自動起動したい場合、以下のコマンドを実行します。
sudo systemctl enable shairport-sync.service

# Shairport-syncのサービスを停止
sudo service shairport-sync stop

MacやiPhoneのオーディオデバイス選択に、AirPlayが表示されればOKです。ヘッドフォン端子にスピーカーを接続して、AirPlay経由でオーディオ再生できます。

3. 部屋に眠っているミニコンポをAirPlay対応にしたい!

ところで、私がRaspberry PIを使ってAirPlayレシーバーを作ろうと思ったのは、AV Watchのとある記事を見てAirPlayに興味を持ち、部屋に眠っているミニコンポに接続してAirPlay対応にしてみようと思ったからです。

ベルキン、スピーカーをAirPlay 2対応にするアダプター – AV Watch

ミニコンポ(Victor UX-WD700)をAirPlay経由で再生中

Raspberry Pi 4+Shairport-syncでミニコンポをAirPlay経由で再生できたので、後日AmazonでベルキンのAirPlay2アダプターを購入し、ミニコンポをAirPlayに本格的に対応させて現役復帰させました。

Nia-TN-SDfs-wink.png
これでMacやiPhoneでの音楽ストリーミング再生を、ミニコンポから流せるぞー
Nia-TN-SDfs-normal2.png
今年もありがとうございました。
来年もよろしくお願いします。

[END]

参考サイト

この記事をシェアする
Chronoir.netのRSSフィードを購読する