月別アーカイブ: 2012年3月

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

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

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

 

技術検討

Mac OS X 用に、Audivana Plus という使い心地の良い素敵なデザインのソフトがあります。使い込むうちにこれがOS Xにおける私のリファレンスアプリになってしまいました。

そこで、作者のDamien氏に連絡して、USB DUAL AUDIO基板に dCS methodのscheme2により、ネイティブDSDストリームを出力してもらえるように頼んでみました。

しばらくの間、特別なtest buildで細々と検討を続けていましたが、Audivana+の販売サイトにアップされている最新のバイナリ(1.2.1)をダウンロードしたら、すでに正式版となったようです。

もちろん、USB DUAL AUDIO基板の方も、FPGAやUSBマイコンファームの中身を変更した特別バージョンにする必要があります。今のところ私だけの特別版です。残念ながらこれをやるには犠牲になる既存の機能もあり、単純にdCS方式を追加するというわけには行かないのです ( FPGAのピンが足りなくなるという理由です )。

赤丸で囲んだ箇所が “DSD64″ になっています。緑色で “INT” というインジケータが点灯し、IntegerモードでネイティブDSDが出力されていることを示しています。

こちらは設定画面。DSD128まで対応しています。OS Xの場合、ドライバーレスで352.8kHzに対応していますので、DSD128までは出力可能というわけです。ただ、USB DUAL AUDIO基板側ではPCMの352.8/384kHzのファイルを再生しても無音が出るだけにしており、この2つのサンプリング周波数はサポートしていません。

ちなみにOS XでもLionではInteger モードがサポートされなくなったので、dCS method そのものが動作しないようですが、私にはLion にアップグレードしなければならない理由がないので特に問題ありません。

 

バルク転送用64bitドライバ

Windowsのバルク転送用アプリであるPlayAudio.exeですが、従来よりこのアプリには64bit Windows7用のお試し版をご用意しております(基板ご購入の方にはアーカイブの在り処をお知らせしております)。

64bit版PlayAudio.exeを動かすためのデバイスドライバ(64bit版Win7用)もその中に用意しておりましたが、このたび、Cypressのサイトから取得した純正のドライバに私がデジタル署名したものに置き換えました※。

私の64bit Windows7環境では特に問題なく動作しております。ただ、32bit環境に比べて、CPUなどのマシンパワーはより高いものが要求されるように感じます。少なくともCore2Duo以上は必要かもしれません。ちなみに私の試験環境はCore(TM)i5です。

これにより、PlayAudio.exeにスタティックリンクしたCypress製のライブラリと、ドライバのバージョンも一致しております。旧版をお使いですでに動作させておられる方はわざわざ入れ替えて頂く必要は無いと思いますが、これから試してみようとお考えの方は、新しいアーカイブをダウンロードしなおしてお使いになってみてください。

※64bit版のWindows7は、マイクロソフトが考えるセキュリティ上の理由により、ドライバ提供者のデジタル署名が入っていないドライバをインストールすることができません。デジタル署名をするには、信頼できるとされる証明局の電子証明書を取得しなければなりません。デジタル署名されたドライバであれば、ドライバ提供者の手を離れてネット上の大海をさまよううちに第3者に改竄されたりしていないことが担保されるそうです。