有馬総一郎のブログ

(彼氏の事情)

2017年06月02日 20:39:49 JST - 3 minute read - Linux

UbuntuでDSD音源を再生する

Windowsの方でDSDの再生が、できたので、今度はUbuntuで再生させてみたいと思うのが、うぶんちゅ民の心情というもの。NuPrime uDSDは、なんの問題もなくUbuntuで再生可能、さすがだ。

Playing DSD Audio Files in Linux | Delightly Linuxのサイトを見ると、再生できるプレイヤーは、DeaDBeef、HQPlayer、dsf2flac、Audacious。

とりあえず、 UbuntuでJACKとPulseAudioを同時に使う (oka01-rxqbidhqglvaownc) - おかあつ日記を参考に、 JACK(JACK Audio Connection Kit)、lowlatencyを導入しておこう。1

arimasou16@Lemur:~$ cat /proc/version
Linux version 4.4.0-78-lowlatency (buildd@lgw01-11) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #99-Ubuntu SMP PREEMPT Thu Apr 27 16:46:19 UTC 2017
arimasou16@Lemur:~$ 

幸いにして、DeadBeefはインストール済みだったので、再生…しかし、再生はできたのだけれども、音が滑らかでない。2

DeadBeef

DeadBeef、設定が悪いのか正常に再生できない…

次に、Audacious。そもそも JACKでの再生に躓く。オーディオ > 出力の設定 > ビットの深度浮動小数点でないと、“JACK は浮動小数点のオーディオにのみ対応しています。Audacious のオーディオ出力の設定で、ビットæ·…<8b><95>小数点に変更する必要があります。“といったエラーを吐く。

Audacious

ビットの深度のエラー

Audacious

Audaciousのオーディオ設定

次に、 JACKで設定しているサンプルレートと出力サンプルレートが合わないと、“JACK サーバには 192000 Hzのサンプリング周波数が必要ですが、 Audacious は 44100 Hz で再生しています。サンプリング周æ³…<82><92>用いて周波数を合わせてください。“とエラーを吐く。

JACK

JACKの設定

Audacious

サンプリング周波数のエラー

Audacious

Audaciousのプラグイン設定

簡単お手軽には、プラグイン > エフェクト > サンプリング周波数コンバーターにチェックを入れて方法:高速sinc補間もしくは方法:高品質sinc補間にして、レートを JACKのサンプルレートに合わせれば解決する。私の環境だと高品質sinc補間だと、処理が追いつかない様子で、音が間延びして聴こえてしまうので、高速sinc補間で設定した。

Audacious

サンプリング周波数コンバーター

以上で、AudaciousでのDSD再生が成功した。ネイティブ再生になっているのか微妙な気がしないでもないが、foobar2000では読みとれないDSDに埋め込まれたアルバムアートを表示できるなど、それなりに満足行く結果とはなった。


  1. Ubuntu 16.04になって、JACKの導入は簡単になった。/etc/pulse/default.paの編集、pavucontrolのインストールなど不要になった(と思う)。 ↩︎

  2. その後、JACK経由でなければ普通に再生できた…よく分からん。その後、JACK経由だと全く駄目になってしまった…JACK output pluginやDSDでResamplerでサンプルレートを合わせたり、音質/アルゴリズムもSINC_FASTESTにしているのだけど… ↩︎