SDRAM_DAI:サンプリング周波数の追従について

SDRAM_DAIでは、入力するS/PDIF信号のチャネルステータスというbitの内容から、そのS/PDIF信号のサンプリング周波数を知るようになっています。

長いことS/PDIFでは48kHzを超える信号のサンプリング周波数が定義されていませんでしたが、2006年の最新規格では192kHzまできちんと定義されております。

SDRAM_DAIは、そのサポートするサンプリング周波数についてはリリース当初から最新規格に準拠しています。

したがって、設計の新しい製品から出力されるS/PDIF信号であれば、48kHzを超える信号であっても、きちんと周波数を認識することが期待できます。

たとえば、SONYのPS3は最新規格に準拠しており、そのS/PDIFはSDRAM_DAIでも88.2kHz/176.4kHzを自動認識します。また、三菱のHiVision液晶モニタや、RealTek ALC883*チップが出力する96kHzや192kHzのS/PDIFを自動認識します(三菱モニタは192kHzを出力できない)。

96kHzについては、2006年より少し設計の古い製品から出力されるS/PDIFでもサンプリング周波数を認識できるものが存在します(DV-S757A, UA-25など)。

当然のことながら、DSD2S/PDIFが出力する88.2kHz/176.4kHzも、チャネルステータスbitはS/PDIFの新規格に準拠しており、SDRAM_DAIの方でその周波数を正しく自動認識します。

ということで、設計の古いサウンドカードなどから出力される88.2kHz/176.4kHzなどのS/PDIFで、SDRAM_DAI側でサンプリング周波数を自動認識しないものもあり得ます。そういう場合には、SDRAM_DAI側で周波数を明示的に設定してください。

 

SDRAM_DAI for TDA1547 その3

結局、SACDを「DSDのままD/A変換した音も聴いてみたい」という欲求がSDRAM_DAI for TDA1547の開発動機であります。市販のSACDは知る限りすべての機種はDSD→PCM変換か、あるいはDSDのままD/A変換するにしても、DACがマルチビットのDelta Sigma DACになっています(DSDモード時にDelta Sigma DAC内部でどのようなD/A変換が行われるのかは実はまだ良くわかっていませんが)。

DSD→PCM変換した音に不満は全然ないのですが、DSD収録されて、DSDドメインで編集パッケージ化されたSACDを1bit DACで再生してみたらどうなのよ?というマニアックな興味ってご理解いただけるのではないかと思います(笑)。ただ、SACDだけでは実用的価値が低いので、CD(48kHz音源も)のS/PDIFもDSD化してあげようという趣旨にしました。

そこで、お断りしておきたいのですが、DSDをプレーヤーから外へ引っ張り出す基板を配布するのはやはり問題がありそうで、当方としては今のデシメーション・フィルタ基板のように、どのような機器に対しても出力できるようにはできないと考えています。

そこで、DSD出しのできる新DSD2******基板は、それ対応の専用SDRAM_DAI基板とセットで運用する場合にのみ、DSD(およびPCM)を出力できるような仕組みにすればよいのかな、と考えています。つまり、LANケーブルを使った各社の****LINK みたいなものにすればよいのかな、と・・・。

そして、最終的には現行のDSD2S/PDIFデシメーション・フィルタ基板を新DSD2*****基板に統合し(つまり出力先がSDRAM_DAIに限定されるものの、PCMもDSDも外へ出すことができるようになる)、基板在庫が終了次第、現行のDSD2S/PDIFデシメーション・フィルタ基板は終息させる方向にしようと考えています。

ちなみに、現行のDSD2S/PDIFデシメーション・フィルタ基板はまだそこそこ在庫(未アセンブリですが)があります。
また、チップ調達の都合上、TDA1547基板は25セット位の配布が可能です。上記の****LINK(ElectrArtだからeLINKとでもしましょうか?)の仕組みを組み込んで4月か5月くらいにはなんとかできればと思っています。

