WaveSpectra

知らないうちに WaveSpectra がバージョンアップして1.50 になっていました。うれしいのはWASAPI 排他モードに対応して下さったことです。さらにタイマー駆動モードのみでなく、イベント駆動モードもサポートされています。

また、デバイスのASIOドライバがサポートしていれば384kHzまで再生が可能になっています。

本来は、ASIOでdCS method によるネイティブDSD再生というのも何だかな~、という気がしないでもないですが (ASIO for DSDを使え!と言われそう)、DSD128をAlternateフラグ(DSD識別フラグ)を付けて352.8kHzのwaveファイルにパックして再生することもできます。

もっとも、当のWaveSpectraなら、デバイスとそのクラス2ドライバがサポートさえしていれば、WASAPIでも352.8/384kHzの再生が可能です。PlayPcmWinとFoobar2000ではWASAPI排他でもUSBアダプタは192kHz止まりのようですので、WASAPIもカーネルミキサー経由の場合と等しくWindowsの仕様により再生サンプリング周波数の上限が200kHzかと思っていましたが、そうではないようです。http://msdn.microsoft.com/en-us/library/windows/hardware/ff537756(v=vs.85).aspx

scheme2 による再生なので、Alternateフラグは0x05/0xFAですから、176.4kHzでしっかりとゼロクロスするPCM信号として見えます。dCS method でも scheme1の場合は非対応DACに出力するとあまりうれしくないですね。これからは自作DACの出力にはカップリングコンデンサが必須になるかもしれません。

あと、ちなみになのですが、Foobar2000の最新バージョンASIOプラグイン(2.1.1)は、なぜか出力を逆相にして送ってきます。PCMは2の補数なので、逆相にするには24bitの全bitを反転してから1を加算します。dCS methodのscheme2はAlternateフラグが0x05,0xFAなので、この最上位バイトは0xFA/0x05となって順番が逆になりますが見かけ上はscheme2のままです。が、最下位バイトが反転して1が加算されているので、DSD的にはここでbit perfectではなくなってしまいます。

ということで、残念ながら今のところFoobar2000ではASIOドライバを使ったdCS methodによる再生実験はできないようです(もっともwaveなどのPCMにパックしてから適当なDAWで予め反転しておく、という悪戯も暇つぶしには良いかも知れませんが・・・)。