スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PCソフトとDACハード:デジタル処理を託すべきは

15/06/25初稿

 UDA-1のDSDネイティブ再生モードを用いてPCM1795をアナログ化フィルタとして“のみ”使う場合、PCMデータの再生に必要になるデジタル処理の悉くをDACチップ側ではなくPC側で処理していることになります。
 オーバーサンプリングデジタルフィルタ(LPF)やΔΣ変換処理、DACチップとPCではどちらが高性能なのでしょう?

 ≪HQPlayer≫なんて、商品アピールとは言え、ハッキリ「PCでやった方が有利だから買いなよ」って言ってますけど(*)。

*:http://www.hqplayer.jp/

 ≪HF Player≫でも、ONKYOさんはスマホ側でやることがメリットだって言ってますけど(*)。DACでやるより高性能処理なので音質がいいと名言してはいないようですけれど。
 1bit化して送り込むことのメリットについては、本稿で扱う「PC側で悉く」と同じ考え方かと思います。

*:http://www.phileweb.com/news/audio/201412/20/15346.html
 ただし、ONKYOオリジナルのソースは見当たりません。「Virtual FPGA」とやらも(笑)。

 16/12/11追記:marantzさんのお墨付きもらいました(笑)。

さて、このディスクリートDACを検証する時、マランツ・ヨーロッパはこんなことを言い出しました。CDからリッピングしたPCMデータをパソコンのソフトでDSD変換してディスクリートDACで再生すると、PCMをそのまま再生するより音が良いと。
出典:http://www.phileweb.com/interview/article/201612/09/411_2.html


 長年棚上げしていた疑問なのですが、本格的に「PC側で全部やっちゃう運用」するなら、少なくとも「汎用品だけど絶大な資源を持つPC」は、「専門家だけど小資源のDACチップ」に致命的に劣ることはないくらいのイメージは掴んでおきたいところです。
 ていうか、「ホントにそっちの方向に行っていいのか、使い物になることを確認しておきたい」って言った方がいいかな?

 正確に調べきるのはまず無理だとは思いますが、可能な限り情報集めてみようと思います。
 以下、PC側の処理は≪foobar2000 1.3.6≫を使っています。


 なお、「オーバーサンプリング」と「アップサンプリング」という用語は、ざっくりですが、サンプルを増やす方法として前者はLPFなしで単純に増やすこと・後者はLPFかけて波形を整えること、という意味で使い分けています。また、「オーバーサンプリングしてデジタルフィルタをかけるとアップサンプリングと同義」としています。詳しくはリンク先にて。

 以下、オーバーサンプリングデジタルフィルタはOSDFと略します。


■アップサンプリング時のLPF性能

・DACチップ
 PCM1795のdatasheetによると、StopBand Attenautionは-98dBとなっています。
 TIの最上位製品PCM1792Aでは-130dBです(*)。

*:http://www.ti.com/lit/ds/symlink/pcm1792a.pdf

・≪foobar2000≫のResampler-V
 SoXだと-196dB、SSRCだと-240dBまで指定できます。これがおそらくStopBand Attenautionだと思いますので、数字だけ見れば最高級DACチップ以上の性能を出せることになります。

 ですが、比較がこれだけでは流石に何とも物足りません(笑)。フィルタ演算性能の代表的パラメータ「tap数」について何か判ればといいと思うのですが、DACチップはさておきResampler-Vのそれもいくつに相当するのか私にはワカリマセン。

 そこで「tap数を指定できるアップサンプリングツールでLPF特性をキャプチャし、それとResampler-Vの特性を比べる」ことで、ざっくり想定してみることを考えました。

 “ツール”には≪FUSE 0.18≫を使います(0.18なのは手持ちがそれだったため)。≪WaveUpConverter≫じゃなくて≪FUSE≫なのは、ディザをoffするためと小さなtap数を指定するためです。倍率は目的から充分な2倍。
 対象ファイルは≪WaveGene 1.50≫で生成したホワイトノイズ2448-3dBです。このファイルでLPF特性を見る考え方についてはこちらの記事にて。
 ≪FUSE≫のPassBandとStopBandの特性は判りませんが、試してみたところかなり急峻なように見えたのでResampler-Vは設定可能な一番キツイもの(PassBand98.2%、StopBand100%)にしておきました。
 Resampler-VではアルゴリズムをSoXとSSRCに切り替えられますので、その違いも確認しておきます。
 単位としてのtapは設定に用いる2の乗数として記します。

 キャプチャはもちろんすべてデジタルのままです。


