raspberry piでハイレゾ音源を鳴らそう

20
Raspberry Pi で ででででででででででで でででで ででで @tmiyahar

Upload: toru-miyahara

Post on 13-Jan-2017

213 views

Category:

Devices & Hardware


1 download

TRANSCRIPT

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

Raspberry Pi でハイレゾ音源を鳴らそうみやはら とおる

@tmiyahar

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

2

そもそもの動機• いい音で聴きたいな〜と思って少し前に

USB DAC 「 iFi nano iDSD 」を買った

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

3

そしてヘッドフォン買い替え• iPhone 用インナーイヤーヘッドフォンを

nano iDSD に繋いだら左側の音が出ない?– 少し強く押し込むと音は出る

• マイク、コントロール用の 4 極プラグと相性が悪いらしい• いいや、ヘッドフォン買い替えちゃえ!

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

4

SONY XBA-300 購入

すごくいいけど、もう少し音に迫力が欲しいなぁ・・

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

5

SONY MDR-1A 購入

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

6

バランス接続したくなり…PHA-3 購入!

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

7

まさにオーディオ沼…

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

8

nano iDSD を再活用したいな〜• オフィス環境は PHA-3 の一択で固定された• 自宅で使っていたけど、いまいち使いにくい• ネットワークオーディオ化してリビングのスピーカーで聴きたいそうだ、ラズパイでハイレゾだ!

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

9

ハイレゾとは1. 録音フォーマット :FLAC or WAV の 96kHz/24bit以上が可能であること2. 入出力インターフェイス :96kHz/24bit 以上が可能であること3. ファイル再生 :FLAC/WAV の 96kHz/24bit に対応可能であること ( 自己録再機は FLAC 、または

WAV のどちらかのみで可とする )4. 信号処理 :96kHz/24bit 以上の信号処理性能が可能であること5. デジタル・アナログ変換 :96kHz/24bit 以上が可能であること6. 生産若しくは販売責任において聴感評価が確実に行なわれていること。各社の評価基準に基づき、聴感評価を行ない、ハイレゾに相応しい商品と最終判断されていること

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

10

ラズパイでハイレゾするには• 「 Volumio 」というオーディオプレイヤーソフトがラズパイ用イメージで配布されている– 内部的には Raspbian+MPD+ 独自 Web アプリ• MPD:Music Player Daemon• クライアントサーバー型でクライアント多数

よし、試すぞ!

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

11

試してみた• Raspberry Pi 3 モデル B を購入!– Amazon で 6980 円– 本体( element14 版)+透明ケース+ヒートシンク– ケースは Raspberry Pi 2 用に買った木製ケースと交換(干渉する部分はバシバシっとカット!)

• microSD カードに Volumio 2 RC1 をイメージ書き込み– RasPi 3 で Volumio 1.x 系は動作しません!

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

12

Volumio 2 の感想• FLAC ( 96kHz/24bit )、 WAV ( 96kHz/

32bit )も問題なく再生できた• WebUI はまぁまぁ使いやすい• /var/lib/mpd/music に対する SMB ファイル共有が作られておりファイルコピーしやすい• USB メモリを挿すだけでその中の音楽ファイルを再生できる しかし大きな課題も…

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

13

Volumio 2 で DSD が再生できない• 正確には「再生できるが PCM 変換される」– CPU 負荷が高くてプツプツ切れる

• Volumio 2 から DoP ( DSD over PCM )のOn/Off 設定が無くなった

• ネットで調べてみると再生できている人もいる– そもそも RC 版なので報告例が少なすぎて・・よし、切り分けだ!

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

14

DSD ( Direct Stream Digital )とは• ΔΣ 変調を利用したサンプリング方式• 1bit で表す• DSD64 ( 2.8MHz )、 DSD12

8 ( 5.6MHz )、 DSD256 ( 11.2MHz )など– 数字は CD の何倍、という意味

• DSD 再生に対応したオーディオインターフェースが必要

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

15

DoP による DSD 再生方式• DSD データを DAC に如何に送り込むか?• ネイティブ DSD 再生サポートした DAC は少ない• PCM のフリをして送り込む DoP ( DSD

Audio over PCM Frames )が主流

PCM 再生の 24bit のうち、先頭 8bit をマーカー、後ろ 16 ビットを DSD データとして扱う

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

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 鳴るじゃん!?でも、実際には試行錯誤が…

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

17

DoP で必要なデータ転送レートDSD種別 DSD DoP

DSD64 2.8224MHz/1bit 176.4kHz/16bitDSD128 5.6448MHz/1bit

6.1440MHz/1bit352.8kHz/16bit384kHz/16bit?

DSD256 11.2896MHz/1bit14.1120MHz/1bit

705.6KHz/16bit768kHz/16bit?

DSD512 22.5792MHz/1bit 1,411.2KHz/16bit

データ転送量の計算例( 2,822.4kHz×1bit ) ÷16bit= 176.4kHz※実際には 24bit転送

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

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 の仕様の最大値

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

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回目再生した時に

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

20

まとめ• DSD を使わないなら、普通に使う分には

Volumio 2 で問題なし–早く正式版が出るといいね

• マニアックにやるなら、自分でゴリゴリと MPD を入れてクライアント入れてやるべし–色んなクライアントがあります