自分はSACDは聴かない、TDA1547にのみ興味がある!という方は割とすぐにでもSDRAM_DAIとセットでDAC基板(TDA1547も)をご提供できますので、ご相談ください(あまりいらっしゃらないとは思いますが・・・)。

SDRAM_DAI for TDA1547 その2

装置はきちんと稼働しており、PCM→DSD変換によるTDA1547は満足できる音を聴かせてくれております。改版基板は(も)例によって表面実装部品のオンパレードですが、まあ仕方のないところです(^^;;

ただ、DACチップ周辺の抵抗は3216サイズとしており、多少は実装が楽でした。デジタル入力部のICは0.65mmピッチですが、FPGAやPCM179*等で修業?しているおかげで、最近は半田付けを屁とも思わなくなりました(^o^

TDA1547では、当方の作品にとってこれまでとは逆のPCM→DSD変換の質が重要になってくるわけですが、SDRAM_DAI基板上のFPGAにインプリメントした5次の1bit Delta Sigma変調器はかなりの性能が得られています。

参考までに、変換したDSD信号そのものの周波数スペクトラムを開示させていただきます。都合により、ここでもWaveSpectraを使わせていただきました。

対象がwaveファイルなので、通常では64fs(2,822,400Hz)の1bit DSD信号を分析することができませんが、少々細工を施して測定を行いました。そのために横軸の周波数スケールを読み替えて頂く必要がございます。

PCMの1kHz正弦波を変調率50%でDSDに変換した1bitデータのスペクトラムですので、正弦波のピークは-6dBとなります。最初のチャートは周波数軸を対数表示にしたもの、2番目のそれはリニアスケールとしたものです。

 

読み取った横軸の値を32倍すると実際の周波数となります。赤い三角の目印が約20kHz

 

読み取った横軸の値を32000倍すると実際の周波数となります。赤い三角の目印が約20kHz

DSD信号はパルス密度変調された信号で、PWMとはまた違うわけですが、可聴帯域内には全くノイズが存在しないんですね。

マルチビットのDelta Sigma DACが主流になった現在ではほとんど使われなくなった1bit DACですが、 SACDを始め、1bit DSDの再生にはやはり1bit DACが基本だろうという勝手な(笑)考え方=趣味?により、 こんなものも考えた次第です。

SDRAM_DAI for TDA1547

こんなDAC基板を作ってみました(実は1回目の試作でミスったので2回目の試作→本番ともいう)。まずは回路図。

で、SDRAM_DAI側の構成はというと・・・、こんな感じです。1bitオーディオにも(でこそ?)ジッタ抑圧対策を、ということです(^o^

もともとTDA1547は192Fsなどの高いオーバーサンプリング比で使用されてきました。それゆえ、性能が出しにくい1bit出力にもかかわらず、TDA1307などのノイズシェーパIC(Delta Sigma変調器)は3次のものが採用されていたと記憶しています。

しかし、SDRAM_DAIではDSDと同じ64Fsで動かしたいので、性能を上げるために5次のノイズシェーパ(Delta Sigma変調器)を設計して搭載しました。

さて、TDA1547に興味のある方なら、DAC基板の構成も非常に変わったものであることに気が付かれるかと思います。左右2個使いですが、いわゆるダブル・ディファレンシャルという構成ではありません。

この基板では、移動平均2パラ差動とでもいう構成にしています。 移動平均といっても「片chあたり2個の平均」ではありますが・・・。

また、TDA1547内部のOPアンプをスキップして外付けにするというイケナイ(笑)こともやってます。

写真はバグありの1次試作基板。Shiftクロックの3→5Vレベル変換をすっかり忘れていた(汗

Microsoft Visual C++ 2008 ランタイム・パッケージ

うっかりしていました。当方が作成するプログラムはすべてマイクロソフトのVisual C++ 2008によって作成しております。お使いのコンピューター上に、上記開発TOOL ( Visual C++ 2008 ) か、あるいは上記TOOLを用いて作成されたなんらかの市販ソフトなどがインストールされている場合には特に問題ないのですが、そうでない場合には当方作成のプログラムが動作しない可能性があります。

そのような場合には、お手数ですがマイクロソフトのサイトから、Visual C++ 2008 再配布可能パッケージというものをダウンロードして、お使いのコンピューターにインストールしてください。当方のプログラムが使えるようになります。

 

DSDがPS3の光デジタル出力から176.4kHzで出たっ!

SONY PS3をお持ちの方に朗報です!?

といってもハッキングの類ではありませんので、その筋を期待された方はゴメンナサイ。

ここのところ2つの1bitオーディオ・ファイルフォーマットを扱ってみましたが、 実はもう一つ本家本元のSONYからDSDIFFに続く2つ目のファイルフォーマットが出ていることを知りました。あまり普及していないDSDですが、全部で3種類のファーマットがあることになります。

DSDIFFがどちらかというとPRO向きのフォーマットであるのに対し、SONYもう一つのフォーマットであるDSFは、より民生向きのフォーマットのようです。VAIOのグループが普及を先導?しているようです。

要は、(Sound Realityチップ搭載の※1)VAIOでアナログソースをDSDで録って、VAIOで聴く、というようなことを想定しているみたいです。で、それだけでは物足りないので、VAIOでCDからリッピングしたwaveファイルをDSFに変換してDSDの高音質を楽しむこともできますよ !? という付加価値もつけているようです。

基本的には自家録音愛好家のための機能ということになりますが、VAIOだけでは広がらないので、ピュア層を取り込もうという目的で、DSFファイルを所定のフォーマットで焼きこんだDSD DISC※2というディスクフォーマットを新たに定義して、一般ユーザが自分でCDを作れるようになったのと同じように、SACDもどき※2を作って鑑賞できるようにした!ということのようです。

で、このDSD DISCというのが最近発売のSONY製SACDプレーヤーであるSCD-XA5400ESとならんで、PS3でも再生できるということですので、どうしても試してみたくなりました(SACD再生ができない機種でもDSD DISCの再生は可能らしいです)。

とはいっても、DSFファイルは基本的にはVAIOを持っていないと作れません。 KORGのMR-1/1000/2000といった機種を買うと、PCMと3種類の1bitDSDフォーマット間を行き来出来るような変換ソフトが付いてくるので、これで生録をすれば素材はOKですが、さしあたって購入する動機としては弱いので見送りました。

SONYでは、このDSFファイルフォーマットを開示していますので、氏名とメアドを登録して仕様書を見せて頂くことにしました。一応秘密保持の義務がありますので、ファイルフォーマットの内容に関する事については一切言及できませんのでご了承ください。

DSFのフォーマットについてはわかりましたので、変換プログラムを作って件の1bitコンソシアムのWSDファイル※3をDSFに変換してみました。変換したファイルをDVD-Rに焼いてDSD DISCを作り、PS3に挿入したところ、見事に光デジタルアウトから176.4kHzのPCMデジタル信号が出てきました。PS3の光デジタル176.4kHz出力が初めて意味をもった瞬間でした(PS3のファームウェアは2.50)。

生録をやる方、バンドなど自演を録音する方、あるいは昔のアナログディスクやテープをDSDでアーカイブしておきたい、といったニーズに再生面で文句ない環境をPS3が提供してくれる事がわかりました。

アマチュアが現状DSDで録音できる手段としては、件のVAIOか、KORGやTASCAMのレコーダーくらいしか選択肢がないのが玉に瑕ですが。

※1  いわゆるPC用のAUDIOコーデックチップに、DSDで入出力できるI/Oを追加したものと思われます。
※2  ホームメイドCDのほとんどはPCで作成されていますが、SACDはPCで扱えませんし、作ることもできません。
      そこで、家庭で作れるSACDの様な位置づけとして「DSD DISC」というものを登場させたということです。
      つまりPC(ライティングソフトも)があればDVD-R等を使って個人で作成することが可能です。
※3  打楽器効果音ファイルについてはトゥイータや鼓膜にご注意ください。1部クリップするファイルもあります。
      WSDファイルの著作権を尊重してください。当方のプログラムwsd2dsf.exeの著作権はElectrArtが保持
      します。解析等は無用に願います。使用条件は「何が起きても自己責任です」でお願いします。
      使用法:wsd2dsf input_file.wsd output_file.dsf
      2.8Mサンプリング2chのWSDファイルのみに対応します。プログラムはファイルサイズ分のメモリを一気に
      確保する作りになっていますので、1bitコンソシアムにあるデータ以外の、ギガを超えるようなファイルを
      喰わせようとすると、システムが警告を出すかもしれません。

おまけ:最後に、当方がPC上で計算によって作り出した1kHz正弦波のDSDデータをDSFファイルにし、DSD DISCに焼いてPS3のビットマッピング/タイプ2で88.2kHz出力した結果をwaveファイルに録りましたので特別公開します。

続、1bitコンソーシアム

1bitコンソーシアムの音源はもう体験されたでしょうか?写真から見るところ、これらの録音はおそらくワンポイント収録されたものだと思います。非常に鮮度の高い、時にゾっとするほどリアルなサウンド(ブラボー + パチパチなども…)が収録できるんですね。

実は、数字だけのファイル名である打楽器音のWSDファイルは録音レベルが非常に高く、SACDの信号レベル規格をかなりオーバーしています(録りっ放し故に無調整!→ 生々しい!)。元日にアップロードした変換プログラムは、これらの打楽器音ファイルがクリップして歪まないようなレベル設定でwaveファイルに変換しております。

したがって、その他の音楽ファイルはダイナミックレンジを損した変換になっており、最高の状態で変換できているとは言えませんでした(1部、打楽器音ファイル並みのRECレベルのものがありますが・・・)。

そこで、バイオリン名器で演奏されたそれらのDSDファイルを、より良い状態でwaveファイルに変換できるようにチューニングした(以前のプログラムが「チューニング」されたものというべきですが)プログラムを別にアップします(wsd2wav1.exe)。新しいプログラムは、変換計算後に24bitに再量子化する際のテクニックとしてノイズシェーパを使っていますので、演算結果がDSD2S/PDIFデシメーション・フィルタ基板に更に近くなっているはずです。

ついでに変換実行用のバッチファイルも用意しましたので、バッチファイルに記載された音楽ファイルを1bitコンソーシアムのサイトからダウンロードして、実行してみてください。

ちなみに、melo***_2ch.wsdファイルなど、いくつかのファイルは元録音にかなりのDCオフセットがありますのでお気を付け下さい。当方はガダニーニの音が好みかな。

Windows Media Playerでは24/88.2kのwaveファイルが再生できないようですが、お手持ちのサウンドデバイスがそれをサポートしていれば、市販の波形編集ソフトをお持ちでない場合でもWaveSpectraで再生できる可能性があります。あきらめずに試してみてくださいね。

ところで、WSDファイルのヘッダを調べてみると、どうもKORGのDSDレコーダーで収録されたものではないかと思われます。MR-1とかMR-1000とかいう機種がありますが、なかなか面白そうです。

↑↑↑↑↑↑↑↑↑↑↑↑ 1/12追記:世田谷区のS様より次のようなご指摘を頂きました(要約しています)。

《バイオリン音源は2004年の1bitフォーラムで、オーナーが直接国内に持ち込んで録音する予定だったのがキャンセルになり、日本から現地に機材を持ち込んで録音したものと記憶しています。また、当時はMR-1/1000は発売されておらず、研究用の機器を使ったと思われます。》

とのことです。ご指摘ありがとうございました。

念のため

dff2wav.exe ( ≒ DSD2S/PDIFデシメーション・フィルタ基板の88.2kHzモード時変換性能 ) の特性を念のため確認しておきました。結果は基板とほとんど同じ変換性能を有することが確認できました。1kHz, 10kHz, 20kHz, 30kHz の正弦波をそれぞれパルス密度変調してDSDIFFファイルに変換するプログラムを作り、dff2wav.exeによって ( 再度 ) DSD→PCM変換を実行して検証しました。

興味のある方は下のリンクでWaveSpectraのキャプチャー画面をご覧ください。

とりとめのない記事が続きますが・・・、私はアナログアンプはほとんど作ることが無いので、あまり経験がないのですが、ALPSの27型VRを使うと必ずハムに悩まされます。VRを含めてバラックで音出しをするときは良いのですが、ケースに入れると大抵ハムを拾います。

景品のヘッドフォン基板を、タカチのUSシリーズに組み込んだ時も同じでした。結局、フロントパネル内側の塗装をサンドペーパーできれいに剥がして導通を確保し、VRの全面金属ケース部と接触するようにした上で、この電位をアースに落とす ( 今回の場合はヘッドフォン基板の信号線コネクタのGnd ) といった対策でハムを追放しました。

アナログアンプ自作ファンの方々はどうされているんでしょうね・・・。

高音質配信サイト

LINN RECORDなどに代表される、DRMフリーなLossless高音質配信サイトについて調べていると、ノルウェーで面白いサイトを見つけました。

32bit/352.8kHzという超ハイスペックな収録音源によってSACDをリリースする傍らで(つまりPCM→DSD変換が噛んでいる)、高音質配信に乗り出す準備をしているようです。その一環として評価期間内?にいくつかの音源を無償配信しています。

面白いのは、24bit/352.8kHzのWaveファイル(一般Audioファイルには再生環境がない)とともに、SACDの編集マスタファイルであるDSDIFFフォーマットのDSDデータまで配信していることです。

こんなものを配信しても、ますます誰が使えるの?という感じですが、海外の提携先レーベル発掘のためのプロモーション用途といったところでしょうか。

面白いので、DSDIFFファイルをダウンロードさせて頂きました。DSDIFFファイルについては、本家本元PHILIPSのフォーマット仕様書が「流通」していますので、同じように24bit/88.2kHzのWAVファイルに変換するプログラムを作ってみました(正月休みに感謝)。

1/6 12:17 バージョンアップして、2GBを超えるような大きな(実用的な)DSDIFFファイルもきちんと扱えるようにしました(当方の環境で動作確認しました)。上記リンク先プログラムは修正済みです。

1/10追記:業務用としてお使い頂くことを考慮して、32bit浮動小数点waveファイルへ変換する正式版をアップします。ご評価いただけると幸いです。 こちら→正式版dff2wav

使い道としては、

  1. PCM収録→DSDマスタリングのSACDを、DSD2S/PDIFデイメーション・フィルタを使って再度PCMに変換して再生すると、音がどのように変わってゆくかというところを、元PCM音源と比較して評価することができそうです。
  2. TASCAMのDV-RA1000などを使用してDSDで録音してしまった?ファイル(DSDIFF)をWaveファイルに変換してPCで再生することができる。

といったところでしょうか。まあ、いずれにしても多くの人が必要としているソフトでないことは確かです(^^;;)

上記2.の関連でいえば、例えばDSDIFFを32bit/176.4kHzのwaveファイルに変換できるように拡張すれば、(業務用)PCMデータ編集用ソフトなどに喰わせる高品質の元PCMデータを作成できるようになります。

==== 注意 ====

本プログラムdff2wav.exeは、下のwsd2wav.exeと同様、無保証ですがご自由にお使い頂けます。使用条件はwsd2wav.exeに準じます。

本プログラムは2ch非圧縮のDSDデータを格納したDSDIFFフォーマットV1.5のファイルのみに対応します。マルチchのDSDデータを格納したDSDIFFファイルに対して、本プログラムを実行しないでください。マーカーや編集マスターチャンクなどは一切無視します。また、可逆圧縮データであるDSTチャンクを含むファイルは読み込みを拒絶します。

コマンドプロンプトで、dff2wav inputfile名.dff outputfile名.wav と入力してEnterキーを叩いてください。

1ビットオーディオコンソーシアム

謹賀新年。今年もよろしくお願いします。

あまり有名ではありませんが、1bitの大家である、早稲田大学の山崎先生が主宰する「1ビットオーディオコンソーシアム」という団体があります。

SACDで使われるフォーマットと同等の1bit信号による録音・再生(およびそれ以降)を推進することを目的として活動している団体で、評論家の麻倉先生も特別会員のようです。

ここのコンテンツに、1bit DataというDSDライクな音源があります。特殊ファイルフォーマットですし、そもそも1bit Dataを再生できるハードウェアがありませんので、これを利用した人がどれだけいたかはわかりません。

同一楽曲(チャイコフスキーのMelody)によるバイオリン名器の聴き比べや、超高域まで強烈なスペクトラムのある打楽器のソースなど、なかなか価値のある音源だと思います(おそらく録りっ放しということで、鮮度が高く、レベルオーバーなどもあるかと思われます)。

本来は1bitのまま再生するのがベストだと思いますが、次善の策としてPCMに変換して楽しんで頂こうと考え、デシメーション・フィルタをかけながら24ビット/88.2kHzのWaveファイルに変換するプログラムを作りました。
1/1 23:53 ファイルを差替えましたので、それ以前にダウンロードされた方は再度ダウンロードをお願いします。
ごめんなさい。1/3 16:00再度ファイルを差替えました。例外処理を1点追加し、DSD2S/PDIFデシメーション・フィルタ基板の信号処理との整合性を改善しました。できれば再ダウンロードをお奨めします。

何度も申し訳ありません。1/4 0:48 最後尾15個分のデータがゴミデータとなっていた問題を修正しました。

このプログラムは、2ch/WSDフォーマットの1bit信号(2.8MHzのみ、5.6MHzには非対応)を、拙作DSD2S/PDIFデシメーション・フィルタ基板の88.2kHzモードと同等のアルゴリズムでPCMに変換します。4ch/8chには対応していません。ご興味をお持ちになりましたら、是非素晴らしい音源をお楽しみください。

厳密には、基板のフィルタTAP係数は40bit浮動小数点相当、プログラムは倍精度浮動小数点となっており、最終的に24bitの信号へbitリダクションする際に、基板は1次ノイズシェーパで、プログラムは単純切り捨てで行っております。ということで、アルゴリズムが完全に一致するわけではありません。

==== ご注意 ====

Windows XPなどのコマンドプロンプト(DOS窓)上で、wsd2wav 入力ファイル(.wsd) 出力ファイル(.wav)
を実行してください。出来上がったWaveファイルにはDCオフセットが結構残りますが、もともとの1bit信号にDCオフセットが乗っていると考えられます。DCアンプファンの方はご注意ください。
Sound Forgeなどをお持ちの方は、ここぞとばかりにDCエリミネーション機能をお使いになるチャンスです。私は初めて使ってみましたが、なんだかマスタリング・エンジニアにでもなった気分です(^^;。

1bit音源ファイルの著作権には十分ご配慮ください。変換プログラムの著作権は当方にあります。転載や改変/リバース・エンジニアリングは固くお断りします。また、本プログラムは、メモリー4GB、core2Duoというリソースに恵まれたマシン(OSはWindows XP)でしか動作確認をしていません。万一プログラムのご利用によって不利益を被られた場合でも、当方は責任を負いませんのでご了承ください。

希望される方が非常に多い場合には、176.4kHz版のプログラムも作ろうかな、と思います。