スポンサーサイト

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

「サンプリング定理」のひみつ

16/01/04初稿

 (PCMデジタルオーディオにおける)サンプリング定理のリクツは一応納得したつもりです。
 でも、なかなかスッキリ腑に落ちるカンジにはならないですよね。きっと具体的にイメージできないからでしょう。

 そこで、PCMデジタルデータがどのようにDACチップでアナログ波形に「再構築=リコンストラクション」されるのか、サンプリング定理に基づいたシミュレーションによる“見える化”で追ってみたいと思います。
 CDフォーマットである44.1kHzを例にします。

 波形表示には≪Wavosaur x64 1.1.0.0≫を用いましたが、説明に適した波形を描くためデータはいろいろ弄っています。ファイル名などは無視してください。
 また、「サンプリング周波数44.1kHzでは実際には22.05kHzは記録再生できない」といった実事情は説明簡素化のため無視しています。


■1周期に数個のサンプルから連続波形を再現するプロセスを体験する

 たとえ1周期に2~3点ほどしかサンプルがなかったとしても、サンプリング定理によれば「完全に復元される」ハズです。
 その具体例を44.1kHzサンプリングにおける14.7Hzのサイン波で見てみたいと思います。44.1kHzの1/3の周波数ですので、1周期にちょうど3個のサンプルがあるPCMデータになっています。レベルはドンツキを避けるため-3dBにて。
 マイナスピークにサンプルポイントを合わせるため(極端な例にするため)、開始を30°ズラして≪WaveGene 1.50≫で生成したものです。

 以下にふたつの図を並べます。
 上図は、14.7kHz/-3dBサイン波を示すデジタルデータです。デジタルですので当然情報は“点”しかありません。
 が、サンプリング定理上「ナイキスト以上の周波数成分はない」という条件が必ず付きますので、その具体的イメージを添えたのが下図です。22.05kHz/0dBのサイン波=サンプリング周波数44.1kHzで表現できる最高の周波数の図となります。

14700Hzの点と220500サイン波

 DACチップは上図の離散サンプル間をつないで波形を復元します。「自然界に存在し得るなめらかな波として」なのは言うまでもありません。
 そのままだとどんな線でも引けてしまいますが、「下図以上に急峻な変化はできない」という条件が付くワケです。
 さらに、最大振幅が0dB以下という条件もあります。

 その条件で上図の点を線で結ぶとどうなるでしょう?


 どんなに工夫しても「1周期に3個のサンプルがある14.7kHzのサイン波」になっちゃうハズです。
 ピークもサンプル値に拘ってはいられません。プラス側はサンプル値としては最大-9dBしかないのに-3dBに頂点を持っていかざるを得ないですよね(TruePeak)。

14700Hzの点・サイン波重ね

 ということで、1周期に3個しかないサンプルからサイン波が再現できました。3サンプルポイントが時間軸上ズレている場合や1周期のサンプルが整数個ではない場合は、応用編としてイメージできると思います。
 そして、サイン波が復元できるということはいろんな波形が復元できるということです。
 なお、本例は人工の単独サイン波ですが、自然音の場合も、「AD変換する前にナイキスト以上の周波数はLPFでカット」がPCMの前提ですから、「22.05kHzサイン波以上に急峻な成分なし」という条件はやはり成立します。

 これが「サンプリング定理」によるリコンストラクションです。


■DACチップでは44.1kHzの離散データを如何に連続アナログ値に復元するか

 要するに、上で“脳内シミュレーション”したのと同じことがDACチップ内ではデジタル演算で行われているのです(正確に言えばDACチップ外のアナログポストフィルタも含めてですが)。

 PCMデジタルデータをサンプリング定理に基づいてアナログ値に戻す作業=リコンストラクションフィルタの前段(というか大半)を担うのが「オーバーサンプリングデジタルフィルタ(以下OSDFと略)」です。PCでやる時はアップサンプリングと呼ばれる動作です。
 これは、あるサンプルの周辺サンプルを参照することによって、あるべき中間サンプル値を算出していくものです。上で点を繋ぐ線を想像した時、きっと周りのサンプルを参照しましたよね。DACチップ内ではそれを同じことをデジタル回路がOSDFとしてやっているのです。参照する周辺サンプル数が多い(Tap数が多い)ほど再現性が高くなることもイメージできると思います。

 ということで、次に、DACチップ内でどのようにリコンストラクションが行われているか、PCのアップサンプリングによるシミュレーションで可視化してみます。

 例は上と同じサンプルレート44.1kHzの14.7kHzサイン波の復元です。
 1周期に3個しかない点(サンプル)から14.7kHzのサイン波が再現されるプロセス、となります。

・何もしない(NOS-DAC状態)
 ところで、3個しかないサンプルを何もしないでアナログ化するとどうなるでしょう?
 あるサンプル値から次のサンプル値まではデータがない状態であり、未来のサンプル値がどうなるかは判らないのですから、DACチップとしてはサンプル値が変化するまで同じ電圧(電流)値を出力キープするしかありません。
 これを「零次ホールド(Zero Order Hold)」といいます(*)。

*:http://ednjapan.com/edn/articles/0607/01/news010.html

 再現すべきサイン波と重なったところが上でも示したサンプルポイントです(1周期に3個)。

14700Hz-3dB:零次ホールド:サイン波重ね

 全然サイン波じゃないですよね(笑)。
 マジかよ~と思いますが、OSDFかけないと実際こうなります。
 OSDFじゃなかった時代は、DACチップからのこういう出力波形をアナログフィルタでリコンストラクションしてたってことですよね? 確かに音質よくするのは大変そうです。

・OSDF(一般的なDACスペックの8倍まで)
 OSDFを≪foobar2000 1.3.8≫のアップサンプリングでシミュレートしてみます。リサンプラには≪SoX Resamlper 0.8.3≫を用いました。
 「Phase response(位相応答)」パラメータを変えると結果は大きく変わりますが、本稿ではその事情は無視し、主旨説明のために解りやすい50%(linear)としています。左記を含め、デフォルト設定のままです。

 上図が2倍、中図が4倍、下図が8倍です。

14700Hz-3dB:x2x4x8:サイン波重ね

 8倍でだいぶサイン波っぽくなりましたね。オリジナルサンプルは(一番最初の図の通り)3個しかないのに大したものです(笑)。
 8倍でもまだカクカクしていますが、これは、ざっくり「8倍(44.1x8=352.8kHz)のナイキストである176.4kHz以上のイメージングノイズ」と言えます。ので、たとえDACチップからそのまま出力されても、アナログポストフィルタ(おおむね100kHz以上はカットされるハズ)でならされちゃう帯域ですから、ここまでやっとけば充分ってことだと思います。

 なお、上記はあくまでも“見える化”しただけであり、DACチップのOSDFでこれと同じようなリコンストラクションが出来ているという意味ではありません(できてないという意味でもありません)。

・OSDF後(ΔΣ変換)
 実際には、8倍されたのちΔΣ変換するためさらに16倍(128fs)や32倍(256fs)されます。ここではOSDFのような凝ったサンプル生成(オーバーサンプリング)は行いません(行えません。できるくらいならやってる(笑))。
 DACチップにおけるその処理がどんなものなのかは解っていません。ハードウェア資源を割いていないハズなので、零次ホールドか、やっててもリニア補間程度ではないかと思っているのですが…

 一方、PC処理の代表として≪foobar2000≫を調べてみたところ、DSD変換する際ひと仕事しているようです。零次ホールドではなく「Linear Interpolation(リニア補間)」、つまりサンプル間平均値を生成することでオーバーサンプルしているようです。波形編集ソフトでサンプル間を線で結んだようなデータにしているということですね。
 それを見える化してみます。以下は、上記8倍のデータをさらにLinear Interpolationで結んだものです。

14700Hz-3dB:x8のちリニア補完8倍

 ≪Sox Resampler≫で8倍したデータを同じく≪foobar2000≫のプラグイン≪MultiResamlper 1.1.0≫で「Linear Interpolation」して作りました。あくまで説明のための波形です。8倍OSDFからさらに16倍とか32倍になるワケですが、直線で結ぶだけですし、もはや最後のカクカクは無視できますから、リニア補間の倍率は気にしないでください(笑)。

 ピーク付近がやや角張っているようですが、全体的には充分なめらかに見えます。≪foobar2000≫でDSD変換する場合は、このようになったPCMを対象にしているということです(あくまで“説明のための図”におけるイメージですが)。
 ていうか、DACチップのOSDFが8倍だからとアップサンプリングを8倍で止める必要は実はないので、8倍以上に設定すれば上記よりさらになめらかになったPCMデータをDSD変換できるということになります。

 このあたりは≪foobar2000≫(*)によるDSD変換のメリットではないかと思えるのですが、上述の通りAK4490やPCM1795などのDACチップは8倍した後どのようにオーバーサンプリングして128fsや256fsにしているのか解らないのでなんとも言えないです。