1.8tap

t8.png


2.12tap

t12.png


3.16tap

t16.png


4.18tap

t18.png


5.SoX -96dB

SoX-96dB.png


6.SSRC -96dB

SSRC-96dB.png


 SoXもSSRCは、これ以上Attenaution値を上げてもこのスペクトル上ではほどんど変化しません。それも含め、この両者、LPF特性という意味においては決定的な差は見られませんでした。
 ということで、Resampler-Vは-96dB設定でも高域ノイズは最低レベルまで落ちているようです。
 一方≪FUSE≫は16tapではまだResampler-Vの減衰特性に届いておらず、18tap以上が必要そうです。

 アルゴリズムの差、減衰特性以外の差などいろいろな要素がありますのでもちろん断言はできませんが、Resampler-VのLPF特性は-96dB設定でも≪FUSE≫の18tap以上に相当し、つまりtap数もかなり大きい可能性は高いのではないでしょうか。
 DACチップのデジタルフィルタはどんなアルゴリズムで何tapなのかは解りませんが、PC側処理はAttenaution値・tap数共に“少なくとも負けてはいない”のではないかと思えます。

 以上、もちろん≪WaveSpectra≫でスペクトルを見た場合の相対比較としてのみの話であり、dB値の絶対値の意味などは無視しています。
 あくまで参考レベルです。一応調べたぞっていう自己満足ですね(笑)。

・Chord社のFPGA
 15/11/24追記:Chord社は「通常のフィルタ(DACチップのことでしょう)」のタップ数は200くらいだって言ってるようですが、ホントかな? Hugoのスペック26,368は14~15bitの間ですね。

通常のフィルタは200程度だが、それを1,000、2,000と増やすことで、トランジェントエラーを引き起こす率が低下し、音が良くなるという。その研究を元に、「WTAフィルタ」を開発。今回の「Hugo」では、26,368タップのフィルタを採用。2,048倍のオーバーサンプリングデジタルフィルタも通し、ジッタを低減している。こうした処理を行なうために、DSPは16コア、208MHzの強力なものを搭載している。
出典:http://av.watch.impress.co.jp/docs/news/20140208_634483.html

 なんでデジタルフィルタで“トランジェントエラー”が発生するのかサッパリ解りませんが(笑)。おそらく、Audio用語としてのトランジェントなんでしょうけれど、それってエラーするものじゃないですよね(苦笑)。
 なんで2048倍するとジッタが低減するのかも解りませんけど。アナログLPFの揺れ?(ジッタとは言わないと思うけど)

 16/03/07追記:DAVEの発表会記事です。164,000タップは17~18bitの間ですね。

 「DAVEでは、164,000タップのWTAフィルタを使っています(タップ数はFIRフィルタの処理細かさを表したもの。Hugoは26,000タップ)。通常のフィルタのタップ数は200程度ですが、時間領域の精度を向上させると音質が改善していく事がわかりましたので、タップ数を増やす事にしました。それに合わせ、WTAフィルタのアルゴリズムも、長いタップ数に適合するように改善した」という。

 さらにDAVEでは、WTAフィルタを周波数256fsの速度で走らせており、88nsec(ナノ秒)の頻度でサンプルを作成。それに加え、出力されたデータを、2,048fsまで上げる処理も実施。最終的には9.6nsecごとにサンプルを作るようにしており、「これによりDACの中でアナログに相当するほどの密度の濃いデータが作られるようになる」とする。

出典:http://av.watch.impress.co.jp/docs/news/20160307_746780.html

 要するにCHORD社がやってるのは「リコンストラクションフィルタのタップ数・倍数性能を上げて波形再構築精度を上げる」ってことですよね。18tap相当の256倍アップサンプリング×8倍オーバーサンプリングしてからΔΣ変換してるってことですかね?
 技術のミソは、如何にFPGAに効率よくインプリメントするか、ということっぽいですね。
 44.1kHzの256倍の周期は確かに88nsですね。9.6nsの意味はヨクワカリマセンが。

 ちなみに、CHORD社は明らかにDSDよりPCM推しですが、PCM高性能リコンストラクションフィルタが同社のウリなのですからマーケティング的に当然の見解でしょう(音質的優位性云々より先にそっちの事情があるでしょう)。


