Volumio for Raspberry Pi 2 (HDMI接続)を試す

オーダーを入れておいたRaspberry Pi 2がようやく届きました。

Raspberry Piとは、超小型のボード型コンピュータで、本体はクレジットカードほどの大きさしかなく、値段も5,000円前後と格安なのですが、USBやLAN, HDMIなどパソコン並みの豊富な端子を備え、microSDカードにプログラム(主にLinuxベース)をインストールして動かしたり、周辺機器をつなげて電子工作をすることもできます。

今回届いたのは2月2日に発表されたばかりの最新モデル(Raspberry Pi 2)で、クワッドコア(ARM Cortex-A7)で前モデルから6倍もの性能アップ、メモリも1GBと進化しています。

Raspberry Pi 2はWindows10も動くようになるというニュースも発表されました。こんな小型コンピュータにWindowsとは驚き。。。(でもアプリは何があるんだろうか?)
http://www.itmedia.co.jp/news/articles/1502/03/news040.html


パッケージはシンプル

正規輸入代理店のアールエスコンポーネンツから購入しましたが、2月初旬に予約を入れて半月ほどで届きました。

で、これを何に使うかというと。。。もちろんLinuxベースのミュージックサーバーVolumio(以前のRaspyFi)を入れてMPDクライアントとして使うのです!

拙宅にはすでに安定稼働してオーディオシステムの中枢になっているCubox-i1(MuBox)があるのですが、唯一最大の難点はHDMIの音声出力設定がわからないため、マルチチャンネルソースは再生することができませんでした。

もしかするとRaspberry Pi2とVolumioの組み合わせでHDMIのマルチチャンネル出力が実現できるのではないかと期待したわけです。

ついでに久し振りにCuBoxのサイトも覗いてみたところ。。。

http://www.solid-run.com/products/cubox-i-mini-computer/

なななんと。。。私の愛用機のCubox-i1がラインナップから消えているではないですか。。。!

以前はi1, i2, i3, i4と4種類でしたが、今は統合されて3種類に絞られてしまったようです。$50ドルポッキリで絶大なコストパフォーマンスを誇っていたCuBox-i1がなくなってしまうとなると、将来を考えるとCuboxからRaspberry Piへの乗り換えも考えなければならないかもしれません。。。

話をRaspberry Pi 2に戻して、さっそくいつものように設定をすることに。

電源は5V2Aということで、汎用品のスイッチング電源を見つけてきてプラグに刺そうとしたのですが。。。ボード上に電源プラグが見当たりません。。。

良く調べてみると、電源はマイクロUSBポートから給電するとのことでした。なるほどこれなら汎用のマイクロUSBケーブルとUSB充電器の組み合わせで簡単に代用できますね。5V2Aの電源コードを使うより便利になりました。

次に、マイクロSDカード(容量は2GBでOK)にVolumioのイメージを書き込みます。こちらもいたって簡単。Volumioはいち早くRaspberry Pi 2向けに新しいバージョン(ver.1.55)をリリースしています。Raspberry Pi 2はRaspberry Piと下位互換性があるそうですが、細かいところではやはり検証済みのバージョンがリリースされているのは安心です。

https://volumio.org/get-started/

ダウンロードしたzipファイルを解凍し、できたimgファイルをWin32DiskImagerという無料ソフトを使ってマイクロSDカードに書き込みます。待つこと10分程でVolumioの最新版が書き込まれたマイクロSDカードが出来上がります。

このマイクロSDカードをRaspberry Pi 2のスロットに差し込み、さらに楽曲を保存したUSBメモリとHDMIケーブルをつなげて、電源を入れてみました。。。

Raspberry Pi 2を起動したところ


すると。。。PCモニタに赤いラズベリーのロゴとコマンドがずらずらと出てきました!

手前の剥き出しのボードがRaspberry Pi 2です

起動が確認できたところで、次は同じネットワーク上の別のPCから設定画面を呼び出します。これもいたって簡単。

URLにvolumio.local/と入力するだけ。たったこれだけで勝手に見つけてくれます。

