Daphile PCオーディオ 2020年06月24日 01:02   編集

Daphileで高音質化する方法がいくつかあるらしい。
  • オンボードのオーディオ機能を無効にする
  • CPUクロックを最低に落とす
  • RAM再生する
などだ。
オンボードのオーディオを無効にするのは、起動時にBIOSで設定するので、ヘッドレスで使っている場合もこの時だけはディスプレイやキーボードをつないでおく必要がある。PC起動時にDELやF10などBIOSを起動するショートカットキーを押すとBIOS画面が開くが、Daphileをインストールするとパソコンの起動がかなり速いので、電源ボタンを押すと同時くらいにBIOSを起動するショートカットキーを押さないと普通にDaphileが起動してしまう。オンボードのオーディオを無効にするとDaphileのオーディオデバイスメニューにも表示されなくなった。Daphileのオーディオデバイスメニューで内部オーディオを無効にする方法もあるかもしれないが、BIOSで無効にする方が確実。

CPUクロックに関してはデフォルトで最低の周波数が選択されていたので、変更のしようがなかった。すでに最適化されているということだろう。

RAM再生はDaphile画面下の方のメモリみたいなアイコンをクリックすると、プレイリストにある曲がRAMディスクに読み込まれ、それから再生されることによってディスクへのアクセスがなくなり、高音質になるというものらしい。このボタンを押すと読込にしばらく時間がかかる。曲を再生中だったらいったん再生がストップする。読込が終わると自動的に再生が再開する。
元々高音質なので、どれほど変わるのかというのは正直よくわからなかった。
このRAM再生ボタンはDaphile標準のインターフェイスだけで、Materialスキンでは表示されないようだ。それとRAMに読み込まれるのはライブラリ内の曲のみで、Spottyの曲をリストに入れていた場合、消えてしまう。またリプレイゲインを使っていた場合なども無効になるが、高音質再生が目的なので、当然かもしれない。

私の環境では
  • BIOSでSATAコントローラーを無効にする
というのも効果があった。レンダリングPCのSATAを切ってみた参照。もちろんSATAデバイスを利用している場合は使えない方法だ。Daphile専用PCでUSBメモリ起動、ライブラリに内蔵HDDやSSDを使用していないケース限定だ。Daphileをサーバー用、レンダリング用と2台に分割している場合はレンダリング用のSATAを切るだけでも効果がある。ノートPCではSATAコントローラーを無効にできないこともあるようだ。
SATAを切ると音質アップする理由については、CPUの負担が減るからだと思うが、音質アップにSATA無効が効果があると書かれているのは見たことがない。未検証だが、eMMC搭載のPCでeMMCを使わないならこれを無効にするのも同様の効果があるかもしれない。

Daphileだけでなく、ネットワークオーディオの高音質化のために効果があると思われる方法のもう一つは
  • オーディオネットワークの分割
スマホやパソコン、テレビ、プリンターなどいろいろなデバイスがつながっている家庭用ネットワーク内でそのままネットワークオーディオを構成すると、こうしたオーディオには関係ないデバイスが発信する信号も受け取ってしまい、それが音質に影響してしまう恐れがある。このためオーディオネットワークをほかの家庭用ネットワークと切り離したほうが音質的には望ましいということだ。
以下で長々と説明している「サブネットマスクで絞り込み」もその方法の一つだが、いろいろ試した割には結局効果は今一つなので、まずルーターを使ったネットワーク分割を試してみるべきだと思う。これについてはDaphile/オーディオネットワークで説明している。(※タイトルのせいか、「Daphile 高音質」キーワードでこのページへのアクセスがあるようなので、無駄を省くために補足)

ルータによるネットワーク分割を行ってさらにサブネットマスクで絞り込むこともできる。

サブネットマスクで絞り込み

紹介されてはいないが、ひょっとして効果があるかも、と試してみたのはサブネットマスクによるネットワークの絞り込みだ。
これは以前JPLAYの高音質化のために紹介されていた方法だが、サブネットマスクでアクセスできるIPアドレスを限定することによってCPUの余計な負担が抑えられ、それが高音質化につながるということらしい。
IPアドレスを変更する際、重複するとまずいので、まず現在ネットワーク中で使用中のIPアドレスを確認した。Windowsならコマンドプロンプトに
arp -a
コマンドで一瞬でわかる。ホスト名も知りたい場合はNetEnum.exeやadvanced_ip_scannerなどのIPアドレス検索ソフトで調べられる。
2、3、4、5、6、7...などの若いホストアドレス(IPアドレスの一番右側の数値)はDHCPサーバーによって割り当て済みなので、使用されていない80台のホストアドレスをDaphile PCとコントロール用PCに割り当て、Daphileプレイヤー用PCのサブネットマスクを255.255.255.252、Daphileサーバー用PCを255.255.255.248にしてみた。
サブネットマスクと利用可能なIPアドレスの関係は、以前書いたサブネットマスク計算PHPで確認した。
IPアドレスサブネットマスクホストアドレス
Daphileプレイヤー用PC192.168.10.81255.255.255.25281~82
Daphileサーバー用PC192.168.10.82255.255.255.24881~86
コントロール用PC192.168.10.83255.255.255.01~254

