海上忍のラズパイ・オーディオ通信(15)
いま話題のRoonをラズパイで!ラズパイ・オーディオの「Roon Bridge化」を検証する
■Roon BridgeはVolumio 2 RC1でも動く!
Roon Bridgeのインストールだが、公式の動作確認済環境(Arch Linux、Fedora 23、Ubuntu 14.04/15.10)には頼らず、ふだん利用している「Volumio 2 RC1」をチョイスした。最新版Arch Linuxと同じDebain 8.0/Jessieを基礎としたディストリビューションということもあり、バイナリ互換性やサービスの管理は問題ないだろうという判断からだ。
導入手順は公式サイト上の情報にあるが、結論から言うとそのままでは動作しない。Volumio 2 RC1にはbzip2(高圧縮率のアーカイバ)が収録されていないため、シェルスクリプト実行時にエラーとなり、処理が中断されてしまうのだ。逆に言うと、この点さえクリアすれば支障なく導入処理は進行するので、事前にapt-getで「bzip2」をインストールしておけばいい。SSHでリモートログインし、以下のとおりコマンドラインを実行すれば、Roon Bridgeの準備は完了だ。
- - - - -
$ sudo apt-get install bzip2
$ curl -O http://download.roonlabs.com/builds/roonbridge-installer-linuxarmv7hf.sh
$ chmod +x roonbridge-installer-linuxarmv7hf.sh
$ sudo ./roonbridge-installer-linuxarmv7hf.sh
- - - - -
ところで、Debian Jessieはサービス/デーモンの管理に「Systemd」を利用する。Roon Bridgeのインストーラは、Unit定義ファイルを「/etc/systemd/system/roonbridge.service」として作成してくれるので、心配はいらない。次回Volumio 2を起動したときには、Roon Bridgeの動作に必要なサービスは自動的に起動しているはずだ。
さて、Roon Bridge導入後のシステムを起動すると、PC(この場合Roon Server)側から自動的に「Zone」として認識される。あとは簡単で、Audio Setup画面「Audio」タブのNetworked欄に表示されたデバイス名 -- Raspberry Piのホスト名、Volumio 2 RC1の場合デフォルトでは「Volumio」と表示されるはず -- を選択すればいい。Zone Nameを適当に命名し、その文字列が画面下のスピーカーアイコン近くに表示されれば準備完了だ。なお、USB DACなどのオーディオデバイスを接続していないとZoneとして認識されない(ALSAレベルでサウンドデバイスを監視している)ので、念のため。
これだけで、Raspberry PiがRoon Bridgeとして動作する。インストールされたバイナリファイルをざっと調べたところ、マルチプラットフォーム指向の開発環境「Mono」で作られており、将来的にはLinux以外のプラットフォームに移植される可能性もある。ともあれ、ソースコードの大半は全プラットフォームで共有されているはずで、その意味でWindowsやMacと動作に遜色はないと考えていいだろう。
実際、Roon Bridgeとしての動作は安定している。Roonという再生システムは安定したネットワーク環境を前提とするため、特にハイレゾ音源の場合Wi-Fiでは帯域的に厳しい(再生が中断されてしまう)場面もあったが、有線LANに切り替えるとスムーズに再生できた。もちろん、サウンドデバイスの管理はRaspberry Pi側のシステム(ALSA)が担うため、USB Audio 2.0準拠のUSB DACはドライバなしに動作する。
Volumio 2の再生系との共存も、特に支障はないようだ。Roon Bridgeのサービスが稼働しても、再生中以外はサウンドデバイスを排他的に制御することはなく、MPDなどVolumio本来のオーディオ再生機能からのリクエストも受け付ける。この「MPD + Roon Bridge」という環境、ローカルのファイルもネットワークもストリーミング(TIDAL)もOKという再生系を軽々と実現するもので、ますますラズパイ・オーディオの可能性が高まると考えるが、いかがだろう?
Roon Bridgeのインストールだが、公式の動作確認済環境(Arch Linux、Fedora 23、Ubuntu 14.04/15.10)には頼らず、ふだん利用している「Volumio 2 RC1」をチョイスした。最新版Arch Linuxと同じDebain 8.0/Jessieを基礎としたディストリビューションということもあり、バイナリ互換性やサービスの管理は問題ないだろうという判断からだ。
導入手順は公式サイト上の情報にあるが、結論から言うとそのままでは動作しない。Volumio 2 RC1にはbzip2(高圧縮率のアーカイバ)が収録されていないため、シェルスクリプト実行時にエラーとなり、処理が中断されてしまうのだ。逆に言うと、この点さえクリアすれば支障なく導入処理は進行するので、事前にapt-getで「bzip2」をインストールしておけばいい。SSHでリモートログインし、以下のとおりコマンドラインを実行すれば、Roon Bridgeの準備は完了だ。
- - - - -
$ sudo apt-get install bzip2
$ curl -O http://download.roonlabs.com/builds/roonbridge-installer-linuxarmv7hf.sh
$ chmod +x roonbridge-installer-linuxarmv7hf.sh
$ sudo ./roonbridge-installer-linuxarmv7hf.sh
- - - - -
ところで、Debian Jessieはサービス/デーモンの管理に「Systemd」を利用する。Roon Bridgeのインストーラは、Unit定義ファイルを「/etc/systemd/system/roonbridge.service」として作成してくれるので、心配はいらない。次回Volumio 2を起動したときには、Roon Bridgeの動作に必要なサービスは自動的に起動しているはずだ。
さて、Roon Bridge導入後のシステムを起動すると、PC(この場合Roon Server)側から自動的に「Zone」として認識される。あとは簡単で、Audio Setup画面「Audio」タブのNetworked欄に表示されたデバイス名 -- Raspberry Piのホスト名、Volumio 2 RC1の場合デフォルトでは「Volumio」と表示されるはず -- を選択すればいい。Zone Nameを適当に命名し、その文字列が画面下のスピーカーアイコン近くに表示されれば準備完了だ。なお、USB DACなどのオーディオデバイスを接続していないとZoneとして認識されない(ALSAレベルでサウンドデバイスを監視している)ので、念のため。
これだけで、Raspberry PiがRoon Bridgeとして動作する。インストールされたバイナリファイルをざっと調べたところ、マルチプラットフォーム指向の開発環境「Mono」で作られており、将来的にはLinux以外のプラットフォームに移植される可能性もある。ともあれ、ソースコードの大半は全プラットフォームで共有されているはずで、その意味でWindowsやMacと動作に遜色はないと考えていいだろう。
実際、Roon Bridgeとしての動作は安定している。Roonという再生システムは安定したネットワーク環境を前提とするため、特にハイレゾ音源の場合Wi-Fiでは帯域的に厳しい(再生が中断されてしまう)場面もあったが、有線LANに切り替えるとスムーズに再生できた。もちろん、サウンドデバイスの管理はRaspberry Pi側のシステム(ALSA)が担うため、USB Audio 2.0準拠のUSB DACはドライバなしに動作する。
Volumio 2の再生系との共存も、特に支障はないようだ。Roon Bridgeのサービスが稼働しても、再生中以外はサウンドデバイスを排他的に制御することはなく、MPDなどVolumio本来のオーディオ再生機能からのリクエストも受け付ける。この「MPD + Roon Bridge」という環境、ローカルのファイルもネットワークもストリーミング(TIDAL)もOKという再生系を軽々と実現するもので、ますますラズパイ・オーディオの可能性が高まると考えるが、いかがだろう?