あとは画面表示を見れば使い方は自明なので、適当に曲を選んでプレイリストに追加して再生ボタンを押します。。。

すると。。。!

なんと!全く予期せずして音が出てきたではないですか!

まだUSB DACにも物理的に繋げてない状況なのに。。。何故!?

そもそもこの音はどこから出ているのかも不明。。。一体これは???

(( ;゚Д゚))

落ち着いて調べてみると、音はRaspberry Pi 2をHDMI接続していたモニタの裏面から出ていたのでした。

つまり、Raspberry Pi 2のデフォルトのALSAデバイスがHDMIモニタになっていたということで、実は私は長年使っていたこのPCモニタの背面にステレオのスピーカーが埋め込まれていることを知りませんでした。。。

いきなり予期しない形で音出しが成功してしまいました。。。。


Volumioの画面

上はVolumioの再生画面です。左の円が再生曲の進行状況を、右の円が音量を表示しています。

以前CuBoxやVoyageMPDをやっていた頃は、対象機器のIPアドレスを特定するのに四苦八苦した記憶があります。世の中本当に便利になったものです。。。

これ以降の設定は拍子抜けするほど簡単です。すべて画面上で選んでクリックするだけですから。Linuxのコマンド操作はおろか、ソースファイルの内容を書き換える手間など皆無です。。。

それぞれ説明を入れるまでもなく、以下の設定はすべてMENUから選んで設定ができてしまいます。

USBのマウント
NASのマウント
ライブラリデータベースの更新
再生デバイスの切り替え(HDMI、USBの切り替えなど)

バッファサイズやりサンプリングなど詳細設定もこの画面から簡単にできるようになっています。もはやvi /etc/mpd.confなどとやってコマンドラインで作業をしていたのは過去のものになりますね。。。詳細設定はデフォルトのままで良いと思います(ただしDSFを再生する場合は、DSD over PCMのチェックマークをオンにします)。

ところがここで問題発生。。。NASのマウントが何度やっても失敗してしまうのです。ログインやパスワードを管理者でやってもダメ。仕方ないのでNASのマウントはあきらめて、USBからの再生で先に進みます。。。

ちなみにVolumioの画面操作をしなくても、従来のMPDクライアントソフトでも、Volumioを見つけてくれるので、楽曲操作は慣れたMPDクライアントソフト(例えばiPadのMPaDなど)を使うことができます。

USBDAC(ラステームのUDAC32RD)への接続も確認できたところで、様々なファイルフォーマットを試してみます。。。

ある程度予想していたとはいえ、192/24からDSFまですべてのファイルフォーマットが再生できました!

しかも、MuBoxと同じく、ギャップレス再生にDSD含め完璧に対応しており、DoPでもポップノイズなど皆無でした。これはUDAC32RDの性能に依るところも大きいのですが。

88.2kHz/32bit 5.1ch FLAC

2ch DSF

5.1ch DSF

再生環境は、USB DACとHDMI接続したPCモニタ(のスピーカー)でした。特筆すべきは、HDMI接続によるオーディオ再生がすんなりできていることです。

特に5.1ch DSFで音が出たことは驚きでした。

もしこれがHDMI接続でのマルチチャンネル再生ができるようだと、私の長年の夢であった

「あらゆる再生フォーマットに対応した究極の音楽プレーヤー」

が実現できることになります!

ここでいう「あらゆる再生フォーマット」とは、特にマルチチャンネルDSDを意味します。

現在市場に出ている膨大なDAC製品のなかで、マルチチャンネルDSD再生に対応した製品は驚くほど少なく、OPPOのプレーヤーを除くと、私の知っている限りはexaSoundのe28という$3,299という超弩級のUSB DACしかありません。。。

http://www.exasound.com/e28/Overview.aspx

HDMIというジッターに弱いインタフェースという違いはありますが、もし$50もしないRaspberry Pi 2がマルチチャンネルDSD再生に対応できるとなると、これはもう革命的な進歩と言えます!

