前回の続きです。

ラズパイ用I2S DACでDSD再生 2. ドライバーのインストール
Volumio標準ではDSD64までしか対応できません。以下の方法でDSD128およびPCM384kHzに対応できます。
ドライバーのインストール
ES9028Q2Mを採用したI2S DACはドライバーを入れることでVolumioでもDSD128、PCM384Kまで対応できるようです。
以下、やり方を紹介ます。
下記リンクをそのまま実行しただけです。
参考: How-to port ES9028Q2M (i-sabre) driver into Volumio
全てSSHの操作です。
最新のVolumio2.389にて検証しました。
volumio@volumio:~$ apt-get install python build-essential git device-tree-compiler gcc-4.9 g++-4.9
volumio@volumio:~$ volumio kernelsource
#ソースファイルのリネーム volumio@volumio:~$ sudo mv /lib/modules/4.14.29-v7+/build /lib/modules/4.14.29-v7+/source
コマンド uname -rv などを使って確認してください。
#ドライバーのダウンロード volumio@volumio:~$ git clone https://github.com/SatoruKawase/I-Sabre-K2M
#ダウンロードしたフォルダへ移動 volumio@volumio:~$ cd I-Sabre-K2M volumio@volumio:~/I-Sabre-K2M$ sudo make volumio@volumio:~/I-Sabre-K2M$ sudo make modules_install
#ソースファイルフォルダを元に戻す volumio@volumio:~/I-Sabre-K2M$ sudo mv /lib/modules/4.14.29-v7+/source /lib/modules/4.14.29-v7+/build
#ドライバーを適用させる volumio@volumio:~/I-Sabre-K2M$ sudo make dtbs volumio@volumio:~/I-Sabre-K2M$ sudo make install_dtbo
#ドライバーの変更 volumio@volumio:~/I-Sabre-K2M$ sudo nano /boot/config.txt
#### Volumio i2s setting below: do not alter ####
dtoverlay=xxx
dtoverlay=i-sabre-k2m
に書き換え
#再起動 volumio@volumio:~/I-Sabre-K2M$ sudo reboot
再起動後
#ドライバーが適用できているか確認 volumio@volumio:~$ cat /proc/asound/cards
0 [ALSA ]: bcm2835_alsa – bcm2835 ALSA
bcm2835 ALSA
1 [DAC ]: I-Sabre_K2M_DAC – I-Sabre K2M DAC
I-Sabre K2M DAC
#alsaミキサーの設定 volumio@volumio:~$ sudo alsamixer -Dhw
F6でI-Sabre_K2M_DACを選択すると、フィルターの設定が可能です。
次に、webブラウザからの設定です。
volumio.localにアクセスし、設定 > プレイバックオプション > DSD Playback ModeをDoPにします。
これで設定は終わりです。
再生できているか確認する方法
当方の環境では本体前面ディスプレイ上にDSDやPCMの周波数が出ますのでそれで確認もできますが、ディスプレイが無い場合は以下のコマンドで確認します。
#DACカード番号の確認 volumio@volumio:~$ cat /proc/asound/cards
0 [ALSA ]: bcm2835_alsa – bcm2835 ALSA
bcm2835 ALSA
1 [DAC ]: I-Sabre_K2M_DAC – I-Sabre K2M DAC
I-Sabre K2M DAC
再生周波数の確認 任意の周波数を再生しながら以下のコマンドを入力
volumio@volumio:~$ cat /proc/asound/card1/pcm0p/sub0/hw_params access: RW_INTERLEAVED
#DSD64の場合
format: S32_LE
subformat: STD
channels: 2
rate: 176400 (176400/1)
period_size: 16384
buffer_size: 65536
#DSD128およびDXD(352.8kHz)の場合
format: S32_LE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 16384
buffer_size: 65536
#DSD256の場合 > PCM384kHzに変換されています
format: S32_LE
subformat: STD
channels: 2
rate: 384000 (384000/1)
period_size: 16384
buffer_size: 65536
ドライバーを入れる前は、DSD128の場合はPCM192kHzに変換されていました。
ただ、デフォルトの場合でもPCM192kHzへ変換されるものの、DSD256でもノイズもなく普通に音が出ていました。
従来のI2S DACの場合は、ラズパイ側のソフトウェア変換のため処理が重くてDSD256は音になりませんでしたが、このES9028Q2Mの場合は何ら問題ありません。
そのため、PCMに変換されてはいますが、普通にDSD128の再生ができていると勘違いするかもしれません。
DSD128にデフォルトで対応という表記もある意味正しいと思います。
また、このDACは従来のPCM44.1kHzとハイレゾ音源の描き分けがしっかりできていて、そのせいでハイレゾファイルの数がどんどん増えています…。
ハイレゾの音が良いかどうかは色々な要素が絡みますので難しいですが、一つの指標として2Lのフリー音源がお勧めです。
参考: HiRes Download – test bench
こんな感じで同一曲のフォーマット違いで音質のチェックを行います。
使用しているDACチップがPCM、DSDどちらにアップサンプリングするとか、音の好み、機器の相性も含めてフォーマットの違いを確認します。
あと、DSDの場合は原理的に高域側にノイズ成分がありますので、実際に高域がノイジーにならないかも1つの指標になります。
2Lのハイレゾ音源は殆どがマスターがDXDです。PCM/DSDどちらで録音されたものなのかも重要です。
おすすめのDSD販売サイト
DSDの入手先として最もお勧めなのはNativeDSD Musicです。
参考: NativeDSD Music
DSD購入時に同一価格で下位フォーマットを全てダウンロードできます。
例えばDSD256のステレオを買った場合、DSD128とDSD64のステレオ音源もダウンロードできます。
通常は最上位フォーマットだけで良いですが、複数のハードウェアを持っていて、1つはDSD256対応、別の機器はDSD64止まりの時とか便利です。
各音源のページにTech Specsという項目があり、詳細な録音情報が確認できます。
マスターはアナログなのか、デジタルの場合DSD256なのかDXDなのか、録音に使ったケーブル、エンジニア等々。
DXDマスターならDSD256じゃなくてDXDでダウンロードしようかな?とか、マスターがDSD64なら無理にDSD256要らないかとか。情報を元にダウンロードするフォーマットを考えることができます。
この部分は国内のハイレゾ配信サイトにも是非見習って欲しいですね。
最後にオマケです。
目当ての音源がハイレゾでリリースされているのか確認するのに便利なサイトです。
参考: Find HD music
コメント