■PCM→DSD変換(ΔΣモジュレーション)性能

 次はΔΣ型DACチップで行われている表題機能についてです。
 が、ストリーム(レベル)数やbit数など、実事情はかなり複雑で難しいです。本稿では煩雑さを避けるためDACチップ内のΔΣ変調出力は「1bit」と記すことがあります。上記marantzさんの記事でもそのような書き方になってると思います。また、この表記も正確なのか疑問ではありますが、「ΔΣストリーム」と記すこともあります。
 詳細は「みんなDSDを聴いている」にまとめましたのでご参照ください。

・DACチップ(TI社PCM179xを例として)
 次数:どうも3次らしい(*)です。
 周波数:128倍で動いてるようです。
 ストリーム(レベル)数:マルチです。難しくてヨクワカリマセンが、シングル1bitストリームとは事情が全く異なりますね。

*:http://www.tij.co.jp/jp/lit/ml/jajt042/jajt042.pdf

・≪foobar2000≫のASIOProxy
 次数:≪HQPlayer≫なんかは5次、7次だそうです。3次より劣ることはなさそうです。
 周波数:(現時点バージョンで)周波数は512倍まで設定できます。
 ストリーム(レベル)数:もちろんシングル1bitストリームです。掛け値なしの1bit。きっとこの点では負けてるのでしょう。


■ΔΣブロックにおけるオーバーサンプリング手法

 本項15/12/06追記。UD-503(AK4490)と≪foobar2000≫を調べてみました。

 UD-503(AK4490)のΔΣブロックは最終的に256Fsまでオーバーサンプリングしています。デジタルフィルタオフしても256倍されているハズです。
 ≪foobar2000≫でも、リサンプラを入れなければDSD256変換する場合はΔΣブロックで256倍されているハズ。
 そこで、リコンストラクション(デジタルフィルタリング)しないと明らかに変形が判るデータを突っ込むことで、「オーバーサンプリングの違い」が見られないかと思いつきました。

 TruePeakを考えた時に用いた「サンプリング周波数の2/3で30°ズレ」たデータを使います。

・44.1kHz(24bit)フォーマットの14.7kHzサイン波 (22.05kHz×2/3)

14700Hz-3dB:2444

 歯抜けなサンプルポイントですが、キチンとリコンストラクションすると以下のようなサイン波が再現されるワケですね。

・352.8kHz(24bit)フォーマットの14.7kHzサイン波

14700Hz-3dB:24352

 さて、果たしてUD-503(AK4490)はこのデータをどう捌くでしょう?
 メニューからデジタルフィルタ機能をオフし、2444ファイルを≪foobar2000≫側でも何もしないで再生すると以下のようになります。

・UD-503(AK4490)でPCMデータを256倍 (NOS-DAC状態)

14700Hz-3dB:2444:UD-503:OSDFなし
(アナログキャプチャ)

 ちなみに、これは「NOS-DACでの2444フォーマット14.7kHzサイン波再生波形」ということです。

 一方、≪foobar2000≫のDSD256変換再生では以下のようになります。こちらも当然リサンプラは入れていません。AK4490はDSDモードとして受けており、当該ストリームはSCFにダイレクトに入っているハズですので、DACチップ側でもデジタル演算はされていません。

・≪foobar2000≫で256倍 (PCM2444→DSD256変換)