*:正確には「そういう設定ができるPCシステム」です。


■ハイレゾデータはどう処理されるか

 本稿は44.1kHzデータについて記していますが、表題についてもカンタンに記しておこうと思います。
 ただし、本項はデータシートなどから個人的に推察したものです。ですので合ってる保証はありません(苦笑)。
 「ハイレゾ」と記していますが、パラメータとしてはハイサンプリングのみが対象です。

・AK4490(AKM社の主力)
 OSDFは倍率可変で出力レートを8fs(1fsは44.1または48kHz)に固定しているようです。96kHzが来たら4倍の384kHz(8fs)にしてΔΣブロックに渡すと理解しています。ΔΣブロックはそれを固定倍率の32倍でオーバーサンプリングして256fsを得ています。
 ハイレゾを入れてもΔΣブロックにおける「デジタルフィルタリングではないオーバーサンプリング処理」倍率は変わらないということです。

・PCM1795(TI社の主力)
 OSDFは8倍固定で出力レートが可変になります。96kHzが来たら8倍の784kHzにしてΔΣブロックに渡すと理解しています。そのかわりΔΣブロックの倍率は可変で、どんな周波数でも最終128fsにすることを推奨しているようです。つまり、44.1kHzソースの場合はOSDF8倍xΔΣ16倍で128fs、96kHzの場合はソースで2倍xOSDF8倍xΔΣ8倍=128fsだと推定しています。
 ハイレゾを入れるとOSDF処理結果のfsが上がり、その分ΔΣブロックにおける「デジタルフィルタリングではないオーバーサンプリング処理」倍率が下げられるということですね。ΔΣ部処理はOSDFより低精度でしょうから、それが下がった分の倍率は前段のデジタルフィルタ処理になるので、ハイサンプリングはDAC処理プロセスとしてもメリットありそうです。


メインメニューへ

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

「ハイレゾノイズ」にご用心?

15/10/04初稿

 正確には「ハイサンプリング領域(20kHz以上)のノイズ」ですけれど。


 「PCM→DSD256変換再生目的のDSDネイティブ再生環境」はほぼ整いました。
 当たり前ですがPCM音源だけでなく「DSD音源のネイティブ再生」も出来ますので、市販のDSD64音源も、ネイティブ・PCM変換・DSD128/256変換などいろいろ試してみました。
 それらをスペクトル見ながら聴いていたら、なんだか“常識”とか“定番設定”みたいなものへの疑問が沸いてきちゃいました。


■DSDファイルのネイティブ再生

 DSD方式では、ΔΣ変調のノイズシェイピングによって高域にノイズが発生(移動?)します。
 このノイズには正確な意味を示すシンプルな名称がないみたいですので、本稿では「Sノイズ」と略記します。いちいち「ΔΣ変調の~」と書くのはナンですので。
 実は前々からちょっと疑問だったんですけれど、これ、やっぱり気になるんですよね…

・「DSD64」って本当に高音質フォーマットなの?
 Sノイズ、DSD64では20kHzくらいからモリモリ盛り上がります。
 ネイティブ設定すれば≪foobar2000≫もUDA-1もUD-503もそれを忠実に再生します。
 だってネイティブですから。
 実際のスペクトルは≪foobar2000≫でPCM→DSD変換したDSDデータのUDA-1出力のアナログキャプチャの通りです。

 そして、ハイレゾ対応の昨今の機器は20kHz以上の高域も再生しています。
 だってハイレゾ対応ですから。
 例えば、以下は倍音豊かで高域の意味が判りやすいハズのヴァイオリン曲の市販DSD64音源スペクトルです。

市販DSD64:ネイティブのみ
(アナログキャプチャ)

 UDA-1のアナログLINE-OUTです。ちゃんとハイレゾ領域に音があります。
 そして、この出力を受けたアンプやスピーカやヘッドホンも、仕様にある高周波数までキチンと再生しているハズです(仕様だということは極端にゲイン落ちたりするハズないので)。

 ですので、20kHz以上にも有意な信号があり、それは再生され、リスナーはそれを聴いていると言えます。
 そして、それは同時にDSD64のネイティブ再生時、リスナーは20kHz以上の盛大なノイズと共に音楽を聴いていると言うことでもあります。

 それって問題ないのでしょうか?
 だって、もし「PCMにおけるハイサンプリングは有効であって20kHz以上の高域も音質に好影響を与える」のであれば、その帯域にこれだけノイズがあるっていうのは逆に悪影響がある気がするんですけど…
 ノイズとして聞こえているとは思いませんが、これだけあると何らかのエネルギー感を感じてしまうのかもと。実際、波形で見ても、DSD64のノコギリ波はかなりノイジーでしたし。
 何も根拠はありませんので思い込みかもしれませんけれど。

 ただしPC-Audioの場合です。DACユニットではDACチップ出力に対する最終アナログポストフィルタのカットオフ周波数は可変できないハズ(*)なので、ハイレゾ対応機においてDSD64の時だけ低い周波数でカットする、といったことはできないと推定されるためです。実際、上記UDA-1出力のアナログキャプチャはカットせず出力していることを示しています。

*:その前のPCMデジタルフィルタならいくらでも可変できますがDSDにはかけられません。

 一方、SACDプレーヤなど専用機ではもしかしたら低い周波数でアナログLPFかけてる可能性もあります。
 16/03/06追記:でも、それじゃハイレゾじゃないじゃんという話になりますよね。実際メーカもジレンマを抱えていたようで、例えばmarantz製SA-17S1(SACDとCDにのみ対応)などには、“背面”にフィルタ切り替えSWを設けています。
 アンプが対応していないとか言う理由は方便でしょう。
http://www.marantz.jp/DocumentMaster/jp/Old_Product_Manual/SACD_CD_Player/SA-17S1.pdf

・Sノイズをカットするには
 もしかしたら、DSD64を聴く時は何らかの方法でSノイズをカットした方がよいのかも知れません。
 それはLPF(当然デジタル)かけるということですが、DSDフォーマットのままでは出来ません。
 つまり、Sノイズを嫌うのであればDSD→PCM変換するしかないということです。

 明示的にLPFしなくとも、例えば44.1kHzに変換してしまえば必然的に22.05kHz以上のノイズは無くなります(というかデータとして存在できない)。
 が、流石に44.1kHzにするくらいだったら「何のためのDSDなんだよ」ってカンジですよね。
 実際、上記のDSD64音源のスペクトルを見ても、30kHzくらいまではSノイズに負けない倍音成分があると言えるでしょう。でも、逆に30kHz以上はSノイズの勢力に負けてるとも言えます(もちろんこの音源についてですが)。
 ですのでDSD64にとっては30kHzくらいまでは有効帯域だとすると、44.1kHzよりは高性能フォーマットとは言えましょう。が、(周波数成分的には)大した差じゃないとも言えるかも(苦笑)。
 少なくとも“DSD”というブランドイメージには負けてる?

 ちなみにDSD64をDSD128やDSD256に変換することでSノイズをカットすることはできません(念のため試して確認しました)。PCMのアップサンプリングとは決定的にリクツが異なるためです。
 PCMのアップサンプリングで消すノイズはデータ化されたものではなくサンプリング定理に基づいたDA変換時に発生する「イメージ」ですが、DSDのSノイズはデータとして「実体」ですから消えないということですね。

#イメージングノイズは離散しているサンプル間を「零次ホールド(次のサンプルまで前のサンプル値を出力)」で繋ぐときに発生するものなので、データ化されてると言うこともできるかも知れませんが…

 ということで、もし、ノイズシェイピングによって高域に圧縮されたノイズを嫌うのであれば、DSD64はネイティブで聴くべきではないということになります。

・具体的処理方法
 具体的にはどうすればよいでしょう?
 せっかく入ってる22.05kHz超の高域を活かすためにはせめて88.1kHz以上に変換したいところです(*)。fb2kならプラグインなどでカットオフ30kHz程度のLPFかければよいでしょう。

*:DACユニットのアナログLPFのカットオフは80kHz~100kHzくらいのようです。ですので、88.2kHzへ変換すればSノイズはナイキストの44.1kHzまでしか無くなりますが、176.4kHzだとSノイズは88.2kHzまで再現されることになり、DSD64ネイティブの時とあまり変わらなくなります。

 LPFプラグインを探さなきゃ~と思ったところで、膝を打つことが。

 ≪foobar2000≫のDSD→PCM変換には30kHzでLPFかけるモードがすでに用意されているではありませんか。

fb2k sacd設定084
 foo_input_sacd-0.8.4


 なんでDSD→PCM変換にLPFかけるモードがあるんだろうと不思議だったのですが、ああ、そういう意図だったんだと初めて納得。≪foobar2000≫ってやっぱり凄いなと思いました。
 ありがたくこの機能を使わせていただくことにします。感謝と敬意を込めて。


 上記のヴァイオリン曲で実際やってみるとこうなります。赤い方が通常再生です。

