DSD用のポストフィルタ(2)

下の記事を文章にしてみた途端、きっかりと目標仕様になっていないことが気になり、昨日1日かけてもう1枚DAC基板を半田付けしました(涼しくなってきたのでようやく半田作業が辛くなくなってきました)。

目標スペックはDSD再生時でトータルの周波数特性が5-50kHz(-3dB)程度。

下の記事のポストフィルタ特性では、DSD1794A内蔵のアナログFIRフィルタ特性との合わせ技で、50kHzが下がりすぎてしまっていました。

CD再生では、デジタルフィルタの折り返しが8fsを中心に±22kHzほどの範囲にへばりついているはずですので、実際には358-22kHz(=340kHz位のところ)で利得が0になっていれば問題無いはずだと考え、フィルタの再計算をしました。

結果的に、今までより次数を1段減らした構成でほぼそれらしき特性に近づきました。

最近、YAMAHAのCD-S2000のサービスノートがネット上に出回っているようですが、その2000に較べても、段数が1つ削除された構成になりました。

10kHzからわずかにハイ上がりな感じになりますが、しばらくはこの回路構成で使いこみます。ちなみに、DSD再生時のノイズシェーパーの残留ノイズは、正弦波の再生時にオシロ上でも僅かに観測されますが、50kHzで-3dBの周波数特性であれば、当然許容できる範囲なのでしょう。

DSD1794A基板用のポストLPF特性

ある方からDSD1794A基板の後ろにつける回路のLPF特性についてご質問を頂きました。

大変大雑把な回答で恐縮なのですが、当方の場合はDSDの音源も聴きますので、『大体市販のSACDプレーヤーのようなf特にしています』と、回答させていただきました。

当方のリファレンスとしているプレイヤーは、5Hz-50kHz(-3dB)となっていますので、フィルタの特性を大体同じような特性になるようにしています。

30kHzまではほぼフラット、40kHzで-1dB程度、そして50kHzで-3dB程度になるようにしています。また、44.1kHzの音源再生で、8Fsオーバー・サンプリングの折り返しから逃れる為に、4Fs(176.4kHz)近傍でほぼ利得がゼロになるように構成しています。