14700Hz-3dB:2444:DSD256:UD-503
(アナログキャプチャ)

 元は同じデータを256倍したストリームがSCFでアナログ化されているハズなのに全然違います。UD-503(AK4490)と≪foobar2000≫の256倍手法が全く違うということです。どう違うのでしょう?

 じっくり眺めてみると、UD-503(AK4490)は「零次ホールド(次のオリジナルサンプルまで同じサンプルを増やす)」に見えます。
 ≪foobar2000≫の方はなんだか「サンプル間の平均」とってるように見えます。
 それを確かめるため、2444ファイルを「零次ホールド」と「リニア補間」で8倍したファイルを作成してアップサンプリングもOSDFもオフして再生し、その波形と比較してみることにしました。
 8倍までなのはUD-503がそこまでしか受け付けないためです。AK4490のΔΣブロックでさらに32倍されちゃいますが、その前の8倍手法の違いは見られるでしょう。

 ≪fooba2000≫の≪MultiResampler≫というプラグインを使うとそれら手法によってサンプルを増やすことができます(Convert機能でファイル化)。≪foobar2000≫、やっぱ素晴らしい!
 以下、コアは1.3.8、ASIOProxy(DSD変換)は0.8.3、MultiResamplerは1.1.0にて。

・零次ホールド

14700Hz-3dB:24352:ZeroHoldx4x2:UD-503
(アナログキャプチャ)

・リニア補間

14700Hz-3dB:24352:Linerx4x2:UD-503
(アナログキャプチャ)

 やはりUD-503(AK4490)は零次ホールド、≪foobar2000≫はリニア補間とみていいでしょう(もっと細かいことやってるかも知れませんが、原則として、です)。
 ただし、UD-503は前段にFPGA持ってますので、デジタルフィルタOFFした場合はAK4490を外部DFモードにしてFPGAでオーバーサンプリングしている可能性もあります(だとしても何倍かは解りませんが)。もしそうであれば「零次ホールド」してるのはAK4490ではなくUD-503のFPGAということに。
 ということで、デジタルフィルタOFF時、それが担っていた8倍がどうなっているか確定できないことが解りました(苦笑)。残念ながらこの試みはここまでですね。

 ただ、ΔΣブロックのオーバーサンプリング演算で≪fooba2000≫は“ひと仕事している”のが解ったのはよかったです。
 もちろん効果レベルはさておきですが。


■演算精度

 ≪foobar2000≫では、各種処理は32bitFloatで実施されていると理解しています。PC側でDSD化まで行う場合、機能ブロック間I/Fも含めて32bitFloatで完結してるハズです(15/09/12追記:PCM→DSD変換にFP64が追加されたように、内部演算は64bitなモジュールもあるかも知れません)。
 64bitFloatのソフトウェアもありますよね。
 一方、DACチップの内部バスは最大32bit、演算方式はおそらくFixedではないでしょうか。
 微少な差かとは思いますが、演算誤差の点ではPC処理の方が有利だと思います。


■まとめ

 以上、このくらいしか思いつきませんが、一応、“PC側処理はDACチップに劣るものではなさそう”と判断しておこうと思います。
 もちろん個人的には、ですが。


■PC処理でΔΣブロックの「オーバーサンプリング」を「アップサンプリング」にする

 さて。

 PCとDACチップのデジタル処理性能差について考えていたら、「PC側で悉くにはまだ先がある」のではないかと思いつきました。DACチップ内の倍率はデジタルフィルタ部とΔΣ変換部のかけ算で決まっている からです。
 順番に考えてみます。

・ΔΣ型DACチップにおけるPCM→DSD変換処理のためのオーバーサンプリング
 まず、ΔΣ型DACチップでPCMデータを再生する時の内部動作を考えます。
 チップによってスペックは異なりますがいちいち断りを記すのは煩雑ですので、PCM1795想定決め打ちで。

・step1.
   リコンストラクションフィルタのプリフィルタとしてのOSDFブロックで
  8倍される。
   もちろん単純にサンプルを増やしただけでなく、
  LPFによってイメージングノイズが除去される。
   それは「アナログ波形に近づける」ことと同義、
  かつPCでの「アップサンプリング」と同機能。
   44.1kHzの音源なら8倍にアップサンプリングされた352.8kHzのデータとして
  ΔΣブロックに入る。

・step2.
   ΔΣブロックでさらに16倍され、合計128倍=5.6MHzのPCMデータに変換される。