すると明らかに音がクリアになった。効果はあるようだ。

ただ問題なのは、サーバー用PCがルーターのIP 192.168.10.1にもアクセスできなくなってインターネットに繋がらなくなるので、Spotifyなどのストリーミングサービスやラジコも使えないし、インターネットからダウンロードする情報も表示されなくなるということだ。
サーバー用PCの内蔵ハードディスクに保存したライブラリだけを聴く分には問題ない。

やっぱりSpotifyも聴きたいということで、以下のように変更してみた。
ルーターのホストアドレスに近い若い番号を空けるために、無線親機のDHCPサーバーの割当先頭アドレスを192.168.10.20に変更した上で再起動する。1~19のホストアドレスが空いたことを確認して以下のようにIPアドレスを変更する。
IPアドレスサブネットマスクホストアドレス
Daphileプレイヤー用PC192.168.10.3255.255.255.2521~2
Daphileサーバー用PC192.168.10.2255.255.255.2481~6
コントロール用PC192.168.10.6255.255.255.01~254
プレイヤーもサーバーもルーターの192.168.10.1にアクセスできる設定だ。インターネットにはつながるようになったが、やはり前の設定の方が音はいい感じだ。やはりルーターに繋ぐ影響があるのだろうか。プレイヤーの方は繋がない設定に変更してみる。
IPアドレスサブネットマスクホストアドレス
Daphileプレイヤー用PC192.168.10.9255.255.255.2529~10
Daphileサーバー用PC192.168.10.10255.255.255.2401~14
コントロール用PC192.168.10.11255.255.255.01~254
やはりこちらのほうがよりクリアになる。サーバーPCのサブネットマスクを255.255.255.248にして、両方ともルーターから隔離することもできるが、レンダリングを行うプレイヤーPCの方が影響が大きいと考えてサーバーPCはルーターにつながったままで常用することにする。
この設定で問題なのは、プレイヤーPCはホストアドレス10つまりサーバーPCとしか繋がらなくなるので、コントロールPCからアクセスできなくなるということだ。たまにDaphileのファームウェアやプラグインがアップデートされるので、その際にはサブネットマスクを変更して一時的にルータに接続する必要があるが、設定を変えようにもコントロールPCからアクセスできない。コントロールPCからアクセスするにはホストアドレスを一時的に10に変更しなければならない。そしてそのときはIPアドレスが重複しないようにホストアドレス10のサーバーPCをシャットダウンしておかなければならない。

その後さらに変更して以下のような割り振りで落ち着いた。
IPアドレスサブネットマスクホストアドレス
Daphileプレイヤー用PC192.168.10.4255.255.255.2525~6
Daphileサーバー用PC192.168.10.5255.255.255.2481~6
コントロール用PC192.168.10.6255.255.255.01~254
これだとコントロール用PCからプレイヤー用PCに直接アクセスできるので、メンテナンスもしやすい。図にすると以下のような感じになる。サブネットマスクを255.255.255.252にした場合は設定可能なIPアドレスは2個だけになるが、自分自身のIPアドレスはこの2個に含まれていなくてもOKということのようだ。
ネットワーク5.gif
ここまで書いてきて今さらだが、サブネットマスクによる制限は物理的(?)にはつながっているネットワークなので、実際にどれだけサブネット外からの信号を遮断できているのかは、はっきり言ってよくわからない。ルーターを介して物理的にも別のネットワークにした方が確実にオーディオネットワークを分けられると思う。

その後調べたところ、やはりネットワーク上のデバイスが定期的に送信するブロードキャストフレーム(送信先のMACアドレスを問い合わせる信号)はサブネットとかお構いなしにネットワーク上のすべてのデバイスに送信されるので、これを防ぐためにはルータで分割したほうが良さそうだ。
ルーターで分割する方法についてはDaphile/オーディオネットワークで調べてみた。

今回IPアドレスやサブネットマスクを色々変更しまくったが、思うように動作しないことがたびたびあった。NetEnum.exeなどのIPアドレス検索ソフトで調べてみると、アドレスの変更がすぐに反映されていないことが多々あるようだ。ウチのネットワーク環境だけの問題かもしれないが、つながるはずのものがつながらないときは該当デバイスを再起動したり、しばらく待つと変更が反映された。

counter:12,404