市販DSD64:ネイティブと30kHzLPF
(アナログキャプチャ) UD-503再生

 ちょうど倍音とSノイズのレベルがクロスするあたりからカットされているように見えます。
 倍音の出方はもちろん楽曲によって千差万別でしょうけれど、いい塩梅なLPF処理ではないかと。

 実際の音はどんなカンジになるかというと、「30kHzのLPFかけて88.2kHzに変換し、通常のPCMと同じくPCM→DSD256変換再生」した方が、“DSDデータネイティブ”再生するよりクリアに聴こえます。特にピアノがクッキリするように感じます。
 が、もちろん主観ですので一般論にはなり得ません。楽曲や環境によっても変わるでしょう。そもそも、変化したとしても原因はSノイズ除去したためなのか処理プロセスを変えたためなのかも定かではありませんしね(笑)。ただ、≪foobar2000≫に機能実装されているということは、それほどヘンなハナシでもないと思います。
 どうせ解らないので「リクツを思いついたのでやってみて楽しむ」のひとつということで。

 なお、このプロセスとしてなら、176.4kHzへの変換でもいいかも知れません。変換ターゲットのサンプルレートに依らずどうせ30kHzでLPFかかるので。
 が、ハイレゾ領域の倍音を救うには88.2kHzで充分だと思いますので、それ以降のアップサンプリングはDSD変換前処理としてのリサンプラに任せた方がいいという考え方もアリかも。

・DSDって高音質フォーマットじゃないの?
 念のためですが、「DSDはダメ」と言ってるのではありません。「DSD64だとこういうことになってる」というオハナシです。

 DSD128やDSD256だとSノイズがどうなっているかは、上述の通りUDA-1で確認した再生スペクトルを見れば判ります。
 DSD128だとそれなりに緩和されてはいるもののまだ96kHz以下には結構残っています。DSD256だとほぼクリアだと言えるでしょう。
 今のところ素人が96kHz以上を確認する術はありませんが、上述の通りおそらく最終アナログLPFでカットされる領域だと思いますので無視しています。

 「PCM変換するなんて本末転倒だからイヤだけど、大量のSノイズを聞くのもイヤ。でもDSDコンテンツ聴きたい」
 という場合は、周波数を上げるしかありません。つまりDSD128(5.6MHz)またはDSD256(11.2MHz)のコンテンツを聴くしかないということです。
 もちろんDSD64からの変換ではダメです。PCMからの変換でもありがたみは少ないです(ユーザ側でできちゃいますし)。
 ですので、現時点では現実的ではありません。

 DSDコンテンツ、結構メンドクサイすね(苦笑)。

 Sノイズがどこまで許容範囲かは主観に依ります。「Sノイズはあってもよいのだ、DSDは64でも他の何かがいいのだ」という考え方もアリでしょう。
 ERI的にはDSD256推しです(そのためにPC新調&DACユニット買い換えたくらいですから(苦笑))。
 ただし、上記の通りDSD256のコンテンツを楽しむ機会は“まれ”でしょうから、現実的には「コンテンツフォーマットとしてではなくDACチップでDA変換するデータフォーマットとして」の話となります。


 以上、「DSD64コンテンツはDSDネイティブ再生しない方がよいのではないか」という“非常識(笑)な”オハナシでした。


■知らずに「ハイレゾノイズ」を聞いていないか

 そんなことを考えていたら、「20kHz以上の領域のノイズっていろいろ発生しているんじゃないか?」って気になり始めました。
 それも意図せずに発生させて、「いい音だ~」って聴いていることはないでしょうか?
 結構ありそうな…

 以下、再生・キャプチャ環境は最近の記事と同じです。ただ、DACユニットはUD-503にて(せっかく入手したので、“ネイティブNOS-DAC”として活用)。

・PCM→DSD64変換
 当然のことですが、PCMをDSDに変換するとSノイズを内包したデータになります。
 DSD256くらいになるとSノイズの帯域は100kHz以上になるようですので事実上問題になりませんが、DSD64への変換だと、それなりのノイズを“敢えて付加している”ことになります。当然DSD化するメリットもあるワケですが。
 もちろん、リアルタイム変換でもノンリアルタイム変換でも基本的事情は同じです。
 ≪AudioGate 2.3.2≫で1644をDSD64に変換したファイルの再生スペクトルを一例として示します。

AS:DSD64(AG変換)
(アナログキャプチャ)

 念のためですが、1644をサンプリング定理に則って再生した場合は22.05kHz以上に大きなノイズはありません。

・NOS-DAC
 意図したNOS状態以外にも、UD-501やUD-503などのようにオーバーサンプリングデジタルフィルタがデフォルトでOFFになっている場合や、「余計なデジタル処理(*)は要らない!」って意図的にOFFしてる場合も、イメージングノイズまみれになります。

AS:NOS-DAC
(アナログキャプチャ)

 ナイキストまでの周波数特性がぱたぱたと折り返してることが判ると思います。1644音源です。

*:サンプリング定理上余計じゃないんですけどね(苦笑)。

・≪foobar2000≫のDSD変換
 fb2kのDSD変換ブロック(ASIOProxy)にはLPF機能がありません。ので、アップサンプリングせずにPCM→DSD変換すると、たとえDSD256でも元ナイキスト以上の帯域はイメージングノイズまみれになります。
 “なんちゃってNOS-DAC”状態になっちゃうと言うことです。

・とあるプレーヤソフト
 これはノイズという意味ではありませんが、1644音源をx4設定で再生したスペクトルです。

AS:フリープレーヤx4
(アナログキャプチャ)

 元ナイキスト以上の高域成分がたくさんありますので、いわゆる「アップサンプリング」ではありません。
 何らかのアルゴリズムで「補間生成」したものでしょうから、高域成分の有意性はその性能次第ということです。


 「高域ノイズがあった方がエネルギー感があってよい」「空気感が好き」「スペクトルを聴くワケじゃない」といった嗜好・考え方も、もちろんアリでしょう。
 ただ、「高域ノイズがある状態」という事実は知っておいた方がよいと思います(もちろん、それが“空気感”の理由かどうかは解りませんけれど)。


 個人的には(現時点では)、「たとえデジタルフィルタを使ってでもイメージングノイズやSノイズなどは除去した方がよい」と思っています。


メインメニューへ

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

UD-503を測る

15/09/06初稿

 新たに「フルエンシー理論によるアップコンバート機能」のスペクトルを採取したのをきっかけに、「UD-503を試す」記事からデジタル処理関連の情報を分離しました。もともとひとつの記事だとちょっと冗長度高いかなと思ってましたので。


 こちらもとりあえず「である」調にて。「試す」記事を前提に記させていただきます。


■非公開のデジタル処理せず素直に再生しているか

 UDA-1での確認と同じ内容を、“アナログキャプチャ”して確認した。アップコンバートOFF、デジタルフィルタOFF、DSDフィルタ150kHzにて。
 再生&キャプチャ環境は≪foobar2000≫のLPF性能を確認した時と同じ。ただし録音レベルは46、UD-503のRCA出力は「VARIABLE」にして0dBを調整。

 結果、DSDモードもPCMモードも問題なし。≪foobar2000≫のDSD変換でシェイピングされた高域ノイズの“形”もUDA-1と同じと判断(つまりfb2k出力のまま何もしてない)。
 DSDモードは「Volume Bypass」動作している証左にもなると判断。


■「アップコンバート」とは何か

・高域補間かアップサンプリングか
 とりあえずアナログ出力をキャプチャしてみたところ、確かに「アップサンプリング」ではなく「高域補間」している。LPFかかっておらず、例えば2Fsにすると44.1kHzあたりまで高域信号がある。なんてこったい。

 Esoteric製DACユニットD-07Xに搭載されている「RDOT」なる機能(*)がやはり「フルエンシー理論に基づく高域類推補完」とのことで、この展開と推定。

*:http://www.esoteric.jp/products/esoteric/d07x/index.html

 UD-501にも載ってたと思うが売り文句が異なる。そもそもほとんどウリにしてないのは何故?

・効果確認
 ということで、本当に有効な補間できているのか試してみた。
 有効かどうかは「倍音が増えているか」が判りやすい(ていうかそれくらいしか見る術がない)。なので、倍音が豊富な音の代表、ヴァイオリン曲(CD音源)のスペクトルを採取。

