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

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チップ出力に対する最終アナログポストフィルタのカットオフ周波数は可変できないハズ(その前のPCMデジタルフィルタならいくらでも可変できますがDSDにはかけられない)なので、ハイレゾ対応機においてDSD64の時だけ低い周波数でカットする、といったことはできないでしょう。
 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ノイズ除去したためなのか処理プロセスを変えたためなのかも定かではありませんしね(笑)。
 どうせ解らないので「リクツを思いついたのでやってみて楽しむ」のひとつということで。

 なお、このプロセスとしてなら、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による」ということで。


メインメニューへ

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

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アンプ


メインメニューへ

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

PCMの「TruePeak」とは何か

15/04/11初稿

 「ハイレゾとDACについて考えていたらいろいろメンドクサイことに気がついちゃったかも知れない」シリーズ(笑)。


■TruePeakとは何か

・きっかけ
 とある邦楽CD音源のUDA-1アナログ出力をPCでADして、スペクトルを動的に眺めていた時のことです。
 頻度は多くありませんが、22kHz以上の帯域がヘンな表示に崩れることがあります。

フィルタリング・クリップ
(アナログキャプチャ)

 キャプチャレベルを下げても発生します。
 プレーヤソフトは≪foobar2000≫ですが、PCMそのまんま再生でもアップサンプリング再生でもDSD変換再生でも同じです。フルスイングのサイン波では発生しないようにボリューム調整したヘッドホン出力でも発生します。
 プレーヤソフトを変えて≪JRiver MediaCenter20≫にしてみても、PCM単純再生、DSD256変換再生共に発生します。
 しかし≪foobar2000≫のボリュームをちょっと下げると発生しなくなります。

 ずっと、たまたま何かFFT処理のツボみたいな時に発生するのかと思ってたけどなんだか違うみたいです。
 ということで、これをきっかけにいろいろ調べることになりました。

 なお、この“きっかけ”には何か勘違いあるかも知れませんが、以下考察には影響ないと思います。

・データがクリップしていなくても再生するとクリップする?
 「クリップして潰れている時の現象?」と思って“海苔系音源”で見てみると確かに多発します。
 しかし、当該ソースの最大音量を≪SoundEngineFree 5.02≫で調べてみると「-0.10dB」です。
 ≪Audacity 2.0.6≫の1of1条件で調べてもクリップしていません。

 これってもしかしてどこかで見た記憶がある「TruePeak」ってヤツでは? と、Resampler-V(SoX)で2倍アップサンプリングしたファイル(Convert機能で作成)化して同じく調べてみたところ、最大音量は「0dB」になり「1of1クリップ(*)」も大量発生しました。

*:1サンプルのみフルスケール(フルビット)であることを≪Audacity≫表示にならって「1of1クリップ」と呼ぶことにします。

 以下、発生箇所の例です(ただし、“きっかけ”になったスペクトル崩れ箇所ではありません)。
 上がオリジナル、下が2倍アップサンプリングです。

TruePeak:1644と1688:音楽:トリミング2

 オリジナル(上)は全くクリップしていません。が、2倍アップサンプリング(下)して“本来あるべきアナログ波形”に近づけたら「1of1クリップ」が発生しています。
 これはPCプレーヤソフトのアップサンプリングで発生した例(*)ですが、DACチップ内でも同様の処理である「オーバーサンプリングデジタルフィルタ」が行われていることはDAC動作を考えた記事などで詳述した通りです。

*:本実験は解りやすくするために2倍で実施しています。DACチップはもっと高倍率(PCM1795の場合は8倍)。

 つまり、PC側でアップサンプリングなどせず普通に再生していても、DACユニット内のデジタル→アナログ変換において

 OSDF(*)処理=リコンストラクションフィルタ処理によってピークは上昇する

のです。

*:Over Sampling Digital Filter

 「TruePeak」「インターサンプルピーク」などと呼ぶようです。ニホンゴなら「トゥルーピーク」(笑)。
http://pro.miroc.co.jp/2012/08/03/6782/

 DSDのMaxPeak考察時に参照したJPPA資料にもあります。
http://www.jppanet.or.jp/documents/audio_doc/jppa_chair_of_loudness_vol-1_2010.pdf

 ARIBの資料。P.33あたりが詳しいです。
http://www.arib.or.jp/english/html/overview/doc/4-TR-B32v1_0.pdf

 なお、1サンプルのみがフルスケール値になったとしてもピーク潰れとは限りません(本来あるべきレベルはもっと高いのに飽和した、のではなく丁度フルスケールなのかもしれない)。上記は単純に「アップサンプリングでピーク値が上昇する」例として使っています。