その期待に胸を膨らませつつ、次はAVアンプと接続してみます。。。!

PCモニタのスピーカーではマルチチャンネルが確認できないし、ダウンサンプリングされているはずなので、元の楽曲のサンプリングレートとビット数がそのまま再生できるかどうかは、AVアンプに繋げればわかります。

拙宅のマランツAVアンプAV-8801は内部にDSDデコーダを備える数少ないAVアンプです。HDMI接続でDSDのビットストリームをダイレクトに(PCM変換を介さず)アナログ変換することができます。

Raspberry Pi2 のHDMI出力を、AVアンプのAUX 1 HDMI入力に繋ぎ、再生デバイスをALSAに指定します。


AVアンプ(AV-8801)とHDMI接続


しかしここでいきなり問題に直面。。。

HDMIは、AVアンプに繋がっているディスプレイの仕様の制限内でしか音声が流れないということがわかりました。具体的には、AVアンプには通常TVが繋がっているわけで、TVの音声出力はハイレゾ音源などダイレクトでは出力できないので、勝手にAVアンプ側でダウンサンプリングされてしまうわけです。

しかしこれは挙動としては正しいもので、出力側の仕様にあわせて入力側が適宜サンプリングレートやビット数を調整して正しく音が出るようにできているわけです。

試しに、AVアンプからTVの接続を外して(HDMIケーブルを外して)、Raspberry Pi 2のHDMI接続を試みると、なんとまったく再生ができなくなってしまいました。

困った事態になりましたが、以下のサイトを参考に、HDMI接続のフェイクという裏ワザで、常時繋がっていると誤認させて音だけはディスプレイの有無にかかわらず常時出せるようになりました。

http://www.isibasi.com/~osamu/2013/02/raspberry-pi-hdmi-mpd.html

以下上記angrodさんのサイトからの引用です。

# tvservice -d edid.dat
これを /boot ディレクトリに保存します。再度 /boot/config.txt を編集します。
hdmi_force_hotplug=1 行をコメントアウト、
hdmi_edid_file=1 行を追加。
config.txt は殆どコメント行で、コメントでない行だけ剥ぎとってみると下記の通り。
# grep ^[^#] config.txt
hdmi_force_hotplug=1
hdmi_edid_file=1
hdmi_group=1
hdmi_mode=1
gpu_mem=16
重要なのは2行目の hdmi_edid_file=1 です。これで次回よりブート時 /boot/edid.dat を読み取って、ディスプレイがつながっていなくとも HDMI から強制的に出力してくれます。

しかしこれでも問題解決になりませんでした。

ハイレゾ音源の場合、必ず48kHzにダウンサンプリングされてしまい、さらにマルチチャンネル音源だとFLACだろうがDSDだろうが2ch STEREOにダウンミックスされてしまうのです。

その後いろいろ試行錯誤しましたが、問題解決には至らず、自力ではここまでが限界でした。。。

うーーーーん残念。。。

DSDはともかく、FLACのマルチチャンネルだったらAVアンプにHDMI接続で再生はできるだろうと期待していたのですが、それさえ叶いませんでした。

AVアンプのHDMI接続でのDSDビットストリーム伝送は、家電にしか通用しない独自のプロトコルがあるのでしょうか。。。コンピューターと家電の相互接続はやはり一筋縄ではいかないようです。

ちなみにUSB DACと接続した場合の音の印象ですが、CuBoxやVoyageMPDと同じ傾向の透明度の高い、ダイナミックレンジの広い透き通った音でした。
まだ聴き込みもしていない状態であまり比較できませんが、CuBoxと格段劣るところもないようで、5,000円ポッキリのデバイスとしては驚くべき性能であることは間違いありません。

音の再生に関してはクアッドコアに進化した恩恵は正直不明です。もしかしたらデータベース構築中の音楽再生など並列処理中には効果があるのかもしれませんが、平常時の音楽再生にマルチコアが有効活用されているかは定かではありません。

