必要に応じて、mpd、pulseaudio、raop2モジュールを使用できます。
- プレイリスト、ライブラリなどを管理するためのmpd(
sudo apt-get install mpd
)
- オーディオ出力を管理するためのpulseaudio:AirPlayのraop、またはアナログジャック、HDMI、httpストリーミングサービスなどのその他の出力デバイス(
sudo apt-get install pulseaudio
)
- pulseaudioに組み込まれた元のraopモジュールが機能しない場合のpulseaudioの raop2モジュール
pulseaudioのRAOPモジュールの更新バージョンを取得するには、ソースからpulseaudioをビルドする必要がありました。
これを機能させるために私がやったことはsudo apt-get install
次のとおりです(パッケージが足りないという不満を言うかもしれませんが、それらだけです)
MPDをインストールする
sudo apt-get install mpd
PulseAudioをインストールする
選択肢A:古いAirPlayデバイスを持っているか、UDPストリーミングが不要です。
簡単ですが、互換性は低くなります。
sudo apt-get install pulseaudio
選択肢B:より優れた互換性と、TCPおよびUDPストリーミングの両方のサポートが必要な場合
次に、pulseaudio用のraop2モジュールが必要です。これは、ソースからPAを構築することを意味します。
gitをまだインストールしていない場合はインストールし、pulseaudioをビルドします(公式の手順を参照)。
sudo apt-get install git intltool autoconf build-essential
cd
git clone https://github.com/hfujita/pulseaudio-raop2
cd pulseaudio-raop2
./bootstrap.sh
make
sudo make install
私のセットアップでは、libpulse.so.0を手動でシンボリックリンクする必要がありました。
cd ~/pulseaudio-raop2
sudo rm /usr/lib/arm-linux-gnueabi/libpulse.so.0
sudo ln -s `cd;pwd`/pulseaudio-raop2/src/.libs/libpulse.so.0 /usr/lib/arm-linux-gnueabi/libpulse.so.0
sudo chown root.root /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
sudo chmod 744 /usr/lib/arm-linux-gnueabi/libpulse.so.0
または、あなたの好みに合わせて:
cd ~/pulseaudio-raop2
sudo rm /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
sudo mv pulseaudio-raop2/src/.libs/libpulse.so.0 /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
sudo chown root.root /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
sudo chmod 744 /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
すべてを構成する
MPDの初期設定
次に、MPDをセットアップする必要があります。
sudo vi /etc/mpd.conf
そのファイルで、次を設定します。
music_directory "/path/to/your/music"
user "mpd"
bind_to_address "127.0.0.1"
bind_to_address "192.168.x.y"
bind_to_address "2a01:xzy....your IPv6 if you want"
出力を編集する必要がありますが、最初にpulseaudioシンクの名前が必要です。
PulseAudioシンク
Avahi / zeroconfは、AirPlayデバイスの検出を可能にするので便利です(zeroconf / mDNS / Bonjourを使用)。
sudo apt-get install avahi
これで、pulseaudioを起動して、RAOPモジュールをロードすることができます。
pulseaudio --start --log-target=syslog -vvvv --log-level=debug
pacmd load-module module-raop-discover
pacmd list-sinks | grep name:
セットアップの出力は次のとおりです。
name: <raop_output.Freebox-Player.local>
name: <raop_output.Freebox-Server.local>
name: <raop_output.Freebox-Player.local.2>
name: <raop_output.Freebox-Server.local.2>
その後、/etc/mpd.conf
再度編集して、次の出力を追加する必要があります。
audio_output {
type "pulse"
name "Freebox Player"
sink "raop_output.Freebox-Player.local"
format "44100:24:1"
}
音楽をストリーミングしたいすべてのAirPlayデバイスにこれらのブロックの1つを追加します。
PulseAudioの構成
最後の部分は、PAをセットアップすることです。
sudo vi /etc/pulse/client.conf
コメントを外すとautospawn = yes
、必要なときにpulseaudioが自動的に起動します。
sudo vi /etc/pulse/default.pa
下部に次の行を追加します。
load-module module-raop-discover
これにより、pulseaudioは起動時にRAOP検出モジュールをロードします。
最終段階
これで動作するはずです。MPDを起動します(実行中の場合は最初に停止します)。
sudo /etc/init.d/mpd start
少し待ってください。デーモンが正常に動作するには、RasPIで少なくとも10〜15秒かかります。
音楽ライブラリを更新します(そして、終了するのを待ちます):
sudo apt-get install mpc
mpc update
自由に出力を有効にします(以下は、設定されたMPD出力をリストし、最初の出力を有効にします):
mpc outputs
mpc enable 1
次に、お気に入りのMPDクライアントを使用して音楽を再生します。私はncmpcpp
コマンドラインで使用しており、携帯電話/タブレットでMPDroidを使用しています。
トラブルシューティング
mpdを詳細モードで起動し、最大ログレベルでpulseaudioを起動し、ログを監視します。
mpd --verbose
pulseaudio --start --log-target=syslog --log-level=debug -vvvv
tail -f /var/log/mpd/mpd.log
tail -f /var/log/syslog
最初にpulseaudioが動作するようにしてください。pulseaudioをロードし、RAOPディスカバーモジュールをロードし、シンクをリストし、デフォルトのシンクをセットアップして、何かを再生しようとします。
paplay /usr/share/sounds/alsa/Front_Center.wav
pulseaudioが動作したら、MPDを試してみてください。