TruePeakのリクツを確かめる
 念のためですが、TruePeakは「音量上げすぎでピーク潰れ」とは根本的に違う現象です。
 いわゆる音圧戦争によって発生した現象ではありません。もちろんその方が発生しやすくなるでしょうけれど、意識的に音圧を上げたりせず、良心的に音量を0dB未満に抑えた場合でも発生するものです。
 それを確かめてみましょう。

 以下は、≪WaveGene 1.50≫で生成した16kHz:2448サイン波(左)と、それを≪foobar2000≫のResampler-V(SoX)でx4:24192にした波形(右)を並べたものです(≪Wavosaur≫にて)。
 ピーク関連の実験ですので、念のため-3dBで生成しています。

TruePeak:2448とそのx4サイン波 30°:トリミング

  16kHzを48kHzサンプリングなので1周期に3サンプルしかありませんから、それがサイン波のピークを捉えるとは限らず、むしろサンプルとサンプルの間にピークがあることの方が多くなります。
 それが「インターサンプルピーク」です。サイン波なら、一番厳しいのはサンプルリングのちょうど中間がアナログ信号のピークだった時です。周波数が高くなるほど(1周期のサンプルポイントが少なくなるほど)リアルサンプルピークとの差が大きくなるのが解ると思います(自分で作図してみればすぐ解ります。上記資料に図ありますし)。

 本例では、プラス側のピークを真ん中にもってくるため30度位相をズラして生成しています。ゼロクロスからではなく30/360=1/12進んだ状態からスタートしている状態です。16kHz-3dBのサイン波を48kHzキャプチャした時、たまたま波形とキャプチャ周期のタイミングが30度(1/12周期)ズレた場合のシミュレーションになっているハズです。

 生成したサンプル(左)では、プラス側振幅最大値は全く-3dBに届いていません。先の資料の通りおそらく6dB低いでしょう。しかし、サンプリング定理に基づいてリコンストラクションされるとキレイなサイン波が再現されるのです。右側の24192は、4倍アップサンプリングすればほぼサイン波が再現できることのシミュレーションです。
 なお、この例は解りやすさを優先してプラス側だけ極端に低くなるようにしているためマイナス側のピークは変化しませんが、位相ズレが30度でない場合を想像していただければマイナス側でもTruePeakが発生することは解ると思います。

・DACチップ動作の実際
 でも、感覚的には腑に落ちないところもありますよね。元のデジタルデータよりも約6dBも大きなアナログデータに再現されるのって本当に正しいのか? と。
 そこで、実際にこの2448ファイルを再生側では無加工=“ネイティブPCM再生”してアナログキャプチャしてみました。DACチップによる処理だけが現れるハズです。
 環境は「基音と倍音」記事と同じです。

TruePeak:2448サイン波16kHz-3dB 30°の再生波形
(アナログキャプチャ)

 データとしては3サンプル/周期しかなく、しかもプラス側ピークはデータ値としては-9dB程度しかないのに、ちゃんと16kHzサイン波が再生されています。
 DACチップ内でもSoXのアップサンプリングと同様の波形再現処理が行われていると見ていいでしょう。
 サンプリング定理(リコンストラクション=再構築処理)って凄いですね。

 人間が上記16kHzのサンプルポイントだけを提示され、「サンプル点を繋ぎなさい。ただし24kHzサイン波以上の急峻な変化はさせてはなりません」と言われたら、前後複数のサンプルポイントを考慮しながらなるべく滑らかになるよう線を引きますよね。結果は16kHzのサイン波になっちゃうハズです。
 「デジタルフィルタはそれと同じことを演算でやっている」ということです。

 なお、DACチップのアップ処理は4倍以上ですから、キャプチャしたサイン波は“もっと滑らかになってもいい”ハズです。
 なりきっていないのは、AD変換の方が192kHz止まりだからだと思います。48kHzを4倍した時と同じサンプリングポイントしかないので、192kHzのデジタル波形とアナログキャプチャ波形が結果的に似ているのだろう、と。

・TruePeakは制作側でどう扱われているか
 さて、とすると

「デジタルデータの値としてピークがサチっていなくても、アナログ化したらクリップする可能性がある」