・step3.
   128倍になったPCMデータがΔΣストリームに変換される。


 つまり、ΔΣ変調する前に「OSDFブロックとΔΣブロック“合計で”128倍までサンプリングレートを上げている」のです。44.1kHz/48kHzデータの場合はOSDFブロックで8倍→ΔΣブロックで16倍していることになります。

 一気に128倍せず2段階になっているのは、異なる目的に必要充分なハードウェア資源で賄うためだと思われます。
 OSDFではイメージングノイズを充分に除去するため高性能なLPFをかける必要があり、そのためのレジスタや演算回路などのハードウェアが実装されているハズです。当然無制限に搭載するワケにはいきませんので、ベストバランスが8倍分ということでしょう。
 一方、ΔΣブロックでの16倍は1bit化に備えて周波数を上げるのが目的です。OSDFをオフ動作させたPCM1792Aの出力はカクカクのようですから、ΔΣブロックにフィルタ処理はないと見ていいでしょう。
 おそらく単純なオーバーサンプリング=ゼロサンプル挿入方式と推察します(*)。

*:同じサンプルを間足しする“零次ホールド”方式かも知れませんが、ざっくり言うと、フィードバック演算時のサンプル値考慮方法の違いだと思いますので、以下、ゼロサンプル挿入であることに統一して記します。
 また、もしかすると平均とるくらいはしてるかもしれませんが本稿では無視します。


 さて。
 ということは。

 ΔΣ動作のキモは「1bit化した時の量子化誤差をフィードバックする」ことだと理解しています。高速にフィードバックして誤差を分散させてしまうワケですが、発生する量子化誤差は小さいに越したことはないでしょう。
 つまり128倍の周波数になったPCM波形は“元のアナログ波形”に近いほどいい、ということになります。
 なら、増やすサンプルは「ゼロサンプル挿入」より「インターポレーションフィルタ」によって生成した方が有利なのではないでしょうか?

 ΔΣ変調するPCMデータは、より“ハイレゾ”であるに越したことはないということです。

 とすると、DACチップとしてはΔΣブロックでオーバーサンプリングする前に、「極力OSDFブロックでアップサンプリングした方がよい」ということになります。
 おそらくOSDFに必要なハードウェア資源はソース周波数に依存しないでしょう。ですので、8倍OSDFなら、MCLKで決まる処理速度さえ間に合うなら44.1kHzでも192kHzでも8倍が可能と推察されます。
 であれば、8倍OSDFを持っているならどんな周波数でも8倍で使わない手はありません。
 TI社製DACのOSDFは入力周波数に依らず8倍しているようで、その理由がずっと疑問だったのですが上記が正しいのなら理解できます。
 そもそも2倍でも1fsの折り返し(およそ66kHzまで)はイメージングノイズ除去できます。もうちょっと上まで欲しいかも知れないので4倍は必要としても、それ以上はアンチイメージングフィルタとしての意味はないハズなので「なんで8倍すんのかな~」などと思っていたのですが、「ΔΣのためになるべくアナログ波形に近づける」という意図なら納得です。

・PCにおけるPCM→DSD変換処理のためのオーバーサンプリング
 上記DACチップ内の考察は(合ってるなら(苦笑))大変興味深いことです。
 PCで行うPCM→DSD変換においても同じことが言えるのではないかと思うためです。

 ≪foobar2000≫のPCM→DSD変換を見てみますと、アップサンプリングせずDSD変換だけ行った結果はイメージングノイズまみれでした。
 つまり当該処理ブロックでカクカクぶりは変わっていない=DACチップと同じくLPFはかかっていないということです。
 ので、PCM→DSD変換ブロックの中では、DACチップと同じくゼロサンプル挿入で設定の倍率までオーバーサンプリングしているとみていいでしょう(と、初稿時記していましたが上記追記の通り「リニア補間」しているようです)。

 なら、PCM→DSD変換ブロックに渡す前に、「DACチップ内のOSDF機能」に該当する「アップサンプリング機能」を用いて可能な限りアップしておいた方がよいのではないでしょうか。「DACチップではOSDFは8倍だから」ってPC処理でも8倍をシミュレートする必要はないのではないかと。
 具体的には、SoX ResamplerやResampler-Vを多段処理にし、可能な限りアップサンプリングするのです。
 PCM→DSD256変換するなら、256倍までアップサンプリングしてΔΣ変換ブロックに渡せれば当該ブロックでオーバーサンプリングは不要ですから、処理体系としてはウツクシイですよね。

 ≪foobar2000≫では、DSP機能に複数登録すればカンタンに多段処理できてしまいます。どこまでアップできるのでしょう?
 ということで先日組んだX79で実際やってみました。
 結果、64倍までで、何故か128倍以上はダメでした。Resampler-Vの多段処理をx2x4x4x2(64倍)にするとイケますがx2x4x4x4(128倍)にすると無音になっちゃいましたので。
 DSD変換の設定はDSD64でも128でも256でも同じでした。Typeにも関係ありません。バッファサイズなどいろいろ弄っても変化ありません。また、48kHz系だと32倍まででした。
 PCMデータの内部処理仕様として44.1kHzの64倍=2.8MHzに何かスレッシュがあるようなカンジです。
 ただ、ASIOProxyのバージョンに依存するようです。0.8.3では44.1kHz系でも32倍までになってしまいました。

 まとめとして、44.1kHzのデータをPCM1795にそのまま入れて再生する場合と、PC側で可能な限りデジタル処理してから渡す場合(≪foobar2000≫の例)を図にしました。