UpConvert 8Fs
(アナログキャプチャ)

 …ナイキスト以上に倍音が山ほどある(ように見える)。一方で、“折り返している”ように見えなくもない(苦笑)。
 本当にヴァイオリンの倍音になっているか確認する方法は思いつかないが、≪WaveSpectra≫のカーソル表示からの簡易計算では、22.05kHz以下の倍音周期と22.05kHz以上の(補間生成された)倍音成分周期は一致していた。が、リアル倍音と生成倍音の周波数の差分は周期の倍数になっていない。はて。誤差累積によるものかも知れない。
 そもそも、同じ基音に対する倍音なのかも判らないのでなんとも言えない。

 ということで本当に正しく倍音なのかは流石に解らないが、ちょっと驚いた。

 それではと、自然音源ではなく≪WaveGene≫で人工生成した1200Hz-6dBのノコギリ波で試してみた。まずは2448データをUPCONVERT OFFで再生(PCMデジタルフィルタはFIR SHARP)。

ノコギリ1200Hz-6dB2448 NOP
(アナログキャプチャ)

 これを8Fsしたのが以下。

ノコギリ1200Hz-6dB2448 8Fs
(アナログキャプチャ)

 また驚いた。
 この結果からは、本当に失われた倍音成分を生成補間しているように見える。

 といっても、この程度の調査では正確なことは解らない。仮にある程度効果があるとしても、いろいろな楽曲に対する実効的効果のほどは解らない。
 が、少なくとも“名前だけ”“スペックのためだけ”などとは言えなそう。4Fsや8FsにしてOSDFをOFFする(つまりOSDFの代わりにする)使い方もアリかも。
 失礼ながら、ちょっと意外(苦笑)。

・Impulse応答
 どんな処理してるのかの参考に、インパルス応答がどうなるのか採ってみた。1644データに対するFIR SHARP(上)と8Fs(下)。

Impulse FIR 8Fs
(アナログキャプチャ)

 アナログキャプチャなのでAD変換時のフィルタ変形も含まれているが、アップコンバートではインパルス応答しないと見てよいであろう。明らかに普通のLPFなどとは異なる処理している。
 なお、8FsにするとデジタルフィルタONでもインパルス応答しない(OFFでもONでも変化しない)。取説にもそうあるが、確かに352.8/384kHz時はOSDFかからないということ。
 また、デジタルフィルタをOFF→ONすると、アップコンバート結果のナイキスト周波数以上がカットオフされることも確認した。


■「デジタルフィルタ」とは何か

・「PCMデジタルフィルタ」とは?
 「アップコンバート」が高域補間機能だということは「デジタルフィルタ」機能には普通無関係。ということはそれをやっているFPGAの機能とも考えにくい。よって、AK4490搭載のOSDFを設定していると推定。

 AK4490のOSDFは以下の4種(Short Delayがデフォルトとは意外)。
    ・Sharp roll-off filter
    ・Slow roll-off filter
    ・Short delay Sharp roll-off filter(default)
    ・Short delay Slow roll-off filter

 UD-503の4種は
    ・FIR SHARP
    ・FIR SLOW
    ・SDLY SHARP
    ・SDLY SLOW

 なので、AK4490のOSDF名の略称と推定(*)。

*:15/10/10:「試す」記事に示したphileweb15/10/09付けリンク先記述もそのように読める。

 以下に、≪JRMC20≫や≪AudioGate≫のアップサンプリング特性=LPF特性を採取した時の考え方で得たLPF特性を示す。
 24bit/44.1kHz -3dBのホワイトノイズファイルをPC側では何も加工しないでPCM再生。


・FIR SHARP (アナログキャプチャ)

WN2444-3dB:FIRSHARP


・FIR SLOW (アナログキャプチャ)

WN2444-3dB:FIRSLOW


・SDLY SHARP (アナログキャプチャ)

WN2444-3dB:SDLYSHARP


・SDLY SLOW (アナログキャプチャ)

WN2444-3dB:SDLYSLOW


・フィルタOFF (アナログキャプチャ)
 なめらかに繋がっているが22.05kHz以上はイメージングノイズ。22.05kHzを中心に“左右対称”になっている。

WN2444-3dB:OFF


 データシートによると44.1kHzのSHARPフィルタ特性はPassBand=20.0kHz、StopBand=24.1kHz。SLOWはそれぞれ4.4kHz,39.1kHz。実際そのようになっていると判断(とするならこの機能はやはりDACフィルタのことという証左にもなる)。
 SLOWだとイメージングノイズはかなりの高域まで残留していると言える。

 旭化成のDACフィルタ解説(*)を見ると、SDLYとはSoX Resamplerなどにおける位相応答設定でエコー成分をポスト側に集中させたのと同じと推定。プリエコーがないのはメリットかも知れないがデメリットもあるということ(位相応答がノンリニアになる。波形変形も発生する)。Resampler-Vだとプリの分がポストに回っているのが判りやすい。
 つまりPC側でいかようにもフィルタできるということでもある。その場合はDACチップ側のフィルタはOFFしたい。その設定が解放されている点は高く評価したい。

*:http://www.phileweb.com/review/closeup/akemd-ak4399/

・工場出荷状態では「サンプリング定理」不成立?
 UD-501などと同じくやっぱりフィルタOFFがデフォルト。アップコンバート機能もデフォルトOFFなので、工場出荷状態で使うとOSDF(リコンストラクションフィルタ)がどこでもかからず、と言って補間された成分もなく、ナイキスト以上はイメージングノイズそのまま状態だけどいいのか?

・旭化成DACのOSDFコンセプト
 UD-503マニュアルには、352.8kHzと384kHzの場合はデジタルフィルタOFFになるとある。
 AK4490データシートには192kHzまでしかフィルタ特性データがない。
 つまり、AK4490のOSDF倍率は入力周波数によって可変で「fsの8倍(352.8 or 384kHz)が最大」ということか(*)。「どんな入力でも8倍」のTI社とは異なったコンセプトの模様。とすると、ΔΣブロックでのオーバーサンプリング倍率が高くなってしまう(最終256倍にしているようなので、8倍PCMをさらに32倍しているハズ)が、そのあたりは不利にならないのか?
 「PCで悉くやっちゃう作戦」の場合は関係ないけど。

*:上記アップコンバート検証中、8fsソースにはインパルス応答しないことを確認しているので、AK4490搭載機なら明示的にデジタルフィルタをOFFする機能がなくても「352.8kHzまたは384kHzで(CDフォーマットなら8倍して)入れてやればデジタルフィルタブロックをバイバスできる」ということではないか。
 AK4490、OSDF&ΔΣ型DACの構造として王道すぎ(笑)。

・「DSDデジタルフィルタ」とは?
 これもAK4490の機能設定と考えられる。アップコンバート機能に無関係だし、50kHzと150kHz(OFFはなし)というモードもAK4490のスペックだし。
 以下、50kHzと150kHzの差を示す。シェイピングされたノイズに対するフィルタ特性を見るのが目的なので、2444-6dBの441kHzサイン波を≪foobar2000≫でPCM→DSD64変換し、UDA-1動作確認と同じ環境にてアナログキャプチャ。赤が50kHz。

sin441-6dB2444→DSD64:UD-503フィルタ2種
(アナログキャプチャ)

 予想を覆す微妙な差。DSD128でも同様(DSD256では差が判らない)。もしかしたら100kHz以上の領域での減衰に大きな差があるのかも知れないが…
 DSDストリームをアナログ化する部分なので、単純なLPFカットオフ特性の違いではないということか?

 ちなみに、「DSD“デジタル”フィルタ」というのはちょっと語弊がある気が。おそらくSCF特性を変更しているハズなので(SCFは駆動クロック周波数で特性変えられるらしいが、それをデジタルと言うのはどうか)。


■あこがれの(笑)NOS-DAC

 「デジタルフィルタやアップサンプリング」について考えた時いじってみたかった「NOS-DAC」を入手したことに。アナログポストフィルタがかかることはさておき、DACチップ動作としてはなんちゃってではない“リアルNOS-DAC(笑)”。NOS=Non-OverSamplingであることがキモで、その後がマルチビットかΔΣかは関係ないハズとして。

 早速NOS-DAC状態にするとアナログ出力が「カクカク」になる様子を見てみた。
 PC側では1200Hzサイン波1648ファイルを「何もしない」でPCM再生。カクカクを見るので念のため16bitで。


・フィルタOFF=NOS-DAC状態 (アナログキャプチャ)

sin1200Hz0dB1648:UD-503フィルタOFF


・FIR SHARP (アナログキャプチャ)

sin1200Hz0dB1648:UD-503フィルタON


 確かにPC側でもDAC側でもフィルタリングしないと「カクカク」している(サンプリング定理に準じていないのでアタリマエ)。
 ただし、完全な「垂直と水平」ではなくやや角が取れてオーバーシュートが立っている。おそらく100kHzくらいで遮断しているアナログポストフィルタによるもの(垂直部分は100kHzのサインカーブになってしまうハズ)だと推定されるが、キャプチャ時AD変換の変形も入っている。

 15/12/06追記:“ちゃんとリコンストラクション”しないとヘンテコな矩形波みたいになっちゃうナイキストの2/3の周波数のサイン波などもそのまま再生されていることになる。

 やっぱり、個人的にはNOSした音がいいとは思えない。


