Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Raspberry Piでハイレゾ音源を鳴らそう

696 views

Published on

余ってしまったUSB DACを活用するために、Raspberry Piを使ってハイレゾ音源を鳴らそうと苦闘し始めた時の記録です。

Published in: Devices & Hardware
  • Be the first to comment

  • Be the first to like this

Raspberry Piでハイレゾ音源を鳴らそう

  1. 1. Raspberry Piで ハイレゾ音源を鳴らそう みやはら とおる @tmiyahar
  2. 2. そもそもの動機 • いい音で聴きたいな〜と思って少し前にUSB DAC「iFi nano iDSD」を買った 2
  3. 3. そしてヘッドフォン買い替え • iPhone用インナーイヤーヘッドフォンをnano iDSDに繋いだら左側の音が出ない? – 少し強く押し込むと音は出る • マイク、コントロール用の4極プラグと相性が 悪いらしい • いいや、ヘッドフォン買い替えちゃえ! 3
  4. 4. SONY XBA-300購入 すごくいいけど、もう少し音に迫力が欲しいなぁ・・ 4
  5. 5. SONY MDR-1A購入 5
  6. 6. バランス接続したくなり… PHA-3購入! 6
  7. 7. 7 まさに オーディオ沼…
  8. 8. nano iDSDを再活用したいな〜 • オフィス環境はPHA-3の一択で固定された • 自宅で使っていたけど、いまいち使いにくい • ネットワークオーディオ化してリビングのス ピーカーで聴きたい そうだ、ラズパイでハイレゾだ! 8
  9. 9. ハイレゾとは 1. 録音フォーマット:FLAC or WAVの 96kHz/24bit以上が可能であること 2. 入出力インターフェイス:96kHz/24bit以上が 可能であること 3. ファイル再生:FLAC/WAVの96kHz/24bitに対 応可能であること(自己録再機はFLAC、また はWAVのどちらかのみで可とする) 4. 信号処理:96kHz/24bit以上の信号処理性 能が可能であること 5. デジタル・アナログ変換:96kHz/24bit以上が 可能であること 6. 生産若しくは販売責任において聴感評価が 確実に行なわれていること。各社の評価基 準に基づき、聴感評価を行ない、ハイレゾ に相応しい商品と最終判断されていること 9
  10. 10. ラズパイでハイレゾするには • 「Volumio」というオーディオプレイヤーソフト がラズパイ用イメージで配布されている – 内部的にはRaspbian+MPD+独自Webアプリ • MPD:Music Player Daemon • クライアントサーバー型でクライアント多数 よし、試すぞ! 10
  11. 11. 試してみた • Raspberry Pi 3 モデルBを購入! – Amazonで6980円 – 本体(element14版)+透明ケース+ヒートシンク – ケースはRaspberry Pi 2用に買った木製ケースと 交換(干渉する部分はバシバシっとカット!) • microSDカードにVolumio 2 RC1をイメージ書き 込み – RasPi 3でVolumio 1.x系は動作しません! 11
  12. 12. Volumio 2の感想 • FLAC(96kHz/24bit)、WAV(96kHz/32bit)も問 題なく再生できた • WebUIはまぁまぁ使いやすい • /var/lib/mpd/musicに対するSMBファイル共 有が作られておりファイルコピーしやすい • USBメモリを挿すだけでその中の音楽ファイル を再生できる しかし大きな課題も… 12
  13. 13. Volumio 2でDSDが再生できない • 正確には「再生できるがPCM変換される」 – CPU負荷が高くてプツプツ切れる • Volumio 2からDoP(DSD over PCM)のOn/Off 設定が無くなった • ネットで調べてみると再生できている人もいる – そもそもRC版なので報告例が少なすぎて・・ よし、切り分けだ! 13
  14. 14. DSD(Direct Stream Digital)とは • ΔΣ変調を利用したサンプリング 方式 • 1bitで表す • DSD64(2.8MHz)、DSD128 (5.6MHz)、DSD256(11.2MHz) など – 数字はCDの何倍、という意味 • DSD再生に対応したオーディオ インターフェースが必要 14
  15. 15. DoPによるDSD再生方式 • DSDデータをDACに如何に送り込むか? • ネイティブDSD再生サポートしたDACは少ない • PCMのフリをして送り込むDoP(DSD Audio over PCM Frames)が主流 PCM再生の24bitのうち、先頭8bitをマーカー、後ろ16ビットをDSDデータとして扱う 15
  16. 16. 行った切り分け A. Raspberry Pi 2でVolumio 1.55を動かしてみる B. 自分でMPDを入れてみる – RaspbianをmicroSDカードにイメージ書き込み – $ sudo apt-get install mpd mpc – /etc/mpd.confでHW設定変更とdop "yes"を設定 どっちもDSD鳴るじゃん!? でも、実際には試行錯誤が… 16
  17. 17. DoPで必要なデータ転送レート DSD種別 DSD DoP DSD64 2.8224MHz/1bit 176.4kHz/16bit DSD128 5.6448MHz/1bit 6.1440MHz/1bit 352.8kHz/16bit 384kHz/16bit? DSD256 11.2896MHz/1bit 14.1120MHz/1bit 705.6KHz/16bit 768kHz/16bit? DSD512 22.5792MHz/1bit 1,411.2KHz/16bit データ転送量の計算例 (2,822.4kHz×1bit)÷16bit=176.4kHz ※実際には24bit転送 17
  18. 18. DSD128再生状況の確認 $ cat /proc/asound/card1/pcm0p/sub0/hw_params A. 正常にDoPで再生できている場合 – access: RW_INTERLEAVED – format: S32_LE – subformat: STD – channels: 2 – rate: 352800 (352800/1) ←352.8kHzでDACに送信 B. PCM変換されている場合 – rate: 384000 (384000/1) ←DACの仕様の最大値18
  19. 19. DSD64、DSD256再生状況の確認 $ cat /proc/asound/card1/pcm0p/sub0/hw_params • DSD64 – rate: 176400 (176400/1) ←176.4kHzでDACに送信 • DSD256 – rate: 705600 (705600/1) ←705.6kHzでDACに送信 – 1回目再生した時に 19
  20. 20. まとめ • DSDを使わないなら、普通に使う分には Volumio 2で問題なし – 早く正式版が出るといいね • マニアックにやるなら、自分でゴリゴリとMPD を入れてクライアント入れてやるべし – 色んなクライアントがあります 20

×