と言うことです。

 制作サイドが、44.1kHz(や48kHz)のデータとしてサチらないようにピークレベルを確認しても、再生(DA変換)におけるリコンストラクションフィルタによってサチる(ピーク潰れが発生する)ことがあるワケです。
 そして、それは決してDAC(リコンストラクション)が余計なことをしているのではなく、正しい動作なのです。

 単純にAD→DAするだけであればアナログ波形が復元されるだけで元のアナログ波形よりピークが上昇することはないでしょう。
 が、一般の音楽制作ではそうはいきません。デジタルドメインで音量調節しますしミキシングしますしシンセなどの人工音声も入ってくるでしょうから。
 少なくとも非ハイサンプリングの音楽データにおいては、「リアルデータ値で注意していてもダメ」ってことです。

 これを避ける=事前に確認・修正する方法はあります。データをアップサンプリングしてDAC内におけるリコンストラクションをシミュレートすればよいのです。
 上記資料には、「4倍すればリアルサンプルピークとインターサンプルピークの誤差を0.3dBにまで抑えられる」とあります。上で見た24192(4倍)ファイルではほぼ16kHzサイン波が再現できていますので、確かにそのようです。
 「アップサンプリングでリコンストラクションをシミュレートし、クリップしないか確認し、修正する」ということですね。

 以上のことはデジタルオーディオのリクツを熟知している専門家にとっては意外でもなんでもないことだと思います。
 また、アップサンプリングによるクリップチェックは確認だけであってデータに手を加えるワケではありませんから弊害はありません。なので実施していて当然と思いますが、実際には発生しているところを見ると、どうもそうではないようですねぇ。
 「TruePeak問題」は制作現場には浸透していないのでしょうか。それとも、あまり気にしなくて良いという判断なのでしょうか。

 まあ、そもそもインターサンプルのピークどころか「“リアルサンプルのピーク”をガンガンクリップさせまくるマスタリング」が横行しているくらいですから、見えないピークなんて、知ってても無視なのかも知れません(苦笑)。

 昔のCDは2~3dBヘッドルームマージンがあるものが多いですが、“かつては”こういうことも配慮していたのかも知れません。

 ちなみに。
 web検索していたら、「Mastered for iTunes勉強会」の報告書(*)という情報を見つけました。
 この中の【クリッピングをチェックするツール】項に、「(インターサンプルピークが)すごい数出てくる」「いくつかなら問題ない(とAppleに言われている)」「compかけてガツガツ入れてる音源では1.5dBくらい下げないと出てきちゃう」などとあります。
 おそらくアップサンプリングしてチェックかけるツールなのだと思います(圧縮エンコードするとデコード時にピークが上がることがあるらしいので、もしかするとそのシミュレーションも入っているかも知れませんが)。
 いずれにしても、その結果について意外そうに言われると、TruePeakは制作者側にあんまり意識されてないような気がします。

*:http://jarec.com/report/2492

 どうも“そういうもの”ってことみたいですねぇ。意外ですけれど。


■TruePeakをどうすればよいか

 制作側では“そういうもの”らしいとなると、じゃあ、これエンドユーザはどうすればいいのでしょう?
 「発生数が多くなければ無視してよい」ってのは作る方の事情であって、聴く方にすれば発生数の多少…無視していいなどうかなんて音源データ解析しないと判らないですもんね。

・デジタルボリュームでデータ演算して回避
 PCMそのまま再生でもPCM→DSD変換再生でも、プレーヤ側で2dBくらい絞って送出すれば発生しなくなるっぽいですので、今後はそうしようかなぁ。
 でも、

「もともとピークが-3dB以下くらいのソースならそのままでもいい」
けれど、逆に
「もともとクリップしまくりのソースだとTruePeakを救っても焼け石に水」

ですよねぇ。だからってソースの素性をいちいちチェックしてから再生ってのも… リッピング時にチェックしてフォルダにマーキングでもしとく?(苦笑)

 また、やるなら排他WASAPIやASIOなどビットパーフェクトなAPIに対応してて、かつ、ボリューム機能があるプレーヤを使う必要があります。アップサンプリングする場合はその前にボリューム絞らねばなりません。プレーヤソフトに対する条件が増えちゃう=選択肢が狭まるということですね。TruePeakを気にするのなら、ですが。
 ちなみに≪foobar2000≫のボリュームプロセスはDSPより前だと思います。

・デジタルボリューム処理は音質劣化するのか
 ところで。
 デジタル演算でボリューム調整することには、「音質劣化する」と抵抗ある人も多いと思います。
 ですが、ちゃんとしたプレーヤソフトならそれはあまり気にする必要はないと思っています。
 例えば≪foobar2000≫の内部処理は32bitFloatのよう(*)ですから、(32bitネイティブ音源以外は)“音声情報劣化”を心配する必要はないでしょう。