メインメニューへ

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

UD-503を試す

15/08/24初稿

 TEACのUSB-DACヘッドホンアンプ、UD-503(黒)買っちゃいました。おおお、思い切りました~



 設置して2週間ほどですが、いじくって判ったことを速報したいと思います。
 DSDのネイティブ再生方法など、UDA-1で考察したこととの重複記載は避けましたので、ご興味ありましたらUDA-1記事をご参照ください。

 「アップサンプリング」「オーバーサンプリング」「アップコンバート」は別の意味として使い分けています。
 また、Over Sampling Digital Filter(オーバーサンプリングデジタルフィルタ)は「OSDF」と略しています。


 まずは「である」調でいかせていただきます。


■購入動機

 以下、≪foobar2000≫でPCM→DSD256変換しUDA-1のアナログ出力をDSP-Z7で駆動してHD700で聴く環境で、だんだんムズムズしてきたこと。

「PC側でデジタル処理の悉くをやっちゃってDSD256にして送り込み、DACユニットをアナログLPFとしてのみ使う」には、DSD256(11.2MHz)に正式対応したDACユニット欲しい。
 ネイティブ必須であることは言うまでもないし、「DSD256を受けるけど内部プロセッサでDSD128にダウンコンバートしてからDACチップに渡す」なども論外。

・“しょわしょわノイズ”はUDA-1以外でも発生するのか知りたい。

・そもそも、最近ヘッドホンでしか聴いてないのにヘッドホンアンプ持ってない。

・ヘッドホンアンプ代わりにしているDSP-Z7を毎回「PreAmpMode」に切り替えるのは実はメンドクサイ。

・SENNHEISER製HD700を鳴らしているが、明らかに低音出てない。

・バランス駆動してみたい。スピーカのBTL接続は凄い違いがあった(良くなったという意味ではない)けどヘッドホンではどうか。スピーカは設定したり戻したりに壮絶な手間かかるけどヘッドホンなら手軽なので。


 …要求を満たすUSB-DAC兼ヘッドホンアンプある?

・資料がほとんど公開されてないので確信はないが、ESS社のDACチップは、I/FはDSDネイティブでも内部処理はネイティブじゃない気がする(*)。
 ESS社DACチップの特徴は「DACチップ内で他社とは異なる方式かつ高度なデジタル処理している」ことだと理解しており、ブロック図をみる限り「外部からのDSDストリームをそのままアナログ化」するパスはなさそう。が、バイパス線を書き忘れてるなど間違いもあるかも知れないのでブロック図だけではなんとも。そういうこと実際あるし(AK4490データシート改訂履歴参照)。が、そもそも「DSDストリームをアナログ化するフィルタ」に相当するブロックが見当たらないような。
 なのでoppo製HA-1はパス。方式善し悪しの問題ではなく、「PCで悉く」動作のためにはアナログLPFとしてのみ使えるモードが必須だから。ちなみに同じくESSのU-05はDSD256“正式”対応じゃないし。

*:ES6016だけど。http://www.esstech.com/PDF/ES9016%20Product%20Brief.pdf#search='ES9016'
 ちなみに当Blogでは、「受信したDSDストリーム(1bit)をそのままLPF処理」するアナログ化方式を“DSDネイティブ再生”と位置づけ。

・TI社の主力はDSDネイティブだが、DSD256正式対応チップなし。

・旭化成のAK4490はDSD256正式対応。
 だがDSDデータ再生モードには2種ある。データシートのブロック図を見ると「Normal Pass」だとPCM変換されていると見えるので、DACユニットとしては「Volume Bypass」モードで使っていることが条件となる。
 UD-503はAK4490の「DSD Filter」を使っていると推定されるが、それを設定できるのは「Volume Bypass」モード時だとデータシートにある。よって、UD-503はAK4490を「Volume Bypass」モードで実装していると判断。


 …UD-503欲しくなってきた。でも、高いので最後の合理化適応規制発動(笑)。

・バランスだけじゃなくて「アクティブ・グラウンド駆動」ってのも試せるし。

・OSDFオフモードがあるのでNOS-DAC実験にも使えるし。「PCのアップサンプリング VS DACフィルタ」対決もできる。

・DoPが使えるのでいろいろ試せるし。AndroidでDSD鳴らせるカモ?

・「アップコンバータ」搭載なのでいろいろ試せるし。

・もしDAC部が気に入らなければヘッドホンアンプとして使えるし。ヘッドホンアンプ部が気に入らなければDACユニットとして使えるし。
 どっちも気に入らなかった場合は考えない(笑)。


■外観・UI・ドライバ

 本項以下、ホストPCはX79自作機にて。
 pdf公開されている取説で判ることは割愛。

・箱および底面の定格銘板に「MADE IN CHINA」とあり。添付の取説は中華品質(紙質よくないし最初からヨレてるし)。梱包箱も段ボール地に色は青のみ。実質には関係ないとはいえ\15万もするAudio機器を買ったワクワク感はなし。保証書も取説の最終ページ兼用だし。
 ハンダ付け品質とか大丈夫? と信じたい(苦笑)。

・6面金属。フロント・両サイド・トップはアルミのはず(磁石くっつかない)。リア・ボトムは鉄板かな(磁石くっつく)。ただし天板はあんまり肉厚ではない。

・インシュレータは“一体型ピンポイント支持方式”。あらかじめ意識していないと箱から出すときガチャガチャいってドッキリする。平面に置けばしっくりくるので問題なし。

・インシュレータの裏側はスベスベなのでヘッドホンプラグの抜き差しの際はどこか押さえないと動いてしまう。両サイドに“取っ手”が付いてるのはこのためか(笑)。クッションシート付属してるけど「インシュレータ」に何か貼るのは気が進まない。

・ボリュームは高級感はないが低級感もないと思う。気になるような遊びはないし。あんまり使わない気もするし(リモコン操作が主になるハズ)。

・リモコンの表面パネルは金属(アルミ?)だと思う。ひんやりしてるので。妙に重くて高級感あり(笑)。パネルの組み立て用ツメ? 部分のへこみはやや気になるが。

・なんとスタンバイに入ると本体スイッチ操作では復帰しない。PC側で再生しても復帰しない。ていうかデバイスがない状態になる。電源入れ直せば復帰。ただしON→OFF→ONが早すぎると復帰しない(コンデンサがディスチャージしきらないためと推定)。
 リモコンの「STANDBY/ON」ボタン押せばもちろん復帰する。

・書くまでもないが、各種設定は電源OFFしても覚えている。

・DIMMER-0で消しても、USB READY状態(再生待ち)の時は常時点灯。再生開始するとすぐ消えるので受信周波数などは確認困難。MENUボタン押したりボリューム回すと点く(数秒で消える)。
 リモコン操作では、ENTERとかUP/DOWNキー押せば動作モードが数秒表示される。
 本体操作では、INPUT SELECTORノブは押すとENTER。MENUボタンは1度押しでMENU、MENU状態で押すと動作モード表示なので、DIMMER-0でもNEMUボタン2度押しで動作モード表示できる。
 ちなみにMENU表示時はDIMMER-0でも10秒間消えない。DIMMER-0(常時消灯)の目的は再生中のノイズ防止であるから、再生待ちの時は消えない点も含め妥当なUI設計だと思う。

・なんと電源インジケータがない。
 のでDIMMER-0にすると電源入ってるかどうかぱっと見判らない。が、上述の通り待機状態なら表示は出るし再生中なら動作しているのはアタリマエ。そもそもメカスイッチなので本体の状態はそれを見れば判る。スタンバイ状態か否か若干が判りにくいが、再生していないのに表示が消えていればスタンバイ状態ということ。
 確かに要らないか…

・本体からはトランスうなりなどのノイズは皆無。ヘッドホン出力はボリューム+10dB以上くらいから「う~ん」ノイズが聞こえるようになるが、常用域では全く問題ないと判断。STEREO&ACTIVE GNDモード、再生MUTE状態、HD700にて。

・連続駆動しても気になるほど熱くはならない。真夏一晩連続9時間(音量も大きめで)HD700をバランス駆動しても「そりゃ熱くもなるわな」程度。

・webサイトによるとクロックは44.1kHz系と48系のデュアルで、「低位相雑音タイプ」とのこと。これこれ。これでなくちゃ。

・インレットにアースピンあり。ただし浮き。付属ACコードは2pin(しっぽなし)。少なくとも国内仕様機においては、ピンはあるけど、それにいわゆる「アース」機能はないということ。

・webサイトによるとアナログとデジタルで電源とGNDはアイソレーションしているとのこと。

