ソレダメ!あなたの知らないラズパイ・オーディオの常識と非常識【2018年最新】


さて、毎日暑くなってきて、ビールもオーディオもDIYもこれから本番となる中、皆さん楽しんでますか?(笑)

というわけで、今回は幾つか、ラズパイ・オーディオに取り組む上でボクが過去に気づいたり、情報を得たりしてきた注意すべきポイントや雑学について、あまり他でまとめて紹介している人もいないので、満を持してここで紹介してみる事にしよう。

なお、あくまで注意点であって、絶対にやっちゃダメって事じゃないんだけどね。


Raspberry Pi初代が最も高音質?


歴代のRaspberry Piの中で、最も高音質だと言われているのは、栄えある初代のRaspberry Pi(Model A/B)だと言われている。

その理由だけど、Raspberry Pi Model A/BからA+/B+への移行の際に、Raspberry Piの回路上に1.8V/3.3Vを生成しているチップがあるのだけど、このチップがローノイズのLDOからスイッチングレギュレータに変更されていて、その結果、ノイズがかなり増えたという話があるからだ。

この辺りは、SabreberryDACシリーズの開発者のたかじんさんも過去に紹介していて、少なくともボクを含むラズパイ・オーディオ先駆者は「初代Raspberry Piを大事にとってある」事だけは知っておいた方が良いかもしれない(笑)




有線LAN接続から混入するノイズ


Raspberry Piに入ってくる外界ノイズは音質周りにも当然影響するわけで、個人的にはあまり神経質になる必要も無いけど、手軽にできる可能な範囲でのノイズ対策は通常のオーディオ同様に大切かと思う。

なお、この点、過去にCrazy Audioというブログで「Raspberry Piに対して有線LANから混入するノイズ」に対する話題について書かれているのだけど、この辺り、ラズパイ・オーディオに取り組む方は一度読んでおいてもいいかもしれない。

Tracking down noise sources on a Raspberry Pi - Crazy Audio

特にオーディオマニアは「ノイズに強い」との文言から、セオリー通りに取り組むとここで指摘しているSTPケーブルを採用してしまい、結果ノイズを増やす事になる可能性があるのでUTPケーブルを選択するよう注意願いたい。

電源回路周りの実装が甘い海外製DAC(HiFiBerry DACシリーズを含むその他DAC)ではこの影響も顕著かと思われるので、少しでも気になる人はCrazy Audioの提案通り、無線LANを使用するというのも良いかと。


リアルタイムカーネルで音は良くなるのか?


lightMPDで手軽にリアルタイムカーネルの入ったディストリビューションを扱う事ができるようになったために、自分で仕組みを理解してコンパイル等を実践する人も少ないせいか、どうもリアルタイムカーネルであるだけで音が良いと考える風潮があるような気がする。

ボクは、これはまったくもって間違いだと思っていて、どちらかというと「リアルタイムカーネルを搭載し、各処理のプライオリティが最適化されていると自分好みの音質が得られる」という話でしか無いので、mpdにRTパッチが当たっていてかつ、チューニングが十分になされていないと、あまり意味は無いように思う。

あくまで、チューニングありきなので、拾ってきたRTカーネルを当てたら激変、なんて眉唾とみなして良いかと。

なお、ボクの個人的な体験からすると、USB-DACではかなり効果があったけど、I2SのDACでは音の傾向は変わるかもしれないけど、「音質」としてはそこまで変化が無いようにも思う。


USBメモリ、USB-DACを使用すると音が悪くなる?


過去にラズパイ・オーディオで必死にリアルタイムカーネルを試している時に気づいたのだけど、どうもRaspberry Piで使用されている「SMSC LAN9512/LAN9514(Model B+以降)」というEthenetコントローラとUSBハブの機能が一体化されている変態チップの性能なのかドライバーがイマイチなのか、有線LAN+複数のUSB機器を使用すると音が悪くなる傾向があるように思う。

SMSC LAN9512 - Microchip

なお、何故音が悪くなるかの理由だけど、mpdで音楽再生する場合に、USBメモリやUSB-DACを使用していると、ネットワーク通信とUSB-DACへの伝送、USBメモリからのデータ読み込みがこのLAN9512/LAN9514のチップで同時に処理される事になり、そこで優先順位や割り当てといった優先制御が発生し、さながら車の渋滞のような状態が発生するからだとボクは考えている。

(リアルタイムカーネルの検証時に"dwc_otg"というUSBホストコントローラーのドライバとcifsd、mpd辺りの優先度をそれぞれいじっていると、お互い競合して挙動がおかしくなったりしていたのがその理由。)

なお、I2S DACで音が良くなる理由の一つには、LAN9512/LAN9514で処理されるものが「ネットワーク通信のみ」となる事も大きく影響しているとボクは考えている。

以上、可能な限り、ラズパイ・オーディオではUSB-DACを使わない事が良い結果を得るためのコツと考えて良いだろう。

そういやあ、USBキーボード抜いたら音が良くなったような気がしたこともあったけど、これはプラシーボかも?(笑)

でも、音楽を聴く上で余計なものは挿さない方が良いというのは間違いないとは思うけど。


内蔵無線LANを使うと音が悪くなる?


さて、これは無線LANの内蔵されているRaspberry Pi Zero WやRaspberry Pi 3B/3B+で「可能性として有りうる」話なのだけど、正確に言うと「SDカードの読み書きと内蔵無線LANでの通信を同時に行うと音が悪くなる」可能性について。

そんなわけないだろ、と思う人がいるとは思うけど、これはRaspberry Piの仕様上、あり得ないとも言いきれないと、ボクは考えている。

そのように思う理由は明確で、それは「Raspberry Piの無線LANがSDIO接続となっている」からだ。

つまり、SDカードの読み書きと無線通信が同じSDIOを共有することによって、先ほどのUSBのケースと同様に音が悪くなる可能性がある、ということだ。

まあ、USBの場合は音声信号の流れているUSB-DACの通信が邪魔されることになるので、かなり音質に影響する可能性が高いけど、こちらはどちらかというとデータ通信とCPU処理の話なので、聴き分けられるほどの影響は出ないのかもしれない。

それでもまあ、知っておくにこしたことはないだろうという事で。

気になる人は無線LANは適宜オフにするような運用をすれば良いかと思う(ボタンのあるDACを使用している人は、ボタンに無線のオンオフのスクリプトを仕込むなど)。

ちなみに、Bluetoothはシリアル(UART)経由なので、SDの読み書きとはまったく競合しないことも併せて書いておく。

まとめ

さて、今回は他であまり触れる事が無いような話題をまとめて吐き出しておいたけど、少しは皆さんの役に立っただろうか?

ラズパイ・オーディオに取り組む上では、Raspberry Pi自体が組み込み系機器というカテゴリに含まれるものであって、本来、「必要最小限の構成」で組み上げて「必要最小限の処理」をさせる事で最大パフォーマンスを発揮させるものだという認識は必要だと思うんだよねえ。

そういうわけでVolumio2もどんどん初期の思想から外れて重くなってきているのはちょっと心外だったり(笑)

まあ、簡単に導入できるから便利なんだけどね。


スポンサーリンク
スポンサーリンク