*:BBSに「SoX Resamplerはプラグインとして32bitFloatでfoobarコアとIN/OUTしている」という記述があることから。なお、これはコアの基本動作の話であり、プラグインなどの内部は64bitかも知れません。

 どうして気にする必要ないのか、ちょっとたとえ話で説明してみます。

 PCさんが持ってる10円をDACさんに7/8にして渡さなければならなくなったとします。PCさんとDACさんが“円単位”でしか取引できない場合は四捨五入して9円にするしかないですが、“銭の単位”で取引できるならバッチリ「8円75銭」渡せますよね。
 もちろんいくら拡張しても割り切れるケースの方が少ないですが、例えば16bitを32bit拡張して演算した結果は、元の1bitを65,536段階で表現しているワケで、さらにそこで残る誤差(余り?)はもう無視していいでしょう。

 個人的には、ビット拡張してなお発生する誤差より、TruePeakによるクリップ発生の方がキモチワルイです。

・“ビット落ち”とは何か
 デジタル演算が嫌いな理由としてよく「“ビット落ち”が発生するから」と言われますが、この言葉、正しく用いる必要があると思っています。

 16bit深度データのプラス側フルスイング値は7FFFhです。例えばこれを256分の1の音量にする時、16bitのままだと8bitシフトですから007Fhになってしまいます。情報量が8bit分もなくなっています。明らかに“ビット落ち”ですね。
 しかし、24bit拡張して処理すれば7FFF00h→007FFFhです。元の情報量(16bit分)はそのまま残っています。
 これは、ざっくり言うと、「ボリューム演算する時、16bitを24bit拡張して実施するなら8x6=48dBゲインダウンするまでは情報の欠損はない」ということです。48dB以上絞る場合に初めて気にした方がよい、ということですね。
 逆に、EQなどで音量が上がる可能性がある場合は、07FFF0hなどにビット拡張してから演算すればよいワケです。

 以上、16bitデータをビット拡張演算して32bitや24bitで再生するような場合、情報量欠損はまず発生していないハズです。
 ので、“ビット落ち”という表現は不適切だと思っています。

 一方、24bitデータは拡張すると32bitになっちゃいますから、32bitで受けられるDACチップじゃないとDAC-I/Fの段階で情報量欠損となり、“ビット落ち”といってもいいでしょう。例えば24bit-I/Fで6dB以上音量絞ったら有効ビットが23bitに減りますので“1bit落ち”です。
 しかしそれって「ダイナミックレンジが144dB→138dBになる“だけ”」です。それを音質劣化と認識できる人はたぶんいない…ていうかそれ以前にその音質違いを表現できる再生装置がない(熱雑音以下?)でしょうから、実効的には無視していいと思っています。逆に、16bitが15bitになっちゃうビット落ちは無視できないと思います。

 以上、「ホントにビット落ち(情報量欠損)しているのか」「落ちてるとしても実効的な音質劣化なのか(それによって得られる効果を上回る劣化なのか)」をよく考えてシステム構築・運用した方がいいと思っています。

 なお、演算結果7FFFh(プラス側最大値。マイナス側なら8000h)を超えてしまうことは、単純に「オーバーフロー」、波形的には「ピーク潰れ」「クリッピング」と呼ぶべきでしょう。ビット落ちてないので。敢えて言うなら“ビット溢れ”?

・≪foobar2000≫の内部処理
 実際に32bit内部処理されているかカンタンに調べてみました。≪foobar2000 1.3.6≫にて。
 ボリュームが一番手軽なのですが、Convert機能によるファイル化ではボリューム効かないんですよね。といってウチの機材のS/PDIFデジタル録音方式だと24bitまでしか扱えません。そこで、16bitデータに≪-6dBLimiter≫というプラグインかけてConvert機能の32bit出力でファイル化。あんまりいい方法じゃないと思いますけどとりあえず。
 値を覗いてみたところ、おそらく32bit有意な値になってると思います。最大振幅値は7FFFhが3F6178D7hになってましたので。

1648.png
1648を3248で-6dB

 色付けしたサンプルはサイン波の1/4周期(ゼロクロス~プラスピーク)分です(ステレオ)。

 ボリューム演算がビットシフトに相当する比率じゃない場合はデータ値は変わってしまいます。ですので、私も気持ち的には「なるべく弄りたくない」派です(笑)。が、イマドキのDACユニット内ではOSDFで「デジタル演算」は必ずかかります。
 ので、「送り出し側でのデジタル演算の副作用をあまり気しても仕方ない(ビット落ちレベルにならないなら)」と、なんとか自分を納得させています。

 ≪foobar2000≫は上記の通り内部32bit処理、UDA-1(PCM1795)は32bit入力、そしてWASAPIもASIOも32bit出力可能、です。
 おお、「フル32bit処理」完成だ(笑)。
 “なんちゃって32bit”とか言われることもあるPCM1795ですが、スペック的にはキモチいいですね(爆)。

 なお、同じ32bitでも≪foobar2000≫の内部処理はFloat、DACチップの扱いはIntegerですが、FPとINTの相互変換において問題となる劣化はないと理解しています。