デジタル部とアナログ部のグラウンドを完全分離したアイソレーション回路
デジタル部とアナログ部の間は、デジタルアイソレーターによって電源およびグラウンド双方が完全に絶縁された回路設計になっており、USB経由でパソコンから流入するノイズをはじめ、全てのデジタル入力ソースに由来するノイズが電源ラインやグラウンドを伝ってアナログ部に侵入することを防ぎます。特にハイサンプリングレートのハイレゾ音源を再生する際に大きな優位性を持つアイソレーション回路をReferenceシリーズではUD-503が初めて採用しました。

出典:https://teac.jp/jp/product/ud-503/feature

 実際に測ってみると、外部クロック,同軸S/PDIF,アナログRCA(IN/OUT)らのGND,およびヘッドホンSleeve,筐体FGすべてショート。USBシールドもショートしている。USB VbusGNDだけは電源OFFだとショートだが電源ONするとそれらと2.5ohmくらいの抵抗を持つ。同軸GNDはデジタルだが電源ON/OFFで変化しない。どういう完全分離アイソレーション?
 ちなみにXLRは完全独立。

・USB5Vをカットするとデバマネから消える。
 つまり少なくともDetectには使ってる模様。残念。

・USB入力以外の場合はデバマネから消える。
 不要な時はUSB-I/F回路をDisableしているということか。音質への配慮だとすると好印象。

・専用ドライバをインストールしてから接続せよと。このへんはUDA-1と逆。
 入れないで接続すると、「TEAC USB AUDIO DEVICE」をWindows Updateに探しに行って見つからず、結果「不明なデバイス」になる(Windows7にて)。

・32bitOS(Windws8.1Update)には64bitドライバはインストールできない。当たり前だけど。逆は出来ちゃうので注意。

・DSD転送方式はASIOネイティブとDoPあり。fb2kのASIOモードでどちらでも鳴った。ただしDoPではDSD128まで。PCMのMaxビットレートは256fs(周波数でx8&ビット深度でx32)なので、DoPのオーバーヘッドを考慮するとDSD256は256fsでは足りず通らないということか。マニュアルには「≪TEAC HR Audio Player≫では11.2MHz(DSD256)はASIO Nativeを選択しろ」とある。
 DoP、実験してると「ぶち!」とか大きな音が出ることがあるのでやっぱ怖いかも。

・ちなみに≪TEAC HR Audio Player≫の出自はUDA-1記事参照。

・当然ながら、認識させればWASAPIなどASIO以外のAPIでも鳴らせる。≪foobar2000 1.3.8≫のKS(1.2.2)でも鳴ることを確認。

・AISO、排他WASAPIでもOSボリュームのミュートだけは効く。ボリュームは効かない。≪foobar2000≫で鳴らした状態で確認。

・≪PlayPcmWin x64 4.0.81.0≫のDoPでも鳴った(DSD64ファイルで確認)。

・DSDネイティブ再生など、UDA-1と同じ設定で問題なし。鳴らすデバイスを変更するだけ。違いはDoPが通るようになるくらい。あと352.8/384kHzが通ることか。

・DSD512は通らない(笑)。

・なんと48kHz系のDSD通らない(苦笑)。DoPでもダメ。確かに対応周波数は2.8,5.6,11.2MHzになっていて48kHz系はないけど…
 内部アップコンバート機能では48kHz系は12.2MHzになってるので油断した。2496などの48kHz系PCMデータをDSD変換する時はどっかで44.1kHz系にリサンプルする必要あるということ。
 AK4490のデータシート上も対応がないことから、内部アップコンバート機能の48kHz系は内部機能での実力値対応としてしか使わせないということか。しかし敢えて出来なくしなくてもいいぢゃんと思う(自己責任で使わせて欲しい)ので、ドライバかファームのUpdateで改善して欲しいところ。

・そういう意味では、PCMモードもAK4490自体は768kHzまで対応してるので通るようにして欲しかったところ。ネイティブ音源なくてもアップサンプリングすれば作れるのだから、いろいろ遊ぶために。
 I/Fできないんだっけ?

・ワットチェッカで消費電力測定。デジタルフィルタOFF、ラインアウトOFF、ボリューム-∞にて(上げてもほぼ変わらない)。
   STANDBY時・・・11~12W #ディスプレイ点滅しているため変動している
   DSD64,128,256再生・・・11W安定
   44.1kHzネイティブ,2Fs,4Fs,8Fs,DSD・・・11W安定
   88.2kHz,176.4kHzネイティブ・・・11W

 FIR SHARPフィルタONしてみても変化なし(ネイティブ時)。
 何しても変わらない(笑)。ただし、有機ELディスプレイが点灯している時は+1Wになった。やっぱり再生時消灯が吉か。

・15/09/20追記:Windows8.1Update x64からWindows10Home x64に上書きアップグレードしたら不明なデバイスになった。その状態のままドライバを上書きインストールしてもダメ。一旦アンインストールして再インストールしたら認識した。

・15/11/21追記:ONKYO製Androidアプリ≪HF Player 1.2.2 (無料版)≫で44.1kHzのmp3再生できた。Ascend G6にて。結構いい音してる。CDリッピングWAVの再生ももちろんできた。
 有料版、アップサンプリングはさておきリアルタイムPCM→DSD変換再生やってみたいところなれど、2GHz/4コア以上必要とのことでG6では無理。


■“しょわしょわノイズ”はあるか

 ≪foobar2000≫でのPCM→DSD変換再生時、UDA-1ではどうしても消えなかった“しょわしょわノイズ”がない。
 ≪foobar2000≫の設定は全く同じであり、再生デバイスによって処理内容が変わるハズはないので、DSDデータ自体は同じものが送り込まれている。それをDACユニット側でデジタル処理せずDSDストリームをアナログ化するフィルタ部に突っ込んでるのだから、当該部の違いである可能性が高いということに。
 だからしょわしょわが目立っちゃうDSD256はUDA-1の仕様外だった?(笑)。確かにスペクトルもDSD256はDSD64やDSD128に比してノイジーではあったが… 実際、当機のDSD256スペクトルはUDA-1よりキレイ(DSD64やDSD128と差がない)。流石正式対応(笑)。
 なお、PCMモードでは発生しないし、≪JRMC20≫のDSD変換でも発生するし、音声に連動するし、発生状況は安定している(同じ発生箇所は繰り返し再生しても同じ)ので、単純なアナログノイズではないと判断している。念のため電源レギュレータをハズしたUDA-1でも再確認したがやはりしょわしょわ。FP64でも消えなかった。
 これと思われるノイズの体験談はネット上に数件あるようだが、その再生機のDACチップはどれもTI製の模様。

 なお、フィルタ特性など各種デジタル処理の実際についてはこちらの記事にまとめた。


 このあとは「ですます」調にて。


■バランス駆動するぞ

 始めに。6.3mm標準ジャック・プラグの極の名前ですが、ステレオプラグの頭から「Tip,Ring,Sleeve」というそうです(ちなみにSleeveとは「ノースリーブ」のスリーブ(袖))。

 UD-503のヘッドホンジャックは標準ステレオプラグ用なワケですが、これでアンバランス(=シングルエンド)駆動とバランス駆動とアクティブGND駆動に対応しています。モードによって出力アサインが変わるワケです。
 どんな出力になるのかはマニュアルにあるのですが、バランス&アクティブGND時「Sleeve(NC)」とある通り、“ヘッドホン側の条件”を記しています。webサイトの“本体スペック”説明(*)ではSleeve極はシールドという名称でGNDとあります。

*:http://teac.jp/product/ud-503/specifications/

 向かって左(バランス・アクティブGND時のLch)のアサインを記します。

     極  通常  バランス アクティブGND
  ○  T   L    L+     L+
  □  R   R    L-    ActGND
  □  S   GND   GND     GND

 ですので、通常ケーブルのままバランス駆動にすると左からLch、右からはLchの逆相が再生されます。アクティブGND駆動にすると左はLchですが右は無音になります。まあ、つまり壊れはしないということですね。
 逆に、バランスケーブルでステレオ駆動するとヘッドホンの+と-がLとRになっちゃいます。再生中でも駆動モード切り替え可能です(短時間でフェードアウトしてフェードインしてくる)ので、便利な反面ちょっと気を遣った方がいいかも知れません。

 さてしかし、世の中のバランス対応ヘッドホンのジャック・プラグはどう繋がっているのでしょう? 今回対象とするゼンハイザーHD700は一般的(プラグボディ形状は特殊ですが)な2.5mmミニミニジャックなのはいいのですがプラグは「モノラル」です。このSleeveはジャック内のどのあたりでHD700のGNDに接触しているかが問題となります。



 実際ステレオミニミニケーブルを挿してTipとの抵抗を測ってみたところ、HD700のGNDはRing極部分ではなくSleeve極部分に接触していました(まあ、だよね~ってカンジです)。
 つまり、なんとか形状変換できたとしても以下のような結線になってしまうということです。

     極  通常  バランス アクティブGND HD700
  ○  T   L    L+     L+     T
  □  R   R    L-    ActGND    NC
  □  S   GND   GND     GND     S

 普通のドライブです(笑)。実際これで鳴りますので、やっぱりUD-503ジャックのSleeve極はGNDになってます。

 しかしこれはメンドクサイことに。世の中に「2.5mmモノラルのSleeve極をステレオのRing極に接続した変換アダプタ・ケーブル」が存在するとは思えません。配線入れ替え改造(またはフル自作)は必須となります。
 純正ケーブルのXLRを変換していけば繋げられますけれど、変換しまくるのってどうかと思いますし、何より高いし。

 以下に条件を記します。