例えて言えば、PCオーディオでCore i3とi5/i7で音質の違いがどの程度あるかという議論に似ているかもしれません。

ボード剥き出し状態も良くないので、アマゾンで専用のアクリルケースを入手。取り付けてみました。

アクリルケースに収納した状態です

接続した状態です




さて、当初の目論見が期待外れに終わって負け惜しみではないのですが、Raspberry Pi2導入で得たものもありました。

特にCuBoxの代替として将来性の高いRaspberry Piがまったく同じスペックでなおかつ安価で入手できるということがわかっただけでも良かったと思います。

また、今回は試していませんが、Raspberry Pi 2はUSB DACとI2S接続することができる数少ないボード型コンピュータでもあります。I2S接続することによって、USB接続でのさまざまな課題(電源とデータ信号からのコモンコードノイズ、USBの伝送品質など)をクリアすることができます。

実際、I2S接続による音質向上のレポートなども散見されるようになりました。

ただし個人的には、I2S接続は今のところステレオ再生に限定されているので、HDMIのI2S接続が可能なDAC(そんなものが果たしてあるのか不明ですが)が出てこない限り、しばらくは様子見で行きたいと思っています。

試行錯誤の日々ですが、いつか、HDMI接続のマルチチャンネル再生を実現したいと思います。


(2015/02/21 追記)

その後いろいろ調べたところ、HDMI出力が48kHzにダウンサンプリングされてしまうのは、VolumioのALSAドライバの仕様で変更できないのが原因であることがわかりました。。。。

bootにあるconfig.txt(BIOSのようなもの)の記述を変更して

hdmi_force_edid_audio=1

を追加したりしましたが無駄でした。

http://www.raspberrypi.org/documentation/configuration/config-txt.md


最初はAudyssyが入ってしまっているのではと疑いましたが(Audyssyの音場調整が入ると自動的に48kHzにダウンサンプリングされてしまいます)そうではなかったようです。

http://www.raspyfi.com/forum/raspyfi-install-and-troubleshooting/everything-plays-at-48khz-on-hdmi/

Alsa driver limited to 16-bit / 48kHz audio files #494



(2015/02/22 追記)

一部のNASのマウントができない事例も報告されています。拙宅のIO Data製RockDiskNextはVolumioのGUI画面から問題なくマウントできましたが、Buffalo NAS(LS-XLシリーズ)も試してみたのですが、マウントができませんでした。

詳しくは以下を参照ください。

https://groups.google.com/forum/#!topic/lightmpd/PmH07MoEcM8

はたと思いつき、BuffaloのLS-XL NASのファームウェアが古いのが原因かと考え、NASのファームウェアをVer 1.56からVer.1.69(昨年10月にアップデート)へアップデートをかけてみたところ。。。NASのマウントに見事に成功しました!!


LS-XLのNASがマウントできました!

ネットワークプレーヤーを設定しているとNASのマウントが失敗してつまづいてしまうケースは良くあると思いますが、NASのファームウェアのアップデートで解決できることも少なくないのではと思います。

NASは順調に稼動しているときは触りたくないものですが、トラブルが起きたときはファームウェアの更新をしてみるというのは今回は良い教訓になりました。

(2020/03/07 追記)

久しぶりの追記です。Volumio2の最新Build 2.714 (2020/03/02)をRaspberry Pi2にインストールして、HDMIマルチチャンネル音声出力を試してみました。

しかし。。。結果は5年前と同じ、マルチチャンネルのDSDとPCMはいずれもダウンサンプリングされて48kHzのステレオ音声となってしまいました(DSDのマルチチャンネルはブツブツと音切れが激しく試聴に耐えません)。

音声出力のオプションをいろいろと変えて試しましたが結果は同じ。。。やはりVolumioでのHDMIマルチチャンネル音声出力は残念ながら未だにサポートされていないようです。


ブログ村ランキング参加しています。よろしければ以下をポチッと応援どうぞよろしくお願いしますm(__)m


にほんブログ村 PC家電ブログ オーディオへ
にほんブログ村









コメント