DACとPCのデジタル処理

 一気に256倍までアップサンプリングしてみたいなぁ(笑)。
 PCM→DSD64変換だとオーバーサンプリングレスで1bit化することになりますので、それはそれでキモチイイ設定かも知れませんね。

・せっかくPCなら出来るのだから、64倍OSDFしてΔΣブロックに渡す
 表題の通り、

 64倍アップサンプリング
   内部的には2.8MHz/32bitのPCMになってるハズ
⇒DSD256変換
   ゼロサンプル挿入で周波数4倍(11.2MHz)にしてから1bit化してるハズ
⇒アナログLPFを通すだけ


で再生した音は、それまで聴いたことがない異質なカンジがします。DACチップでは絶対にやっていない処理だからでしょうか。いろんなデジタル処理の悪影響が激減し、「これまでで一番忠実にデジタルデータをアナログ化している」ような気がします。
 DSD256はUDA-1仕様外っていうのはさておき(笑)。低音量時のしょわしょわノイズも残ってますけれど。

 DSD変換前のアップサンプリング設定は結構音質に影響するようです。x4x4x4とx2x2x2x2x2x2では異なると思いますし、PassBandやStopBand、AttenautionやPhaseResponseの設定は初段だけでなく2段目以降においても結構変わる気がします。
 純粋に波形サンプル値(エコー)の問題なのか、DSD変換アルゴリズムのクセの問題なのか、演算処理負荷の変動によるものなのかなどは定かではありませんが、いずれにしろ“トーンコントロール”はこれで充分かも(苦笑)。

 ところで、PCM1795は上位製品PCM1792AよりLPF減衰特性などは劣ります(ちなみに前者は32bit、後者は24bit対応)。
 が、仮に「それはデジタルフィルタの性能差であってアナログFIRフィルタ性能は同等」だとすると、この鳴らし方ならDACチップの性能差を隠蔽できることになりますね。
 あくまでも仮に、ですけれど。
 ちなみにdatasheetによる消費電力はPCM1795:110mW(48kHz時)、PCM1792A:205mW(44.1kHz時)です。1792Aの方が倍近く電気食ってるのはデジタルフィルタが強力だからでしょうか?



 以上考えた限りでは、PCで行うアップサンプリングやΔΣ変換は、一長一短はあれどDACチップに明らかに劣るものではないのではと思います(繰り返しますが、個人的な判断であり客観的事実ではありません)。
 一方、64倍までのアップサンプリングはPCならではです。しかも「多段リサンプラの段ごとに設定を変える」といった自由度はPCの圧勝です。比ではありません。

 「64倍OSDF」や「DSD256変換」するのはDACチップではエライコッチャでしょうけれど、X79システムにとっては“別段大したことない”処理です(笑)。実際、64倍では流石に8倍より動作クロックは上がりますけれど、負荷率は相変わらず5%くらいです。
 PCパフォーマンス的には問題ないでしょう。

 「可能な限りアップサンプルしてPCM→DSD変換に渡す」のは、
