« SSDAC用のDDコンバータとMCLK(CM6631A使用品のFW対応) | トップページ | 12BH7A YAHAヘッドホンアンプの製作 »

2022年8月20日 (土)

SSDAC使用時のパソコン設定について(2023/4/16修正)

【修正情報】この記事は2023/4/16に修正しています。
こちらの記事もあわせてご参照ください。

SSDACのユーザーの方より、
「方形波再生時に、SSDACの特徴であるプリエコー、ポストエコーが抑えられた波形にならず、リンギングが発生している」
とのお問い合わせがあり調査したところ、再生するファイルのフォーマットと、パソコンのサウンド設定が違っている場合に、ご指摘のような現象が出ることを確認しました。
つきましては、SSDACの性能を十分に楽しんでいただくために、PCのサウンドの再生の「既定の形式」において、サンプリング周波数を再生するファイルフォーマットに揃え、ビット深度を24ビットまたは32ビットに設定してお使いください。
特にwindows10においては、「既定の形式」を16ビット設定時にノイズが発生することが確認されましたので、16ビットの設定は使用しないでください。(2023/4/16記事参照


CDからリッピングしたファイル形式(44.1kHz 16bit wav)の場合の設定方法は次の通りです。

【windows10の場合】
コントロールパネル→サウンド→再生タブ→デジタル出力(Amanero Technologies USB Driver X.X.XX)※1 をダブルクリック
→詳細タブ→既定の形式
「2チャンネル、24ビット、44100Hz(スタジオの音質)」
または
「2チャンネル、32ビット、44100Hz(スタジオの音質)」
に設定
→OK

※1 SSDACでご使用のDDコンバータ

【MACパソコンの場合】
アプリケーションホルダのユーティリティの中の、「Audio MIDI」設定で同じように出力設定を
再生ソースにあわせてください(CDの場合は44.1kHz16bit)。

また、再生時に使用するソフトウェアによっても上記の現象が出る場合があります。
当方のパソコンで調べたところ、次の通りでした。

・WindowsMediaPlayer(windows10Pro 21H2)
再生するファイル形式のサンプリング周波数が、パソコンの「既定の形式」とそろっていれば問題なし。

・iTunes(12.7.4.80)
再生するファイル形式のサンプリング周波数が、パソコンの「既定の形式」とそろっていれば問題なし。

・VLC media player(3.0.2)SSDACには使用不可!
再生するファイル形式と、パソコンの「既定の形式」のサンプリング周波数がそろっていても、リンギングが発生する場合がある。

・MixVibesHome
「既定の形式」が44.1kHz24bitまたは32bitであり、再生するファイルのサンプリング周波数が同じ44.1kHzであれば問題なし。

詳細については以下の通りです。


1.SSDACの特徴
SSDACの最大の特徴は、オーバーサンプリングとデジタルフィルタを使わずに、各データ点の間を3次自然スプライン関数で補間することによって、過渡的な信号を再生する際に生じるプリエコー、ポストエコーの発生を抑え、より原音に忠実に再生することです。

Es9018k2m_1ktr_20220820103001
図1.ES9018K2Mのプリエコーとポストエコー(リンギング)

Pc44116_44116
図2.SSDACによりプリエコー、ポストエコーが抑えられた波形


図1に示すのは1kHz方形波をES9018K2Mで再生した波形で、典型的なプリエコー、ポストエコーが発生しています。
図2は同じ波形をSSDACで再生した場合で、プリエコー、ポストエコーが抑えられています。

このように、現在主流のオーバーサンプリングとデジタルフィルタをつかったD/Aコンバータでは、図1のようなプリエコー、ポストエコーが発生し、音質に影響を与えます。
これを嫌って、一切のオーバーサンプリングを行わず、素のデータのまま再生するNOS(Non Over Sampling)DACを使う人がいます。
SSDACを発明した小林芳直氏は、NOSDACの歯切れのいい音を聴いて感動し、NOSDACの歯切れ良さと、オーバーサンプリングの微細さを併せ持つDACができないかと考え、オーバーサンプリングとデジタルフィルタを使わずに、3次スプライン関数でデータを補間するスーパーサンプリング方式を考案しました。
スプライン関数でデータを補間すること自体は誰でも思いつきそうですが、スプライン関数をすべて計算するためには、曲の初めから終わりまでのすべてのデータを使うので、読込と演算に時間がかかり現実的ではありません。そこでデータ数を適当な個数で区切り、両端のデータを始点と終点と仮定して計算する方法がありますが、これだと誤差が出て波形が歪みます。
小林氏が3次スプライン関数について研究を進めたところ、データが現在の点(中心点)から遠ざかるほど、その区間のスプライン関数に与える影響が小さくなり、たとえば24bitデータの場合は前後13サンプリングデータより遠くのデータは、スプライン関数に与える影響が24bit分解能以下となり、無視しても影響がない、ということを発見し、リアルタイムで誤差が発生しないスプライン関数の導出方法を発見しました。これを応用したのがSSDACです。


2.パソコンの設定による再生不具合について
この記事の冒頭で、再生するファイル形式と、パソコンの「既定の形式」がそろっていることが必要だと書きましたが、実際の再生でそろっている場合とそろえていない場合にどのような差があるのか具体的に紹介します。

①パソコンの「既定の形式」を44.1kHz 16bitに設定した場合
この設定で、フォーマットが同じものとフォーマットが異なるwavファイルを再生した場合の波形を以下に示します。
PCはlenovo X230、windows10 21H2、Windows Media Playerで再生しました。

まずは、再生ファイルが既定の形式と同じ44.1kHz 16ビットの再生波形を図3に、ビット深度が違う44.1kHz 24bitの再生波形を図4にそれぞれ示します。

Pc44116_44116
図3.パソコン設定44.1kHz16bitで、同じ44.1kHz16bitのファイルを再生。正常。


Pc44116_44124
図3.パソコン設定44.1kHz16bitで、44.1kHz24bitのファイルを再生。正常。


パソコンの「既定の形式」と同じファイル形式と、サンプリング周波数が同じでbit深度のみ違うファイル形式は正常に再生されました。

次に、同じくパソコンの「既定の形式」を44.1kHz16bitとし、ファイル形式が48kHzサンプリングと96kHzサンプリングのものを再生した波形を図4~図7に示します。

Pc44116_4816r22k
図4.パソコン設定44.1kHz16bitで、48kHz16bitのファイルを再生。約22kHzのプリエコー、ポストエコーが出ている。


Pc44116_4824r22k
図5.パソコン設定44.1kHz16bitで、48kHz24bitのファイルを再生。約22kHzのプリエコー、ポストエコーが出ている。


Pc44116_9616r22k
図6.パソコン設定44.1kHz16bitで、96kHz16bitのファイルを再生。約22kHzのプリエコー、ポストエコーが出ている。


Pc44116_9624r22k
図7.パソコン設定44.1kHz16bitで、96kHz24bitのファイルを再生。約22kHzのプリエコー、ポストエコーが出ている。


ここまでの波形はすべて1kHz方形波です。
方形波ではなく正弦波の場合は、設定が異なっても問題なく再生されます。1kHz正弦波の再生波形を図8に示します。

Pc44116_9624sin
図8.パソコン設定44.1kHz16bitで、96kHz24bitの正弦波ファイルを再生。問題なし。



②パソコンの「既定の形式」を96kHz24bitに設定した場合
この設定で、フォーマットが同じものと異なるwavファイルを再生した場合の波形を以下に示します。

Pc9624_9624
図9.パソコン設定96kHz24bitで、同じ96kHz24bitのファイルを再生。問題なし。


Pc9624_9616
図10.パソコン設定96kHz24bitで、同じ96kHz16bitのファイルを再生。問題なし。


Pc9624_44116r22k
図11.パソコン設定96kHz24bitで、44.1kHz16bitのファイルを再生。約22kHzのプリエコー、ポストエコーが出ている。


Pc9624_44124r22k
図12.パソコン設定96kHz24bitで、44.1kHz24bitのファイルを再生。約22kHzのプリエコー、ポストエコーが出ている。


Pc9624_4816r22k
図13.パソコン設定96kHz24bitで、48kHz16bitのファイルを再生。約22kHzのプリエコー、ポストエコーが出ている。


Pc9624_4824r22k
図12.パソコン設定96kHz24bitで、48kHz24bitのファイルを再生。約22kHzのプリエコー、ポストエコーが出ている。


Pc9624_44116din
図13.パソコン設定96kHz24bitで、44.1kHz16bitの正弦波ファイルを再生。問題なし。


以上①、②では、方形波再生時、パソコンの「既定の形式」とファイル形式において、サンプリング周波数が一致しているものは正常に再生され、サンプリング周波数が異なるものはプリエコー、ポストエコーが発生しました。
正弦波については、形式の異なるファイルでも正常に再生されました。
これらはWindows Media Playerを使って検証しましたが、iTunes(12.7.4.80)でも同じ結果でした。


③ソフトによって不具合が出るもの
VLC media player(3.0.2)による波形再生結果を以下に示します。


Pc44116_44116_20220820130501
図14.パソコン設定44.1kHz16bitで、VLCで同じ44.1kHz16bitのファイルを再生。問題なし。


Pc44116_44124r18k
図15.パソコン設定44.1kHz16bitで、VLCで44.1kHz24bitのファイルを再生。約18kHzのプリエコー、ポストエコーが出ている。


Pc9624_9624r40k
図16.パソコン設定96kHz24bitで、VLCで同じ96kHz24bitのファイルを再生。約40kHzのプリエコー、ポストエコーが出ている。


Pc9624_9616_20220820130501
図17.パソコン設定96kHz24bitで、VLCで96kHz16bitのファイルを再生。問題なし。


以上より、VLC media playerでは、サンプリング周波数が同じでもビット深度の違いによりプリエコー、ポストエコーが発生し、またパソコン設定を96kHz24bitにした場合は、96kHz16bitのファイルを再生した場合問題なく、設定と同じ96kHz24bitのファイルを再生した場合にプリエコー、ポストエコーが出るという謎の結果となりました。
VLC media playerは非常に便利な万能プレイヤーですが、SSDACでの再生には向いていないようです。


3.なぜ「既定の形式」とファイルの形式が違うとプリエコー、ポストエコーが出るのか
パソコン側の「既定の形式」と再生するファイルのデータ形式が違う場合、使用ソフトの内部でSRC(Sampling Rate Converter)を使って、サンプリングレートの変換を行っていると考えられます。
SRCの内部構造は一般的に、
①入力データをオーバーサンプリングしデジタルフィルタを通す
②データを間引いて、目標のサンプリングレートにリサンプリングする
という構造になっており、とくに①の工程でデジタルフィルタ(FIR)を使うことで、過渡的な波形に対してはプリエコー、ポストエコーが付加されてしまいます。つまりSSDACに渡されるデータにはすでにプリエコー、ポストエコーが付加されている、と考えられます。
SRCの詳しい説明はこちらのサイトが参考になると思います。

ご自分で確かめたい方は、テスト用のwavファイルを用意しましたのでお使いください。

ダウンロード - test_wav.zip

 

| |

« SSDAC用のDDコンバータとMCLK(CM6631A使用品のFW対応) | トップページ | 12BH7A YAHAヘッドホンアンプの製作 »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« SSDAC用のDDコンバータとMCLK(CM6631A使用品のFW対応) | トップページ | 12BH7A YAHAヘッドホンアンプの製作 »