下のグラフはSPICEの結果ですが、実測もほぼ一致しています(実測するために30kHz/40kHz/50kHzのwaveファイルもわざわざ作りました(笑)。

後述するような理由により、本当は4Fsに向かってもう少し急峻な特性にして40kHz-50kHz近辺での利得がもう1dB位高くなるようにした方が目標の特性には近づくと思うのですが、「まあいいか」という感じで放置しています。これでオシロで見てDSDのノイズはほとんどわかりません。

実は、DSD1794AによるDSD再生時には、Advanced Current Segmentという67レベルのデルタシグマ方式によるD/A変換では無くて、同じカレントセグメントをアナログFIRフィルタのタップ係数の重みづけとして使用した合成電流によるフィルタ出力になっています。

このフィルタ特性は4種類のモードがあって、フィルタのカーブとゲインがレジスタで選択できるようになっています。データシートをご覧いただくとわかると思いますが、大体のモードにおいてこのフィルタが50kHzで-1dB位の特性となっています。つまり、DACを出た時点ですでに50kHzで-1dBになっているのです。

ついでに、4種類のうちゲインの一番高いモードに設定しています(PCM比で-1.5dBのモードを採用)。選ぶモードによってはPCM比で6dB位落ちますので、PCMモードとボリューム位置があまりにも変わるのもどうかと思いまして・・・・。

製品でしたら、増幅回路を追加してゲインを合わせたりするのだと思いますが、自作なのでアンプを追加したいと考える方は少ないだろうという判断です。

2つのモード

USB DUAL AUDIO基板では、電源を入れて起動する前にジャンパで2つのROMのうちのどちらか一方を選択しておくわけですが、「Bulk転送」モードを選択して起動した場合には、所定のドライバをインストール後に、デバイスマネージャーは下図のようになります(Windows 7の場合:PCの機種によって多少異なります)。ドライバーのインストールは初めて起動する時に1度だけ必要になります。

大抵のPCでは「ユニバーサルシリアルバスコントローラー」という項目に “Cypress EZ-USB Example Device” というデバイスが追加されているはずです。これが現れない場合は、ドライバーが導入できていないか、ジャンパが2つとも外れているか、あるいは2つともショートされているか、などが考えられます。

次に、「USB AUDIO Class1.0」別名「アイソクロナス転送」モードで起動した場合には、自動的にOS付属の標準ドライバ(Windowsの場合はusbaudio.sys、Macの場合はCORE AUDIO)が導入されますので、特にドライバーのインストール作業を意識する必要はありません。ただ待つだけです。

無事に導入が完了すると、Windows 7の場合、デバイスマネージャーは下記のようになります。

今度は「サウンド、ビデオ、およびゲームコントローラー」の項目に、”EZ-USB”というデバイスが追加されているはずです。

この状態で、めでたくiTunesやfoobar2000などが使えるようになっています。

USB DUAL AUDIO基板

USB AUDIO基板からDSD4ch録音機能を省くことにしましたので、基板上のFPGA内に結構大きく構成された2ch分のDSD2PCM変換機能が不要になります。この回路部分も削除した結果、ある程度の機能を追加することができる見込みとなりました。

基板の付加価値を下げないためにも、キワモノというか、できるだけ尖がった機能を新たに入れこもうと考えたのですが、すこしばかり保守的な方向に傾いてしまった感が否めません。

結局、独自Bulk転送による44.1kHzから192kHzまでのSTEREO waveファイル録再、2.8MHzと5.6MHzのSTEREO DSDIFF(DSD)ファイル録再、という機能に追加して、標準の「USB AUDIO Class 1.0」に準拠したアイソクロナス転送を使って、44.1kHzから96kHzまでのSTEREO PCMファイルの再生機能を追加しました。Quad speed再生には「Bulk転送」モードをお使いください。

いままで再生できなかったフォーマットが再生できる、というわけではないので、本質的な機能追加とはいえないかもしれませんが、多くの標準的なアプリケーションが使えるようになることが期待できますので、いろいろな意味で幅が広がるかもしれません。手元の2009年型MacBookでもOS X上でUSB DUAL AUDIO基板は使えています。

もうひとつ。単に標準にも準拠した、というだけではつまらないので、そこは当方流にアレンジしました。そもそもオリジナルのBulk転送版はPC側のクロックの影響を受けずに、「基板上の水晶発振精度で再生する」というのが特徴だったわけですので、その特徴はアイソクロナス転送時にもきちんと受け継いでいます。

現状では、出来合いのチップを使って(プログラムせずに)標準オーディオクラスでこのような機能を実現することはできないと考えております。

本基板では同じ1枚の基板上で実現させるわけですから、アイソクロナス転送の方だけPLLを使ってPC側のクロックと歩調を合わせる、というのではハード(回路)的にも意味がありませんので、Bulk転送とまったく同じデバイスを使って新しい機能をインプリメントしました。

Ayre社のQB-9という機種がありますが、この機種と同じようにPC側をフロー制御※してUSB基板側のクロック速度・位相に合うようにPCからのデータ量を調節する方法で、PC側のクロックと完全に非同期で動作させています(Asynchronous転送)。

したがって、Bulk転送モードとは実現方法が異なりますが、どちらのモードも基板上の水晶発振器レートで動作させることができるというわけです。 

ご興味のある方はこちらのページに詳細を記載しましたのでご覧ください。 

※USB基板とPCのクロックは全く無関係に動いていますので、PCからあるサンプリング周波数でデータが送られてくる場合、USB基板側は本来その速度に合わせて動作しなければなりません。USB基板側が自分のクロック速度で「勝手に」動作していれば、いつかは辻褄が合わなくなって受信データがバッファから溢れてしまったり、バッファが空になってしまうというわけです。そこで、ある一定の期間内におけるPCからのデータ転送量がUSB基板側のクロック動作速度に見合うように、USB基板側から「次からもう少し多めに転送してね」とか、「次からもう少し少な目に転送してね」といった指示をPC側に出して、トータルでの転送量をUSB基板側のクロック速度に合うように調節しています。

PCM4204

USB AUDIO基板に実装しているバーブラウンの4ch A/Dコンバータ、PCM4204ですが、入手が難しい部品となっています。ディストリビューターに在庫があるときを狙ってある程度の量をまとめて確保しなければならないという事情もあり、現在のUSB AUDIO基板は前回の再リリースをもって終息させていただくことにしました。

5.6MHzのDSDモードで4ch録音ができる!というのが最大の特徴?だったわけですが、残念ですがここに終了させて頂きます。PCM4204については、別基板でユーザーの方に実装して頂く形にするという考えもありそうですが、このチップは発熱が多い関係でチップの底面がサーマル・プレートになっており、基板のグランドプレーンと半田付けが必要になります。つまり、実装工場で、あらかじめ基板のグランドプレーンにクリーム状の半田を塗布しておき、その上にPCM4204を置いてからオーブントースターのような炉で加熱する工程を通す必要があり、半田こてを使った実装ができないという事情があります。

入手できなかった方には大変申し訳ありませんが、どうかご了承をお願いします。

USB AUDIO基板については、新しい仕様で2、3日後にリリースを開始させて頂きますので、引き続きそちらの方をよろしくお願いします。詳細については一両日中に発表させて頂きます。ちなみに、録音機能については2chまでに限定されますが、(オプション基板との併用で)5.6MHzのDSDモードに対応しています。

DSD配信

遂に? DSD配信がスタートしていたんですね!

http://ototoy.jp/feature/index.php/20100812

今回はDSDネイティブなファイルでは無いようですが、次回からはどうなるのでしょうか?

DSDの将来は明るくない?ですが、この試みは続けていただきたいと思います。継続的に良い音楽がDSD配信されるようでしたらありがたいと思います。

現状では、DSFファーマットでの配信のようですので、KORGの機器を所有する人以外は、DSDディスクを作ってPS3を含むSONYの1部機種で再生するしか方法はありませんが、USB AUDIO基板ユーザーさんのためにDSF2DFF変換ソフトを作りたくなるような盛り上がりを期待したいところです。

OTOTOYさん、DSDネイティブ配信、期待しています。

PlayAudio アップデート その2

続いてVer1.30を試験的にアップデートさせて頂きます。

一見するとわかりにくいですが、前回のアップデートと違って外観にも変化があります。一番上のボタンのキャプションが少し変わっています。

そうです、”Add File” というボタンが “Add Files…” というボタンに代わりました。

今さらですが、懸案だった複数ファイルの一括登録ができるようになりました。

“Add Files…” ボタンを押してファイル選択の「開く」ダイアログが出たら、登録したいファイルを選んで「開く(O)」を押してください。ただし、同時にリストに登録できるのは同一フォーマット(Fs, bit数も)のファイルで、32個まで、という制限は継承しています。

引き続き、どうかお試しください。