「ハイパフォーマンスPCを用いて、DA変換に必須のデジタル処理を“可能な限り”PC側で行う」というコンセプト
をさらに進めた使い方と言えそうです。
 何か副作用などもあるかも知れませんが、暫くこれを詰めてみようと思います。

 なんてパワー、なんてフリー(笑)。


■おまけ

・ハードウェア(ミドルウェア)では実はおなじみ
 TEAC社UD-503のFPGAによるDAC前段のDSD変換、SONY製ハードディスクプレーヤHAP-Z1ESの「DSDマスタリングエンジン(DSP)」、Roland社の「S1LKi(DSP)」など、DACチップのOSDFやΔΣを敢えて使わないシステムはすでにいろいろ存在します。究極的にはChord社のFPGAによるDACチップレスシステムもあり。
 本稿で記しているのは、「同じようなことを極力PCのソフトウェアでやってみようということ」とも言えますね。

 16/09/01追記:marantzも同じようなこと始めたようですね。「MMM」というそうです。ストリーム数は1本っぽいですね。
http://av.watch.impress.co.jp/docs/news/1017468.html
http://www.phileweb.com/news/audio/201609/01/17665.html

・≪Resampler-V≫のSoXとSSRCの違い
 本稿レベルではLPF特性上の違いは見当たりませんが、負荷は“だいぶ異なる”ようです。
 X79-3930Kシステムを1.2GHz/2コア/2スレッドに設定してx2x2x2x2x2+44.1kHz変換(つまりリサンプラ6段重ね)で負荷を増やし排他WASAPIで鳴らしたところ、「foobar2000プロセス」の使用率はSoXで約6.8%、SSRCでは約17.7%でした。タスクマネージャ読みですのでざっくりですけれど、2倍程度の差はあるようです。なお、DSD変換じゃなくてノーマルPCM再生で見ているのは変換負荷を排除するためです。
 フォーラムによるとSoXがFloatでSSRCがFixedのようですので、なるほどと。

Resampler-V is based on the combination of SSRC and SoX libraries, the first one is fixed, and the other is floating point.
出典:http://www.hydrogenaud.io/forums/index.php?showtopic=107779

・ΔΣストリーム化する直前のPCMサンプルレート
 表題に関する本稿での記載方法についてです。
 DACチップ内でΔΣストリーム化する前の周波数はPCM1795やAKM社製AK4399のデータシートなどから128倍として記しています。
 また、ANALOG DEVICES社資料には、16bit8kHzサンプリングの例ですが“16bitのまま128倍になる”という記述がありますので、128倍になってもビット深度は保っていると推察しています。

デジタル入力 ΣΔ モジュレータにより、この 16 ビット 1.024MHzのデータ・ストリームをノイズ・シェーピングし、分解能を 1 ビットにまで低下させます。このモジュレータは ΣΔ ADC での ΣΔ モジュレータと異なり、すべてデジタル構成です。
出典:http://www.analog.com/media/jp/technical-documentation/application-notes/AN-283_jp.pdf P.12

 AKM社の新型AK4490(*)は256倍に上がったようですね。これからは256倍が標準になっていくのでしょうか。

*:http://www.akm.com/akm/jp/file/datasheet/AK4490EQ.pdf

   ←AK4490をデュアル搭載のバランス駆動対応ヘッドホンDACアンプ


メインメニューへ
スポンサーサイト

テーマ : オーディオ
ジャンル : 趣味・実用

最新記事
ERIへようこそ

Author:らかせ
「最新記事」または
「メインメニュー」からどうぞ

・ファイルへの直接リンク以外はリンクフリー(連絡不要)です

・一応、拍手にコメント(非公開)付けられるようにしてあります

・DB的に利用しており、過去記事もガシガシ書き換えています。特に「最新記事」は初稿から一週間くらいは直してることが多く、大幅に変わっちゃうことも。ご了承ください

・ということもありますし、記すまでもないですが無断転載(ファイル含む)はご遠慮ください

・引用の考え方については「007:諸事」をご参照ください

・アフィリエイトはAmazonのみです

・ハイパーリンクは当Blog記事のみです(054:節電記事のみ例外)

カテゴリ
検索フォーム
FC2カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。