・なるべく軽微&カンタンな改造で済ませたい。

・なるべく“変換”は少なくしたい。

・デスクトップオーディオではなく据え置きオーディオラックへの設置を考えているので、ヘッドホンケーブルは3mでギリギリ、できればもうちょっと欲しいところ。そういう意味では、MDR-Z7なんかを使うことになった場合(付属バランスケーブルは2m)は延長ケーブルとしても使えることが望ましい。

・HD700のジャックは「専用突起」があるのでそれを回避できるほど細いか、ぶつからないよう削れること。できれば削らないで済ませたい。

 これを満たすいろんな組み合わせと実際の商品を想定して現実解を考えたところ、

「2.5mmプラグ→3.5mmプラグケーブルと、3.5mmジャック→標準プラグケーブルの組み合わせとし、
前者の途中をカットしてSleeve→Ringへつなぎ替える」

作戦をとることにしました。

 用意したのは以下のケーブルです。

  ←1.2m    3m→  

 改造して短くなっても4mは確保できます。
 前者AD-SPS-12はあつらえたようなスリムプラグで、無加工でHD700に挿すことができました。
 後者EXC-13Aは、ほぼFUJIパーツ一択の前者と異なりJVC製でなくてもいいのですが、

・99.996%OFCである
・2線平行だが、それぞれはTとRがSでシールドされたものと推定される
・JVC製であることに加えて「MADE IN JAPAN」である

ことから決定。プラグ・ジャック部に浮かぶ「JAPAN」エンブレムがまぶしいぜ。もっと高級品もありますが一部だけ凝っても意味ないかなと。

 信号線入れ替え改造にはちょっと手こずりましたがなんとか成功。「線のつなぎ替え」ではなく、新たに単品3.5mmプラグを取り付けた方がいいかも知れません(線細いのでプラグ固定や見栄えがどうかというのはありますが)。
 素人改造なのでケーブルとしての品位に疑問は残りますけれど、本機は「デュアルモノ構成」を徹底しているのがウリですから、ヘッドホン駆動時にLとRでGNDを共用するなんてもってのほか(笑)。な気がしますので、「ケーブルの品位」よりバランス系駆動優先ということで。
 いずれ何か新たなアイディアや商品出たら考えようと思います。

 HD700の純正ケーブルは修理パーツとして取り寄せられるのでそれを改造する手もありますが、どうも\2万以上するみたいなので、私には切った貼ったは無理っす(苦笑)。


■エージング&音質評価・レビューもどき

・インピーダンス150ohmのHD700ですが、-10dB程度で充分な音量が得られてます。

・アクティブGND駆動でもバランス駆動と音量は変わらないみたい。少なくとも半分になったカンジはありません。

・なんかRCAアナログ出力レベルがUDA-1より大きいような。出力レベル0dB設定時のスペックは2.0Vrms。UDA-1はおそらく2.0Vppと思われるので確かに。

・お店で試聴しても判らないですよね。USBオーディオの場合、1台のPCからUSBハブかまして複数DACを接続してたりしますし。

・買っても、暫くは実力判らないからドキドキしますよね。ウチでは設置直後は“酷い音”でした。一晩鳴らして翌朝聴いたら一応マイルドになってました。最低1日は慣らし運転必須のようです。
 さらに、チューニングしないと実力判らないですけど慣らし中にしても意味ないし。ウチの実績では、おそらく150時間以上鳴らしてやっと「調整可」状態になったカンジです。

・5日以上昼夜を問わず鳴らしましたがPC側含めて安定して動いています。もちろん設定変えるために再生停止したり何度か再起動はしていますが「朝起きたら止まってた」なんてことはありません。PCはAudio専用ですけれど。

・ふたつのヘッドホン出力、どうやってエージングしたらいいか難しいっす。使用頻度が“アンバランス”になってるとバランス駆動時気になるので(笑)。
 となると、少なくともエージングはバランスでやらないとキモチワルイ(笑)。なので、早速ケーブル自作した次第。
 ひとつの出力にドライバは2回路あるワケですが、アンバランス駆動でもドライブ回路(webサイトにはトランジスタとある)はパラレル駆動で使っているらしいので、あまり気にすることはなのかも。ふたつのジャックの使用頻度さえ合わせておけば(笑)。

・PC電源はアイソレーショントランスTX-200から取っているのですが(ここだけアースも繋いでます)、「アースセレクタ」の設定でも結構変わるようです。ていうかTX-200入れる入れないでかなり変わりますね。
 PCのAC側がFloatingでもBananceでもNormalでもDACユニットには関係ないハズですし、スイッチング電源はアイソレートすべきと言われてると思いますが、必ずしも一般論が通用しないところがAudioの難しさですね。
 アースはPCでSGやFGとショートしており、USB経由でUD-503ともショートします。UD-503は何らかのアイソレーションしてるようですから、ウチではそのあたりの関係で大きく影響したのかも知れません。また、当機に電源レギュレータRG-50を使うとかなり変化するようです(善し悪しは別として)。後日談ですがRG-50のAC極性でもかなり変わるようです。
 いずれにしても、UD-503導入に当たっては電源・GND・アース関連をよく考慮した方がいい気がします(本体だけでなくシステムとして)。

・機能的にはほぼ満足ですが、外部クロック入力機能は要らないかな。本来S/PDIFの外部同期にこそメリットあるハズですけど何故かUSB時のみ有効。USBはアシンクロナスモードで動いてるハズなので外部同期にほとんど意味はありませんから、効用はジッタ性能向上のみです。
 そりゃ「音は変わる」でしょうけれど実効的には疑問な“ギミック”だと考えているので無い方がいいです。せっかくの低位相雑音型クロック、切り替え回路で純度が落ちちゃう。

・ヘッドホンアンプというものは初めて、ヘッドホンはHD700のみという前提で(ケーブルは上記の通り高品位とは言えない自作)。100時間以上エージングした後(だけど設置後10日くらいしか経ってない)。CDリップ音源をfb2kによるDSD256変換再生にて。
 ステレオ駆動(=シングルエンド=アンバランス)でも低音は凄く出ます。HD700なのに。
 バランス駆動だともっと元気になります。アクティブGND駆動だと整った元気さに。エネルギッシュな若人とクールな大人って感じでしょうか。アクティブGND駆動、「積極的にGNDをGNDレベルにドライブする」っていうのは理に適っている気がします。リモコンでワンタッチですので、曲や気分で使い分けるのもいいかと思います。
 低域は太鼓やベースが“でるべきところでは”ぶいぶい出ますがダブついてはいません。高域は十分な解像度がありますがキンキンしてません。少なくともCDフォーマットやDSD64クラスの情報は余すところなく再現できているのではないかと。
 音色は鳴らすヘッドホンや嗜好で評価変わってしまうと思いますが、敢えて言うならフラットかな~ 作った色気感やドンシャリ感などは感じません。「ヘッドホンをアンプリフトする」という仕事を忠実にこなしていると思いますが、そこに味付けが欲しい向きには物足りないかも。「これはアンプ。味付けはヘッドホン側で」というカンジでしょうか。
 比較するヘッドホンアンプもヘッドホンも持ってませんのでこれ以上は何とも言えませんが。

 個人的には、HD700で低音出るようになったのでよかったです。DSD256正式対応という安心感もありますし。DSD256変換で“しょわしょわノイズ”が出なくなったのも何より。UDA-1では聴くに堪えないと思っていたCDも聴けるようになりました。どういう変化に依るものかはさておき。

 が、価格を考えるとコストパフォーマンス的には… どうでしょうねぇ???