・FloatingPointの意味
 ところで、上記説明は敢えて「FixedPoint(ていうかINT:integer)」形式に限定しています。プレーヤソフトがFloatingPointで演算しても、DACチップで再生するまでのどこか(プレーヤソフトかDACユニット内のデータレシーバ部か)でFixedPointに変換されてしまうのが一般的だと思いますので。
 ていうか、浮動小数点形式は「計算」のためのものですから、普通はプレーヤソフトの出力時点でINTになってるハズです。

 もし、Floatで受けられるDACユニットがあったとしても、内部で何らかの演算処理をFloat形式で行う仕様(*)じゃないと意味ありません。それでも、DACチップにはINTで入れる必要があるでしょうから演算結果はINT変換されちゃうのですが。
 「Floatで受けられるけど特に内部演算はしないDACユニット」があるなら、受け取ってもただINT変換するだけですから、対応フォーマットを広げるって意味しかないです。
 「Floatで受けてOSDFやΔΣ変換演算をFloat形式で行うDACチップ」を搭載しているなら別ですが、そのようなチップは寡聞にして知らないです。ないですよねぇ?

*:Roland社の「S1LKi」エンジンはこれに相当します。32bitFloat形式で受け取り、DSPで1bit化やPCMx4処理まで行うようです。

    


 なお、念のためですが、本Blogで言う「ピットパーフェクト」とは「意図した加工するにせよしないにせよ、その前提として必要な“意図しない加工が発生しない転送・処理システム、状態”」という意味です。意図した加工を否定するものではありません。


■実事情

・ハイレゾとTruePeak
 ハイレゾ(ハイサンプリング)には、TruePeakが発生しにくいというメリットがあるかも知れませんね。インターサンプルピークとリアルサンプルピークと差が小さくなりますので。
 ただ、96kHzくらいだとまだ残っちゃうみたいです。上記資料の通り、やっぱり4倍(176.4kHz,192kHz)程度は必要ってことですね。

・ボリュームはデジタルですべてまかなえるか
 本項15/10/25追記。
 上述の通り、情報量が欠損することはないでしょう。ですが、だからとデジタルドメインであんまり絞ると、アナログドメインの“オイシイ領域”を使っていないことになるかも知れません。「DACチップ内のアナログ化ブロックは“データフルスケールで最適化”設計されているのではないか」と思えるためです。
 「プレーヤソフトをプリアンプ化する」のは熟慮が必要かと思います。

・電子ボリュームとは何か
 本項15/11/16追記。
 普通は、“絞り具合”を電子制御するボリュームコントロールチップのことを指します(例:JRC社製MUSES72320(*))。
 「デジタルボリューム」などと書かれることもありますが、デジタル値を演算で変更するものではありませんので念のため。

*:http://www.njr.co.jp/products/semicon/PDF/MUSES72320_J.pdf

・DACとTruePeak
 JPPA資料によると4kHzくらいならリアルサンプルとインターサンプルの誤差は0.3dB程度のようです。フルスケールになるような周波数は5kHz程度までと仮定すると、OSDFかける前に0.5dB程度絞ればかなりのTruePeakは防げるのではないかと思います。まあ、実際の楽曲では複数の波形(周波数)が重なるのでカンペキに防ぐことはできないでしょうけれど。

 ここで思い出されるのが、DSDにおける「MaxPeak」について調べてた時、同じファイルでもPCM→DSD変換再生よりPCM再生の方が0.4~0.6dBほどレベルが低かったことです。
 もしかすると、DACユニットはPCM再生モードではTruePeakを考慮し、「OSDF前段のAttenuation機能で0.5dB絞る」ようにDACチップを設定しているのかも知れません。
 定かではありませんが…


メインメニューへ

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

ERIへようこそ

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

・ファイルへの直接リンク以外はリンクフリー(連絡不要)です
・一応、拍手にコメント(非公開)付けられるようにしてあります
・DB的に利用しており、過去記事もガシガシ書き換えています。特に「最新記事」は初稿から一週間くらいは直してることが多く、大幅に変わっちゃうことも。ご了承ください
・ということもありますし、記すまでもないですが無断転載(ファイル含む)はご遠慮ください
・引用の考え方については「007:諸事」をご参照ください
・アフィリエイトはAmazonのみです
・ハイパーリンクは当Blog記事のみです(054:節電記事のみ例外)

最新記事
カテゴリ
検索フォーム
FC2カウンター