海上忍のラズパイ・オーディオ通信(32)
ラズパイオーディオで手軽に実現!Moode Audioで “I2Sの” 384kHz/32bit再生
では、どうすれば「I2Sで384kHz/32bit」を実現できるかだが、原則論でいうと「前述したパッチがカーネルに取り込まれ、そのカーネル用にビルドされた(同じく384kHz/32bit対応の)ドライバーが登場するのを待つ」ことになる。こういうと簡単そうだが、いまやLinuxカーネルの開発は世界最大規模のオープンソースプロジェクトであり、安全性・安定性を考慮すれば慎重な対応を求められる。実際、検討の末却下されることも多く、前述したパッチが採用されるとは限らない。
成果を急ぐなら「自炊」だ。自力でコンパイラなど開発環境を整え、カーネルのソースコードを入手し、そこに384kHz/32bitを可能にするパッチを適用してカーネルを再構築。あわせてドライバのソースコードを入手し、384kHz/32bitが通るようコードを修正したうえでコンパイル……確かにパッチがカーネル本流に採用されるのを待たずに済むが、Linuxに不慣れな向きにはかなりハードルの高い作業だろう。
だが実は、もっと簡単な方法がある。v3.0以降のMoode Audioでサポートされた「アドバンスド・カーネル」を使えばいいのだ。最新版v3.6では、Raspbianベースの標準カーネルに加えて低レイテンシーを追求した「Advanced-LL」と、リアルタイム性を重視した「Advanced-RT」という2種類のカスタム版カーネルを選択できる。このどちらかのアドバンスド・カーネルを使えば、もちろん要求スペックを満たしたDACを積む拡張ボードに限るが、あっけなく384kHz/32bitのI2Sを実現できてしまうのだ。
作業は簡単。WEBブラウザでMoode Audioの管理画面にアクセスし、「System Configuration」画面にあるLinux Kernel欄で「Advanced-LL」または「Advanced-RT」を選択、「INSTALL」ボタンをクリックしてしばらく待てばいい。数分すると再起動を促すダイアログが現れるので、指示どおりシステムを再起動すればOKだ。
再起動後に我らが「DAC01」の動作を確認すべく、2LのWEBサイト(こちら)からFLAC 352kHz/24bitをダウンロードして、再生してみたところ……問題なし。WEB UIで「Audio information」を確認すると、Output Stream欄には「24bit, 352.8kHz, Stereo」の表示もある。
再生キャパシティを超える場合はMPD側でダウンサンプリング処理されることから、念のためSSHでリモートログインしてprocファイルシステムをチェックしたところ、フォーマットは「S24_LE」でレートは「352800」と、確かに352kHz/24bitで再生されている。さらに念のため、ソフトウェア(SoXライブラリ)でアップサンプリングしてみたが、特に問題なく384kHz/32bitで再生できることを確認した。
なお、DAC01は同じPCM5122を搭載する「HifiBerry DAC+」のドライバで動作するため、おそらく他のPCM5122搭載DACボードも同様に352kHz/24bit再生できるはず。カーネル再構築もドライバの手配も必要なし、PCM5122の底力を引き出すにはMoode Audioのアドバンスド・カーネルが最短ルートと言っていいだろう。
ところで、ヘッドホンアンプで384kHz/32bitというスペックはそれほど珍しくもない。このDAC01も、だから?と言われてしまいそうだが、注目すべきは「I2Sで384kHz/32bitをしっかり出せる」という点だ。
DAC01では、PCM5122がI2Sの受け手となるが、これがデジタルオーディオトランスミッタICだとしたら?要するに、384kHzで出力できるDDCカードが視野に入ってくるというわけだ。もちろん、384kHzの受信に対応した製品が少ないことは承知しているが(CHORD Hugo2はCOAXで768kHz/32bitの入力に対応している!)、ラズパイ・オーディオの新たな注目材料となるに違いない。