foobar2000(32bit出力によるVolume-Down)
ハイレゾ音源を聞き始めてからは、Playerソフトとして、AudioGate、foobar2000、BugHeadを使ってきたが、最近では使い勝手の良さから、専らFoobar2000を利用している。
左サイドに音楽ファイルを保存したフォルダをツリー表示させ、右サイドにカバーアートのサムネイルと曲のリスト表示をしているので、少ない操作で簡便にアーティストや曲の選択が可能であることがその理由。
左サイドに音楽ファイルを保存したフォルダをツリー表示させ、右サイドにカバーアートのサムネイルと曲のリスト表示をしているので、少ない操作で簡便にアーティストや曲の選択が可能であることがその理由。
しかし、(foobar2000の仕様のせいではないのだが)一点だけ課題があった。
ビットパーフェクトを意識して再生ソフトの音量Volumeは100%としていたのだが、USB-DACのAL-9628Dのヘッドホンアンプ出力ゲインが高めであるため、ATH-AD500X(48Ω)で聴くには聴感上ちょっと音量が大きすぎる。ダイナミックレンジの大きい曲の場合にAL-9628DのVolumeを約8時の位置まで絞ると微妙にギャングエラーが気になる。
そこで、AL-9628DのVolumeをせめて9時以上の位置まで上げたかったので、6.3φステレオプラグ・3.5φステレオミニジャック・抵抗・ケーブル・プラケースを購入し、L型配線の固定アッテネータを自作してみた。減衰はそこそこ狙いどおりになったものの、L/Rそれぞれを片側ずつ無音にしたWAVファイルを作成してチェックしたところ、かなりクロストークしていたのと、インピーダンス変化による周波数特性の変化なのか聴感上の音質が低下しているように感じたので、これは使えないなと。
色々とネットを徘徊していると、こんなページを見つけた。そこには、非常に興味深いことが書かれており、御自身で実機を使って検証された結果が記されている。
foobar2000では、デバイスを排他WASAPIで設定すると出力bit深度を指定できるので、AL-9628Dの対応可能最大bit深度である32bitに設定していた。(というか、24bit設定ではDeviceエラーになってしまうので必然なのだが・・・) しかし、16および24bitのファイル再生時は、はたして何bitで出力されていて、どんなデータが送られているのか? までのことは意識していなかった。
この方の検証結果によれば、output formatを24bitにして16bitファイルを音量100%で再生すると下位8bitに0が付加され、音量Volumeを絞った場合はその下位8bitも有効値が付加」であったそうだ。ここで大事なことは、Volume演算がちゃんとbit拡張後に行われていることがデータとして確認できたこと。32bit設定の場合は検証されていないが、おそらく同様に16bitファイルなら下位16bitが、24bitファイルなら下位8bitの有効bitが付加されるであろうと推測される。
そのことを前提にすれば、foobar2000で音量Volumeを絞っても、(bitパーフェクトではないものの)変換精度として誤差を無視できる程度でDACにデータを渡せるのではないかと思い、整理してみた。
【16bitファイル,,0dB再生】
16bit出力 : 0111111111111111 / 327679 / 96dB
24bit出力 : 011111111111111100000000 / 8388352 / 144dB
32bit出力 : 01111111111111110000000000000000 / 2147418112 / 193dB
【16bitファイル,-15dB再生】
16bit出力 : 0001011011000010 / 5826 / 81dB
24bit出力 : 000101101100001011100011 / 1491683 / 129dB
32bit出力 : 00010110110000101110001101011101 / 381870941 / 178dB
つまり、Playerソフトの出力設定を32bitとすれば、16bitや24bit音楽ファイル再生時に音量Volumeをたとえ-15dBまで絞った(2桁bit落ちした)としても、理論上のダイナミックレンジは178dBもあり、各々元ファイルのフルダイナミックレンジを大きく上回っており、変換精度(誤差)は±0.001ppm程度、32bitDACであることを前提にすれば、ビットパーフェクトではないものの、拙のオーディオ環境や駄耳では聴感上の音質劣化は殆ど無いと思う。
つまり、Playerソフトの出力設定を32bitとすれば、16bitや24bit音楽ファイル再生時に音量Volumeをたとえ-15dBまで絞った(2桁bit落ちした)としても、理論上のダイナミックレンジは178dBもあり、各々元ファイルのフルダイナミックレンジを大きく上回っており、変換精度(誤差)は±0.001ppm程度、32bitDACであることを前提にすれば、ビットパーフェクトではないものの、拙のオーディオ環境や駄耳では聴感上の音質劣化は殆ど無いと思う。
試しにfoobar2000の音量Volumeを-15dBに絞った状態での、16bitと32bit出力設定の音質の違いを確認するため、16bitファイル再生しながら出力bit設定を16bitと32bitで交互に切り替えてみると、音像の輪郭とクリアさが明らかに変わるので、32bit化の効果は歴然としている。とはいえ、桁落ちは、せめて1bitに抑えたいので-12dBが妥当なところかと。
AL-9628DのVolumeも9時以上の位置に上げることが出来るため、ギャングエラーを回避出来るとともに、S/N比も若干良くなるのではないかと思う。
WASAPI 出力bit設定
拙においては、理屈の上と聴感でデメリットの無いことが確認できたので、今後AL-9628Dでのヘッドホン使用の場合はfoobar2000で音量Volumeを絞る方法をデフォにしていこうと思う。なお、foobar2000は音量Volumeの減衰位置もショートカットキー割付けができるため、Ctrl + 数字キーで数種類の既定減衰量を瞬時にセットできるようにした。
| 固定リンク
コメント