■後日談:MDR-Z7を鳴らす

 本項15/11/08追記。
 そもそもエージング進んだこともあると思いますけれど、ホストPCの内部DC電源ケーブルにフェライトコア入れたり≪foobar2000≫のDSD変換をFP64にしたことで、HD700での音はかなり整ってきました。逆に、当初ほど低音は出なくなっちゃいました(苦笑)。
 それはそれで正しい状態だと思っていますので、「色付けはヘッドホンで」という感想通りヘッドホン自体で低音出してみたくなり、SONY製MDR-Z7を追加購入しました。
 開放型のHD700を持ってますので密閉型であること、バランス駆動対応していること、何機種か試聴し素性よさげと思える音だったこと、お値段手頃なことから選択。中古ですけど(笑)。

 購入検討の店頭試聴は同時に同じ曲でHD700も含めて行いました。聴き慣れたHD700をベンチマークにすることで素性を想定。店頭だと実力というか自分のシステムでどう鳴るかはそんなカンジで想像するしかないと思いますので。

 「周りに音漏れしたくない時」だけでなく「周りがうるさい時」も密閉型があった方が便利です。
 完全密閉ではなく穴は空いてますけど、メーカのスペックでは密閉型になってますよね。
 個性が異なるヘッドホンを持つことは、“チューニングが合ってるのかどうか”の判断にも有意義ではないかと。

 上述した通り、バランス(アクティブGND)駆動のピンアサインはUD-503とイコールですので、ミニ→標準変換だけで付属のバランスケーブルそのまま使えます。なお、Sleeve部分は本体左右でショートしていません。

 音は期待通り。HD700の中高音寄りの高解像度で開放感ある音に対し、中低音寄りの、モニターライクな解像感というより聴きやすい“整理された音”を密閉型らしく密密と奏でます。決して「スピーカで聴いているよう」じゃないです。密密してますので(笑)。楽器の音が不思議なくらいハッキリ分離して聴こえます。でも、意外なことに女性ヴォーカルの色気はHD700の方があるかな?

 アンバランスよりバランスやアクティブGND駆動の方がガチャガチャしたカンジが減少するので明らかによいですが、HD700も同じ傾向に聴こえますので、「MDR-Z7はアンバランスだとダメでバランスじゃないと」とは思いませんでした。低域はかなりキッチリ出ますので、中低域に歪み感のあるシステムだとそれが際立ってしまう可能性はあるかも。また、低域の制動力が不足しているとボヤってしまうかも知れません。

 もちろん最後は好みの問題ですけど、キチンと鳴らせば正統派の音を奏でる、コストパフォーマンスいいヘッドホンではないかと。




■後日談:T1 2ndも鳴らす

 本項16/08/19追記。
 すること思いつかなくなったので(苦笑)、beyerdynamic製T1 2nd Generationを導入しました。中古ですけど。
 Z7選定試聴時にいいと思ったひとつにT1があったのですが、バランス駆動不可(ケーブル固定型)のため選択肢から外れていました(ホントは高くて手が出なかっただけですスイマセン)。2ndになってバランス駆動できるようになりましたので。

   ←TEACが扱ってるんですね。ある意味UD-503とは純正組み合わせ?

 これでフルオープン、セミオープン、密閉が揃うことになるのもいいかなと。

 付属ケーブルはアンバランスのみですのでバランスケーブルを調達しなければなりませんが、これがまた一工夫必要です。
 本体側ジャックは3.5mmミニでピンアサインもいたって普通(Z7と同じ。ちなみにSleeve部がLRでショートしてないのも同じ)なのはいいのですが、純正プラグを見るとロックするためのリング状凸部の径を含めてもメチャ細い(*)。普通に考えたら純正しか入らなそうですが、XLRバージョンしかありません(TRSタイプがあってもお高いでしょうし)。

ベイヤー T1 2nd Generation用XLR4pin交換ケーブルbeyerdynamic B CABLE T1 2G
ベイヤー T1 2nd Generation用XLR4pin交換ケーブルbeyerdynamic B CABLE T1 2G

*:https://tascam.jp/jp/product/t_1_2nd/top
  http://www.pronews.jp/news/20150824154526.html

 代用できそうなものとして「出来るだけプラブ部分が細身で音質的にも妥協できそうなケーブル」を物色した結果、JVC製CN-MM200-Bを選びました。先に延長ケーブルとしてもJVC選択してますので相性(?)もいいかなと。平行線なのも同じですし。
 1mだと中継部が座った足元まで垂れず邪魔ですので、1.5mか2mが選択肢になります。

   ←99.996%OFC。パッケージにはないけどwebには24金メッキとある(一方OFCは99.995%になってる)。形状は現物確認かwebで画像検索した方がいいです。

 そのまま入らないかと淡い期待はあったのですが、残念ながらダメでした。ちょっと力入れたら入りましたがヘッドホン側でリング状凸部を挟んでロックする山がツブれそうなので常用はしたくありません。
 そこで、純正プラグのロック部分に相当する分として「JAPAN」の“JA”くらいまでをカッターで削ることに。
 やってみたら中身に超スレンダーなプラ本体が出現したので、“一皮むけば”カンタンにそれっぽいプラグになりました。
 高級なリケーブルではありませんが、付属ケーブルでのアンバランス駆動より立体感が出て好ましい気がします。

 このケーブル、もちろんZ7にも使えます。こっちの方がキレイな音になる気がします。ケーブルのLR完全セパレーションは有効なのかも知れません。スピーカケーブルだって併走させたりしませんもんね。

 ちなみに、HD700で改造して使った富士パーツ製のミニ側は何もしなくても挿入できましたので、ミニ-ミニ版なら改造なしで使えると思います(たぶん同じ形状だと思いますが、確認はしていません)。



 Z7から入れ替えただけだと、「分離が良くて解像度も高く低域はZ7ほどではないけれどよく出るし高域はそれはもうどっさり出るけれど、出過ぎてサ行がキツかったりして聴きづらい」状態でした。600ohmですから音量はかなり上げることになりますね。
 が、ちょっと弄ってみたら≪foobar2000≫のSoX設定でかなり変わるようです。個人的メモ書きですが、「減衰特性は理屈通り」「Attenuation値が小さいと煌びやかだがシャリ感もあり、大きいとサ行が緩くなるが抑圧的」「PhaseResponseをLinearにするとクールで平坦、Minimalにするとウォーミーで明瞭」っぽく聴こえるような。
 けど、電源なども含めて本格的に「T1 2ndへオプティマイズ」した方がよさそうです。
 リサンプラの設定がこれほどハッキリ音質違いとして感じられたのは初めてです。T1 2nd、恐るべき一品かも知れません。


■備忘録

・UD-503レビュー記事
http://av.watch.impress.co.jp/docs/series/torii/1019297.html (OPPO製HA-1との比較あり)
http://www.itmedia.co.jp/lifestyle/articles/1506/10/news091.html
http://www.phileweb.com/review/article/201506/08/1670.html
http://www.phileweb.com/review/article/201508/25/1763.html
http://www.phileweb.com/interview/article/201510/09/315.html

・AK4490データシート・技術情報
http://www.akm.com/akm/jp/file/datasheet/AK4490EQ.pdf
http://www.akm.com/akm/jp/aboutus/news/20140501AK4490_001/

・15/09/08追記:MUTE不具合情報
http://teac.jp/news/display/1004/
 やったねクーポン当選(苦笑)。本稿とデジタル処理稿は「不具合修正前F/Wによる」ということで。

・17/06/17追記:CreatorsUpdate不具合情報
https://teac.jp/jp/support/news/5272
https://teac.jp/jp/product/ud-503/faq

 実際やってみた。
 Windows10Pro x64はZ170 PRO GAMINGへのクリーンインストール、「お使いのデバイスは最新の状態です」を確認(バージョン1703,ビルド15063.413)。「高速スタートアップ」無効。
 UD-503を接続したことなし、ドライバ入れたことなし。
 他のAudioデバイスは、オンボードのRealtekにM/B付属ドライバ入れたものとIN-BOXドライバで使うSoundBlaster DM-HDとK/Bのオマケ。

 念のためシステムのバックアップ。
 ドライバVer1.0.10.0をインストール。TEACページには「teac-audiohs_driver_v1010b」なるバージョンが上がっているが、手持ちだった「teac-audiohs_driver_v110j」とドライバ日付は同じ。英文ガイドを追加しただけっぽい。
 Z170内蔵USB3.0にUD-503を接続。
 既存のAudioデバイスも含めて特に問題なし。
 アップグレードではなくクリーンインストールでUD-503専用に使うなら問題ないかもしれない。
 ドライバをアンインストール。普通にできた。
 «foobar2000»、DSでは384kHz鳴らず。WASAPIなら鳴った。
 UD-503を外してドライバをインストール、UD-503を接続すると「Windowsが認識できませんでした」と出る。

 UD-503を接続したままシステムの回復を実施。当然ここで再起動。
 一度認識して「このデバイスを信頼するか」と聞いてくるが、それにかぶせて「認識できませんでした」となる。
 UD-503を外してドライバをインストール、UD-503を接続すると「認識できませんでした」となる。

 UD-503を外してシステムの回復を実施。当然ここで再起動。
 ドライバをインストール、UD-503を接続すると「Windowsが認識できませんでした」と出た。最初はこの順番で認識できている。システムの回復では回復できないところに何か残骸がある?
 UD-503を外し、シャットダウンし、起動し、改めて接続したら認識した。
 認識できない時はシャットダウンして暫く通電切ると様子が変わることがある?

 Class2対応についてはよく解らなかった。


メインメニューへ

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

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ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。