月別アーカイブ: 2009年11月

USB AUDIO、その10

制御ボタンをBitmapにして、アプリがそれらしい顔つきになってきました。

上のキャプチャー画像はファイルを読み込んだところ(再生時)、下は再生中のもの。

心配だった1部パーツも週明けに納品してもらえそうです。12月の中頃にはリリースします。

USB AUDIO、その9

11月も非常に忙しく、前の仕事の納期が遅れたことから、着手が遅くなって次のお客様にご迷惑をかけたりと、心苦しい月でした。遅れを挽回するためにこの3連休も休みなく仕事をしておりました。

ということで、USB、なかなか進まず、申し訳ございません(^^;;

さて、今日は付属のアプリのご紹介です。前に、4ch録音したDSDファイルを2chのDSDファイル2本に分割するソフトを紹介しましたが、もうひとつ、録音したDSDIFFファイルをWAVEファイルに変換するソフトをご紹介します。

といっても、KORGの録音機器をお持ちの方には全く必要がありません。

本USB基板のみをお持ちでDSD録音される方のための便宜を図るアプリとなります。

見ての通りの簡単なもので、変換したいDSDIFFファイルと、変換先のWAVEファイルを指定してボタンを押すだけです。”32bit Floating Point” というチェックボックスは、変換先のWAVEファイルを24bit/PCMではなくて32bitの浮動小数点によるPCMにしたい場合にチェックを入れます。

通常は再生できるハードやアプリも少なくあまり意味がありませんが、4chで録音したものを (2chに分解して) DAWに流し込んでミックスしたりする場合に、DAWが浮動小数点WAVEに対応していると、演算誤差を小さくできるというメリットがあります。まあ、編集用途にお使い下さいという意図です。

現状は1/32にデシメーションする仕様となっており、DSDIFFファイルのサンプリング周波数を自動的に読み取って、2.8MHzのDSDならば88.2kHzのWAVEに、5.6MHzのDSDならば176.4kHzのWAVEに変換する仕様としております。おそらくはスイッチで1/64のデシメーションにも対応するようになると思います・・・。

今年の正月に本brogにアップしたコマンドライン版ソフトと変換品質は変わりませんが、ソフトの組み方を変えて実用的なものにしてあります。変換速度も(変換しやすいようにわざわざテンポラリファイルを作ったりしませんし)かなり速くなっています。

ところで、せっかくDSD録音したのになぜわざわざPCMに変換して編集しなければいけないのか?という疑問をお持ちの方もいらっしゃるかもしれません。

それは、DSDドメインで編集するソフトが無いということに尽きると思います。DSDの自己矛盾です。正確には、SONOMAというシステムを使えばDSDドメインで編集ができるようなのですが、製作費の潤沢な大手レーベルしか使えないのではないかと思います。

DSDドメインで編集すれば、いわゆるビット落ちというPCMの宿命から逃れることができますし、いつか簡単なミックスアプリを作ってみたいと思うこともありますが、扱うデータサイズが膨大になるので非常に動作が重くなりそう・・・。

USB AUDIO、その8

前回の更新から随分と間が空いてしまいました。楽しみにしてくださっている方には申し訳ありませんでした。

さて、USB基板の方はゆっくりとですが着実に進捗があります。前回更新時点から、DSD2PCM変換回路、および(LED表示による)デジタルレベルメーター回路のインプリメントと動作確認をしました。

録音・再生時にS/PDIFから信号を出すことができますが、DSD録再時にはデシメーション・フィルタで88.2kHzのPCMに変換した信号をS/PDIFから出力します。

また、録音時にはDSD録音モードを含めてデジタル領域でのレベルメーター回路が使用できます。DSD録音時にはデシメーション・フィルタ回路によってPCMに変換された信号を使ってレベルメーターを制御します。

そして、DSD/PCM 両対応DACである、DSD1794Aを繋いで、PCMならびにDSD信号の再生ができることも確認しました。アプリケーションからWAVEファイルもしくはDSDIFFファイルを選択すると、I2Cという制御バス方式によって、DSD1794Aの動作モードを自動的にPCMあるいはDSDに変更するように作りこみましたが、実際に動作を確認したというわけです。

ちなみに、DSD1794A基板のデジタル信号系はHC157を2個使って次のように構成しました。 

残る作業は基板(FPGA)の細かい修正と、Windowsアプリケーションの完成度を上げることです。もちろん、全体的なバグ潰しも並行して行います。ただ、今月の配布には間に合いませんでした。納期的に厳しい部品が1点あるのですが、その手当てが間に合えば年内には何とか・・・したいです。

ぼちぼち仕様をご案内していこうと思います。

USB AUDIO、その7

なかなか忙しくてこちらのプロジェクトに割ける時間が取れないのが目下の(贅沢な)悩みですが、今週はこちらの基板を作ってDSDまんまの音出しができればよいなと考えております。

DSD1794Aは、PCM入力とDSD入力が独立して設けられており、どちらのモードでもSYSCLK入力をSYSCLK入力として受け付けてくれますので、I2Cでレジスタ設定をしようとするには好都合です(PCM1792AはDSD入力を使う場合には、I2Cによるレジスタ設定だと支障をきたすと思われます)。

デジタル部はDSD1794Aのパラ差動、**式でもおなじみですね。追加で74HC157が2個載っかっている基板を作りました。

DSD1794Aの設定はUSB基板上のUSBコントローラチップから行います(ということはつまり、最上位はWindowsアプリからの制御になります)。

USBコントローラチップのI2C制御ブロックを使ってUSB基板上のFPGAと、DAC基板のDSD1794Aのレジスタに書き込みを行うという寸法になっています。

あまり意味は無いですが、参考までに基板の裏も載せておきます。

外付けのDAC基板を用意することによって、PC上のDSDIFFファイルをPCMに変換することなくD/A変換することができます(ハズです)。

DSDIFFファイル録再生時、USB基板のS/PDIFからはFPGAで構成したデシメーションフィルタによってPCMに変換されたS/PDIFを出力する予定です(こちらの実装は来週かな?)。

残念ながらPCM4204はDSDとPCMの同時出力は無いようです。