デジタルオーディオことはじめ。

15/11/03初稿

 ちょっと大胆すぎるタイトルかも知れませんけれど(笑)。

 「サンプリング定理」を調べたことで、自分としては「デジタルオーディオのありよう」や「ハイレゾの意味」を概ね納得しました。
 間違いあるかも知れませんが、何かの参考になるかも知れませんのでそれらをポータル的にまとめてみようと思います。

 ただ、いろんな事情がある場合でも、煩雑さを避けるため詳細は個別記事(リンク先)に任せるとして言い切っている場合もありますことご了承ください。


 PCとは本来DOS/Vパソコン(PC-AT)のことを指します。ので、Macの場合はMac、ラズパイなどの場合はマイコンと記します。
 USB-DACを用いた構成でPCM再生を基本に。

 「LPF」はLow Pass Filterの略です。
 「OSDF」はOver Sampling Digital Filterの略です。


■はじめに

 最終的には「聴いて良ければよい」のは言うまでもありませんが、デジタルオーディオのデジタル部分(DACがアナログ化する直前まで)のデータの変遷は主観的な嗜好ではなく客観的な理屈ですので、それを理解しておいてソンはないと思っています。

 例えば、
「14.7kHzのサイン波を44.1kHzでサンプリングすると1周期に3個しかデータがない。もしプラス側頂点をサンプリングしたら、マイナス側頂点には絶対にサンプルはない。が、14.7kHzはナイキスト周波数より低いのでサンプリング定理は成立し、“完全に再現できる”ハズ。それは何故か」
を理解しておく、ということです。


■PCMとDSDの原理を知る

・まずは「サンプリング定理」を理解する
 「如何に鳴らすか」を考えるためには、「如何に鳴っているか」を知る必要があるでしょう。
 それには、まずはPCMオーディオの基本「サンプリング定理(標本化定理)」を理解する必要があります。結構深いです、これ。

 例えば、実は「すべての波形はサイン波の合成とみなせる」というフーリエさんの発見を前提として知っておく必要があるのです。

 そして、「“現実には”サンプリング定理に完璧に則った記録再生はできない」ことがミソでした(*)。

*:「サンプリング定理」「フーリエ変換」の解説はたくさんありますが、普通は数学や情報工学としてのもので、「デジタルオーディオ」におけるそれらについて平易に記しているものはほとんど無いのでは。そのあたりを念頭に置いて情報にあたらないとワケワカンナクなると思います。

 その現実の中で「(安価に)理想に近づくためにDACチップがやっていること」こそ、デジタルオーディオ理解のキモだったんです。

 代表的なのは「理想記録再生のために必要な“理想LPF”に如何に近づくか」です。
 サンプリング定理に純粋に準じるなら、例えば22.05kHzまで記録再生するためには「22.05kHzまで通して22.05kHz以上をカットする理想アナログLPFが(記録時も再生時も)必要」ですが、現実的には不可能です。仕方ないのでちょっと妥協して20kHzまで通して22.05kHz以上をカットするLPFを構築することはできても、音質を保つためにはコストがかかります。

・アナログ信号じゃなくてデジタルデータをフィルタリング演算して解決
 そこで生み出されたのがデジタルフィルタです。デジタル演算によるOSDFすることで急峻なアナログLPFと同じ効果を安価に得ているのです。

 LPFとは、つまりある周波数以上の周波数成分をカットすることです。
 周波数成分的に言うと、阻止帯域(StopBand)周波数以上のサイン波成分をカットするということです。「サイン波=純音=倍音がない=ナイキスト内で取りうる最大周波数の波形はサイン波」ですので。
 何もしないとDA出力は次のサンプルまで値をキープ=零次ホールドされたのち次のサンプル値に急峻に変化しますが、それってDC成分と垂直波形ですので無限周波数(イメージングノイズ)を含んでいます。LPFはそのカクカクを無くすものです。
 デジタルドメインにて波形的に言い換えると、「阻止帯域周波数以上のサイン波成分が発生しないようにサンプル間をならしていく」処理と見ることができます。

 あるサンプルとサンプルの間の値は自由に決められないのです。「ナイキスト周波数以上の周波数成分がないこと」という条件を満たす値でなければなりません。極端な値で繋ぐとナイキストを超える周波数成分になってしまうことは、ナントナクイメージできると思います。2サンプルの単純平均でないことも、例えばサイン波のてっぺんなどを考えればイメージできるのでは。

 自然界の音はカクカクしたりとんがったり直線になったりできず、必ず滑らかに変化する“波”になるのです(データとして三角波や矩形波は作れますが、それをそのように振動させることはできません)。
 ここでのデジタルフィルタとは、周辺のサンプル値から“波としてあるべき”中間サンプル値を算出することと言えます。そして、サンプル間をならす=サンプル数が増えることですから、オーバーサンプリングになるワケですね。

 LPF=ローパスフィルタと聞くと、なんだか高域をカットして少なくしているような印象(ノイズリダクション的な?)がありますが、名前に惑わされず「リコンストラクション演算」と捉えた方がスッキリすると思います。

・DACの理想は「アナログ原音」を復元することではない
 結構見落とされてる気がするのですが、デジタルオーディオシステムは録音時に“アナログとして空間に存在していた音”を記録再生することを目標にしてはいません。サンプリング定理を利用していますので、“ナイキスト周波数以下だけの音”が対象です。ですから、デジタル化した時点でナイキスト以上の周波数は存在しないデータになっています(しなければなりません)。

 再生時のDACシステムは、楽器や肉声が発音した「アナログ原音」ではなく、「ナイキスト以上をカットされたデータが示す音」にアナログ化しているということです。
 たとえアナログ原音がAD変換時のLPF性能によって変質(エイリアス歪みなど)してデータ化されていたとしても、変質した状態がDACシステムにとって再現すべき“原音”になります。

・波形編集ソフトの表示はDACで再生される波形ではない
 これも、理解の妨げになる予断のひとつとではないかと。
 編集ソフトの表示はサンプルのデータ値を並べたものです。当然サンプル間には何も情報はなくデータとしては離散してるワケですが、そのまま“てん”だけ表示しても解りにくいですよね。なので、“便宜的に”サンプル間を線で繋いで表示しているのであり、決して実際の再生波形を示すものではありません。解りやすくするための“補助線”と考えた方がいいでしょう。
 補助線は結果的には「リニア補間」再生した波形に近いハズですが、まれにTWEのように「零次ホールド」で表示するソフトもあります。

・デジタルフィルタはメーカが売り文句のために付けてる機能ではない
 繰り返しになりますが、再生時にLPFするのはサンプリング定理に基づく波形再構築処理(=リコンストラクション)ですので、決して余計な処理ではありません。デジタルでなかった時代はアナログだったのです。当然一長一短ありますので、演算でエコー成分が付くからといって「デジタルフィルタ=悪」という絶対論はないと思っています。

 必須機能ですから一般的なDACチップは必ず搭載しています。DACユニットが「選択可能なデジタルフィルタ搭載」と謳っている場合、DACチップが複数搭載しているフィルタの選択を解放しているだけのことも多いようです。もちろん独自フィルタを搭載している場合もありますので、「デジタルフィルタ搭載」「選択可能」といった売り文句についてはよくその価値を吟味した方がいいでしょう。

 OSDFをパスする「NOS-DAC(搭載しているフィルタをOFFして使う場合も含む)」というものがありますが、原理上必要なプロセスを実施しないのですから、高域にイメージングノイズが残ることは承知してシステムアップすべきと思います。
 例えば、「前段にアップコンバータ入れるので要らない」とか「後段にものすごく上質なアナログLPF入れるから要らない(*)」とか「192kHz以上のハイレゾしか聴かないから要らない」とか、はたまた「どうせウチのスピーカは20kHzまでしか再生できないからいいんです」とか「イメージングノイズ入りの音が好きなんだよ!」とか。

*:CD専用プレーヤなら44.1kHzに特化できますが、ユニバーサルなサンプルレートに対応するDACシステムでは特性可変の高音質アナログLFPって難しそうな気がします。素人ですけど。

・デジタルフィルタのパラメータ特徴はメーカ宣伝文句をイメージで鵜呑みにしない
 「Phase Response」が周波数に非線形だと波形変形が生じます。線形だと変形しませんがプリエコーが発生します。
 が、そのメリット・デメリットを“実際の音として”正確に提示しているメーカはほぼないと思います(難しいでしょうね)。
 ので、「プリエコーはやっぱり不自然だろうな」などとイメージで思い込まない方がいいでしょう。
 “エコー”と呼ばれてはいますがカラオケなんかとは全く違うモノですので。

・アップサンプリングとオーバーサンプリングとOSDFとアップコンバートを混用しない
 このデジタルフィルタ処理は、DACチップ内で行われる場合は「OSDF」、PC内で行われる場合は「アップサンプリング」と呼ばれるようです。が、やっていることと目的は同じです。例えば48kHzサンプルを2倍にした96kHzデータでは、元のナイキストである24kHz以上はLPFでカットされた領域になります。「新たに高音を増やす処理」ではありません。ていうか、逆に、「ない高域を生成する処理」と言った方がいいでしょう(イメージングノイズをイメージできないように確定させる)。

 一方、「アップコンバート」は高域成分を補間生成して付加するものです。
 同じくサンプルレートをN倍にするにしても、目的からして全く違うということですね。

 ただし、本Blogでは上記の意味で使っていますが、世の中に明確な規格・定義は無いようですから、本件に関する情報に接する際には、まず、どの単語はどの意味で使われているか確認した方がよいでしょう。

・イマドキのDACチップはPCMデータでも1bitストリームにしてからDA変換している
 イマドキのDACチップは、“高音質にするためには高コストになるアナログ回路の規模をデジタル技術によって縮小”しています。
 リコンストラクションフィルタのアナログ要素をOSDFを導入して減らしているのはその一例ですが、それだけではありません。DAコンバートの本丸回路でも行われています。

 例えば24bitマルチビットDACでは、1bit精度の電圧はフルスケールを1Vとするなら1/16777216Vになります。そんなアナログ回路を作るのは(現実的価格で量産するのは)至難の業です。
 そこで、どんどん進化する半導体技術を利用し、PCM信号をΔΣ処理で1bitストリーム信号化してDA処理を1bit化しているのです(*)。128や256fsレベルの周波数に変換しているようです。

*:ただし、リンク先に記している通り、実際のDACチップがやっているのは単純な1bit化ではありません。1bitではなさそうですが、各社各様、かなり複雑な処理しているようであり、一概に「マルチビットΔΣ」とも言えないのではと思います。
 ですので正確を期すなら当該話題の際には常にその旨付記するしかありませんが、本稿では主旨に影響ないと考え解りやすさを優先し、代表概念として「1bit」または「ΔΣ」と表記しています。


 つまり、イマドキのDACチップの仕事の大半は「サンプリング定理の安価で高精度な近似」と「アナログ化回路の低コスト化」のためのデジタル処理なのです。
 “DACチップ”ではありますが、“DAコンバート”処理はΔΣストリームにアナログLPFかけることくらいなんですね。もはや“DAコンバーター”と言うより“デジタルプロセッサ”に近いかも知れません。

 さて、そのアーキテクトは規格があるワケではありませんので、DACチップごとに違います。

・フォーマットが違えばハードウェアの動きが変わるので当然音質は変わる
 例えばTI製DAC PCM1795はどんな周波数のデータにも8倍OSDFを常にかけています。
 つまり、2448データはDACチップ内で8倍の384kHzデータになります。2496データはやはり8倍で768kHzになります。OSDFフィルタの忙しさは後者が2倍ですし、ΔΣブロックが処理するサンプル数も異なるということです。

・DACチップが違えばアナログ回路はもとよりデジタル処理方式が違うので当然音質は変わる
 例えばAKM製DAC AK4490はPCM1795と異なり、おそらく入力信号の周波数によってOSDFの倍率は可変です。言い換えると常に8fsの352.8kHzまたは384kHzにしてΔΣブロックに送り込んでいると推定しています。例えば2448データは8倍ですが、2496では4倍されているのです。プレーヤ側で8倍アップサンプリングして送り込めばOSDFは働きません。
 TI製とは逆に、OSDF倍率が可変でΔΣブロックの処理は一定、ということです。

 同じ音源データでもDACチップが異なれば、その内部デジタル処理動作は違うということです(アナログ部の違いだけではない)。
 送り出し側でアップサンプリングした場合は、同じDACチップでも内部動作は変わるということです。
 もちろん、PCでやるアップサンプリングとDACチップ内のOSDFは同じ倍率でも異なる演算結果を出すでしょう。規格があるワケではありませんし、PassBandやStopBandなどの設定値も同じとは限りませんし。

・「ネイティブ再生」「原音再生」とは何か
 「DSDネイティブ再生」とは、「アナログ化回路にDSDデータ(1bitストリーム)をそのまま突っ込むこと」を指します(指すべきです)。そのまま突っ込めない(変換を要する)DACチップはネイティブではないと考えています。
 ネイティブでないとダメというワケではありませんが、DACチップをLPFとしてのみ使おうというような場合はネイティブである必要があります。

 一方、PCMはサンプリング定理上リコンストラクションフィルタをかけて初めて再現(再生)できるのですから、フィルタしてこそ「PCMネイティブ再生」でしょう。フィルタがデジタルでもアナログでも。
 その意味では、PCMって「理論上可逆だけど事実上非可逆の圧縮方式」と見ることもできるかもしれません。

 CHORD社などは凄いフィルタ処理で微細信号を復元するってがんばってますけれど、ソース製作時のAD変換性能やパッケージする際のダウンサンプリング性能を超える微細音はそもそも入ってないハズですよね。それら性能を超えた領域でもDA変換性能を上げれば音質は変化するでしょうけれど、それは録音時の音の再現性が向上したからではないでしょう。

 ですので、いわゆる「原音再生」って何を意味するのか微妙ですよね。再生側としてはミックスダウンされたひとつのストリームデータを「原音」とみなす他ありません。しかし、そのデータを“どう再生するのが「原音に忠実」なのか”は規定できません。「制作者がOKを出した再生音と同じ音」くらいは言えるかも知れませんが、アナログシステムはもとより上述した通りDACシステムによってOSDFなどのデジタル処理は異なるワケですから、その再現は無理でしょう。

・「ビット落ち」はフツウにしてれば発生しない
 デジタル演算でボリューム調整(フツウは下げるだけ)する場合、16→32bitなどに拡張して演算されるのがフツウでしょうからビットは落ちません。システムの処理性能(例では32bit)以上のリアルビット深度情報を持った音源はダメですが。

 逆に、イコライジングや以下に記すTruePeakなどでレベルが上がってフルビットを超えてしまう場合は、ビットは“溢れて”います。「クリッピング」などと呼んだ方がいいでしょう。

 いずれにしても、「有効ビットが1桁以上無効になる=情報量が減る」という意味での「ビット落ち」は、特殊な処理しない限り発生していないと思います。


■ハイレゾの意味

 「サンプリング定理」に基づいて、よくなるリクツ(があるのか)を考えてみました。
 もちろん、実際に聴いて意味があるか(効果があるか)否かは別問題です。純粋に「レゾリューションがハイなフォーマットにするとどんな効果が考えられるのか」です。

・サンプリングレートの違いは「高域があるか」ではなく「元波形からの変形度の差」で捉える
 フーリエさん的に言うと“波形(音色)”は「基音」と「倍音」の合成で形成されています(サイン波だけは「基音」しかない「純音」です)。
 そして、音楽における楽器・肉声の波形としての最高周波数は4kHzくらいらしいです。
 つまり、普通の音楽において、4kHz以上の周波数成分は「倍音」ということです。
 フーリエさん的に言うと、波形に制限をつけない限り倍音は無限に必要です。数学的リクツですので。
 が、実際のPCMオーディオではナイキスト周波数までしか記録できません。

 ですので、ハイサンプリングのメリットとは、「より高い周波数の倍音が記録できるため波形の再現性が上がること」と言えます。サンプルレートが下がるほど「元波形からの変形が大きくなる」と言ってもいいでしょう。

 ハイサンプリングの意味を、例えば「単独の30kHzサイン波が聞こえるか否か」で考えるとハマります(笑)。

・DA処理の「可聴域との距離」も考慮する
 “AD変換の時点で”ハイサンプリングすれば、イメージングノイズ発生帯域を高くできますのでDA変換時にメリットがあります(OSDFの初段がすでに充分に可聴域外)。
 例えば384kHz(8fs)サンプリングならナイキスト周波数はDACユニットのポストフィルタの通過帯域を超えるでしょうから、プリフィルタは不要になります。実際、上述の通りAK4490ではそのように動作します(OSDFをスルー)。

 つまりデジタルフィルタのデメリットなしに再生できるということです。この領域に至ると「NOS-DAC動作は有意になる」とも言えます。
 なお、この点においては高域に有効成分があるかないかは関係ありません。マスターテープのヒスノイズでもOK。
 逆に、「デジタルフィルタのデメリット軽減」を言っているのですから、当然アップサンプリングではダメです。

・ハイサンプリングを有効活用するためにLFP特性を工夫する手はあるかも
 サンプリング定理本来のリクツで言えば、ナイキストが有効帯域より充分高ければAD・DAとも処理に余裕ができることで理想的なPCM録音再生に近づけます。が、そういう特性でよいことにしておく=規格化しておかないとDA側はそのように動けません。
 残念ながら「ファイル音源」にそういう規格はなさそうです。
 なので、逆に「ファイルの周波数特性に応じて再生側(DA側)で工夫する余地がある」と言えるかも知れません。メンドクサイですけど(笑)。

・ビット深度の違いも「ダイナミックレンジ」や「S/N比」ではなく「波形変形の差」で捉える
 16bitで表現するサイン波を見てみると、例えば1200Hzでは-60dB以下は波形再現性に難ありのようです。
 24bitなら問題なさそうです。これがハイビットのメリットでしょう。

・ビット深度が深ければリコンストラクション精度が上がる
 製作時に24bitあってもパッケージング時に16bitに落とされては、その後どんなにがんばっても24bit精度での波形復元はできません。逆に、ずっと24bit(以上)の精度を保てるなら、サンプリング定理に基づくリコンストラクションは途中16bitに落とした場合とは明らかに異なる精度で実現できます。
 これもハイビットのメリットだと思います。

・TruePeakが発生しにくくなる
 PCMはサンプリング定理に基づいてOSDF(アップサンプリング)で元の波形を再現=再構築=リコンストラクションしていることをよく理解しない、または無視して作った音源は、「TruePeak」問題をはらんでいます。
 この問題はハイサンプリングになるほど発生しにくくなるハズです。
 そもそもピーク潰れを考慮しない作り方されたら関係ありませんけれど。

・比較試聴するなら、マスタリングが違えば音は違うのでフォーマットの違いのみを聴く必要がある
 ハイレゾにリクツはありそうですが、それが実際の音楽波形のAD/DA環境(性能)上、はたまた実際に聴いて効果があるのかは別問題ですよね。
 聴き比べて体験したいところですが、売っているハイレゾ音源とCD音源ではマスタリングからして異なるでしょうから、同じ曲でもフォーマットの違いだけを聴き比べることはできません。CD音源でもリマスター版は全く音が違うことあるのと同じです。その点を無視した比較レビューはあまり意味がないと思っています。

 フォーマットの違いだけを聴き比べるには、ざっくり言うとハイレゾ音源をダウンサンプリングするのがよいでしょう。細かく言うといろいろ注意しなけれなならないことはありますけれど。
 なお、デジタルデータとしてハイレゾであることを確認してから試聴した方がいいと思います。

・比較試聴するなら、差分を再生できる能力を有するシステムじゃないと
 フォーマットの違いだけを聴き比べる条件を整えたとしましょう。けれど、再生システムがハイレゾを再生できないと比較になりませんよね。 
 ビット深度の確認は難しいですが、自分のシステムがハイレゾ領域の周波数を再生できているかはなんとか確認できると思いますので、確実を期す場合は確かめておいた方がキモチイイでしょう。

・「ハイレゾ対応」とは何か
 いろいろなオーディオ機器で「ハイレゾ対応」が謳われています。電源ケーブルにもあるそうです。
 “対応”には、「ハイレゾフォーマットの音楽ファイルが再生できる(扱える)」という意味と、「ハイレゾ再生に足るアナログ性能を有している」というふたつの意味があると思います。
 例えば、192kHzまでしか受け付けないDACチップでも、その前段でリサンプリングすれば384kHzでも768kHzでも再生は可能です。プレーヤソフトがダウンサンプリングして対応させることもあるでしょう。
 その機器が言う“対応”の意味は何か、正しく認識する必要があるでしょう。

・DSDだから良いとは言えない
 DSD64程度ではシェイピングされたノイズが20kHzくらいからもりもり出ていますし、ノコギリ波はノイズまみれになってます。
 確かにOSDF処理しない=インパルス応答しないため波形再現性は良好ですが、そういった事実を踏まえて評価すべきでしょう。
 また、PCMに変換する場合は「MaxPeak問題」にも気をつける必要があります。ヘタするとがっつりピーク潰してしまうかも知れませんので。

・おまけ:VSアナログオーディオ
 上述の通りデジタルオーディオは「近似」のセカイです。対してアナログは「加工」のセカイでしょう。レコードのRIAAイコライジングしかりテープのBIASやNRしかり。「近似」も「加工」も音への悪影響はありますよね。
 特にハイレゾになると、周波数帯域やダイナミックレンジのスペックはデジタルの圧勝でしょう。あとは「デジタル演算による近似」と「アナログ回路による加工」の悪影響どちらが“よりキライか”、ということではないかと。
 アナログの揺れとかムラとかノイズが好きというのは別として。


■ジッタを知る

 以下、「発振器」と「振動子」はごっちゃで記します(主旨に影響ないと思いますので)。ご了承ください。

・そもそもppmはジッタじゃない
 ppmで語られることがありますが、ppmを単位とするのはふつう「発振精度」です。“10年間で何秒の誤差”というヤツですね。クロック周期がぷるぷるするのがジッタですから、基本的に別のパラメータなことは自明でしょう。
 ジッタは「位相雑音」で語るべきものです。
 ホントにどれだけ影響あるのかは別として。

・ジッタを気にすべきはMCLKのみ
 最終的にアナログ信号に影響する時間軸の揺れはMCLKのみと考えるべきでしょう(リンク先で概念図を作っています)。だって、DACチップというかDACユニットの(音声再生に関わる回路の)基本クロックはMCLKしかありませんから。だからこその“Master Clock”。「デジタルプロセッサ」としてのDACチップの駆動クロックですし、入力されるデジタル音声信号も、そのパタパタはMCLKのタイミングです。
 DACユニット内にはそれ以外のクロック(制御用マイコン用など)もあり得ますが原則アナログ化には関係ありません。「そのジッタがDACチップの電源を揺らす」といった間接的な影響はあるかも知れませんが、もはやジッタというよりノイズと捉えた方がいいでしょう。
 また、「PC側の転送タイミング(例えばUSB Class1の1ms周期)の揺れ」はクロックレベルではありませんから、ジッタとは呼ばず別問題として考えた方がいいと思います。

・送信側(プレーヤ)と受信側(DAC)でMCLKクロックを同期しないと再生できない
 無理に再生するとサンプルダブリや欠損になります。
 極端な例ですが、お互いが±10%精度の10MHz発振器を使っているとして、PCの個体がたまたま9MHz、DACがたまたま11MHzだったとしましょう。同期しないでサンプル転送したら足りなくなるのは明らかですよね。
 ですので、Tx側とRx側で必ずクロックを共有する必要があります。
 ですが、S/PDIFなど大半の機器間I/FではTx側のMCLKをRx側に転送することはできません。
 ですので、Rx側では、PLLを用いてTx側のMCLKに同期したMCLKを生成しています。

・PLL<原発振
 しかし、PLLのジッタ性能は水晶の固有発振たる発振器の原発振より原則として低いです。生成周波数を可変できるくらいですから仕方ありませんよね。
 I2SのマスターモードだとTx側からクロック(といっても普通MCLKは来ませんが)を転送できますが、たとえばTx側が汎用マイコンなら、それには44.1kHzや48kHzの256倍や512倍といった発振器は搭載されていませんから、当然PLL生成されたものになります。
 「Tx側からデータに同期したクロックが送られてくるからと言って絶対的にありがたいモノとは限らない」と思っています。
 I2SにはRx側からクロックを送ってTxを動作させるスレーブモードもありますが、これに対応したシステムはあるのかな?

 ところで、TxマスターならRxはスレーブですし、TxがスレーブならRxはマスターです。マスター・スレーブはTxとRxに必ず共存するワケですが、本Blogでは、モード表記は基本的にデータ流れの上流側(Tx側)観点で行っています。

 「PC側の転送周期の揺れはジッタではない(別問題)」と記しましたが、「転送されるクロックの揺れはジッタ」でしょう。Rx側がPLLでMCLKを生成する場合は、Tx側から送られてくる転送クロックのジッタはそのままPLL結果に影響することになりますから。

・クロックは非同期が望ましいけれど、データレートは同期する必要があるという矛盾
 MCLKは基本サンプリング周波数「fs(44.1kHzまたは48kHz)」の256倍や512倍の周波数が用いられます。DACユニット内ではDACチップの動作クロックになります。上記の通り、S/PDIFなどではRx側でTx側に同期生成します。
 S/PDIFではTx側のMCLKで司られるビットレートでリアルタイムにサンプル転送してきます。1644なら隙間なく1秒間に88,200サンプル送ってきます。ですので、MCLK同期したシステムではサンプルダブリや欠損は発生しません。

 しかし、DACチップの動作クロックは上記の通りPLLではなく原発振の方が望ましいワケです。
 しかし、クロック同期せずRx側独自のMCLKを用いるとサンプルダブリや欠損が発生します。

 それを発生させないためには、ある程度のバッファを設けリアルタイムより速いビットレートでI/Fし、Rx側からTx側に「待て」「もっと」の制御が出来ればよいワケです。

 USBアシンクロナス転送はそれを可能にしています。1644の場合、Class1なら1ms単位でステレオ44サンプルまたは45サンプルをやりとりし、Rx側はそれをバッファし、独自のMCLKに基づいてそれを再生処理します。MCLKの精度差によってサンプルが余ったり足りなくなったりしますが、その際は「余っちゃうから1回分パス」「足りなくなりそうだから2回分一気に送って」といったやりとりをします。
 これにより、Tx側とRx側が独自のMCLKを持っていてもマクロなデータレートを一致させることができるため、サンプル欠損を防げるというワケです。
 S/PDIFでは不可能なのは一目瞭然でしょう。一方通行ですからTx側はRx側の事情なんて聞く耳持ちません(持てません)し、結果的なビットレートは「サンプルレート×ビット深度×2ch」で固定ですから、レート的にも「待て」は出来ても「おかわり」は出来ません。

・DACのMCLKに原発振を使えるのは事実上USBアシンクロナスモードのみ 
 PCを絡めたコンスーマオーディオとして機器に潤沢な選択肢があるという条件では、現時点ではこれしかないハズです。
 I2Sは上記の通りですし、そもそも機器間I/Fではありませんし。
 外部クロックを入れられるPC用サウンドカードもあるようですが、基本、業務用ですよね。
 PCレスならDACユニットのクロックをトランスポートに入れる手があります。両方に外部クロックを入れることもできますが、それはMCLKじゃないと結局PLL生成することになります。

 なので、DACのMCLKの健やかさに重点を置くのなら、表題の理由から機器間I/Fは「USBアイソクロナス・アシンクロナスモード」一択と思っています。
 もちろん、業務用機器も視野に入れたり、MCLK以上に重視すべき点があるならこの限りではありません。例えばハイレゾマルチをやるためにHDMIを使う時など。

 ちなみに「isochronous」は同時・等間隔といった意味。「asynchronous」は非同期(synchronousの否定形)です。


■PCオーディオの遊び方(の一例)

 上述したデジタル音声処理事情・DAC事情を踏まえて“PCオーディオの遊び方”を考えてみます。

・デジタルデータのアナログ化に必要なデジタル処理を、PCオーディオはどこでやるか変えられる
 PCMデータはOSDFされΔΣ変調され、そのストリームがLPFでアナログ化されます。
 DSDデータはネイティブ再生システムならそのままLPFでアナログ化されます。

#厳密に言うと、ΔΣブロックではΔΣストリームの周波数までPCMをさらに“オーバーサンプリング”しています。256倍ならOSDFで8倍されたデータをさらに32倍してからΔΣ化しているようです。OSDFよりシンプルな方法(ゼロサンプル挿入?)でやってると推察しています。

 この処理プロセスはどんなシステムであろうと原則変わりません。
 そして、PC+ネイティブDSD再生可能なDACユニットなら、これらの処理…OSDF(PCでやるならアップサンプリング)をどこで何倍までやるか、ΔΣ変調をPCでやるかDACでやるかは設定・構築次第です。

 例えば≪foobar2000≫とUD-503(AK4490)で1644データを鳴らす場合、極端な例として

・≪foobar2000≫側では何もしない場合
 ⇒ AK4490内部で8倍OSDF→ΔΣブロックで32倍オーバーサンプリング(合計256倍)
   →ΔΣストリーム(11.2MHz)化→LPFでアナログ化

・≪foobar2000≫側で全部やっちゃう場合
 32倍アップサンプリング→ΔΣブロックで8倍オーバーサンプリング(合計256倍)
   →ΔΣ変調でDSD256化
 ⇒ AK4490内部のLPFでアナログ化

という鳴らし方ができます。この間をとった設定はお好み次第ということですね。ソフトウェアによってはフィルタ特性やDSD変換演算の設定もできます。
 ΔΣ以降をDACチップ側にやらせる構成なら、アップサンプリングとOSDFを双方で行うこともできます。AK4490相手なら、PC側で2倍したらDACチップ側では4倍になるワケです。PC側で8倍して送り込めばOSDFはバイパスされますからDACチップを「ΔΣ変調&アナログLPF回路」として使うこともできます。
 PCで2倍、UD-503内蔵のFPGAで2倍、AK4490で2倍=合計8倍なんて設定も。

 PCオーディオ(設定可能なソフトとDSDネイティブ再生可能なDACユニット)なら、音源データのデジタル処理システムをかなり自由に構築できるということですね。

・PCで処理するかDACでするか
 どっちでやってもいいとしていも、高性能な方でやらせたいですよね。
 ですが、上述した通り実際のDACチップの仕組みは複雑ですので、言うまでもなく単純比較はできません。例えばPC処理して送り込む場合は当然シングル1bitストリームですが、DACチップ内部処理はそうではありません。
 なので正確には解りかねますが、個人的にはPC処理はDACに勝るとも劣らない(少なくとも使い物になる)と判断しています。
 DACチップのΔΣ変調演算は64bit浮動小数点精度ではやってないハズ、と(笑)。


■余談

・情報との向き合い方
 ネットや雑誌などでいろいろな情報が発信されていますが、「WindowsはダメでMacの方がいい」「x86はダメでマイコンボードの方がいい」といった音質比較を参考にする場合は、その条件をよく確認した方がよいでしょう。
 例えば、WASAPI排他モードやASIOではない環境で比較されたらWindowsに不利です。USB-I/Fがアダプティブのマイコンとアシンクロナスのx86だったら前者が不利です。

 また、「~ノイズフィルタ」「~インシュレータ」といったチューニングについても、電気信号系やメカ振動系に変化を与えるワケですからその影響はシステムによって千差万別でしょう。「音質が良くなったか否か」ではなく「パラメータとして有意か(変化があるか)」の観点で見た方がよいと思います。

・“Noise”は「雑音」?「歪み」?
 エイリアシングノイズやイメージングノイズは、「折り返し雑音」と訳されることも多いですが、個人的には、どっちかというと「歪み」という訳の方がいいと思えます。「雑音」というとどうしてもS/N比的なものを想像しちゃうので。古い?(笑)
 エイリアシングは明らかに波形を変形させますので「雑音」はどうかなと。イメージングの方は確かにナイキスト以上に発生する周波数成分ではありますが…
 いずれにしろ、これらはデジタルデータ(離散的)であるが故に存在するものなので、たとえ「雑音」と訳されていてもアナログ音声的なノイズの概念で捉えないことがポイントかと思います。

 「位相雑音」なんかは雑“音”じゃないですよね。

 電気的なものとメカ的なもの、どちらのことを言ってるのかヨクワカラナイ情報もありますので、その点も注意ですね。

・なんでビット数が“深度”なの?
 これも微妙に腑に落ちない感あります。「bit depth」の訳だからでしょうね。欧米の人にとっては「細かさ」というより「深さ」のイメージなんでしょうか。



 さて、ここからは上記をふまえた現時点での個人的な考え方です。
 個別事情や考え方はいろいろありましょうからもちろん客観論にはなり得ませんが、とりあえず参考まで。


■PC-Audioシステムチューニングコンセプト

・システムチューニングは「帰納法」で考える
 人はアナログな音波として音を聴いて(感じて?)います。
 アナログ信号を生成するのはDACチップです。
 データはDACチップまで改変なく届いています。
 なので、音を良くするためにはDACチップを健やかに動かすことをポイントに考えるとよいのではと思っています(アナログだけでなくデジタルの部分もその観点で考える)。DACチップ以降のアナログ段も当然関連します。

 その“おおもと”から遡ってシステムの在りようを考えると効率いいのではないかと。

・MCLKを極力キレイにする
 位相雑音性能が良い水晶発振器を搭載したDACユニットを選びたいですね。44.1kHz系と48kHzで原発振を使うためには、それぞれ用の水晶を搭載している必要もあります(でないと片方はPLL生成)。
 ですが選ぶだけでなく、その原発振がそのまま使えるように動かす必要もあります。

 ⇒そのためには、上述の通り、現時点現実的には「USBアイソクロナス・アシンクロナスモード」を使うしかないと思っています。

・アナログ化までの忙しいデジタル処理はDACにやらせない 
 PCM再生に必須の処理「OSDF」「ΔΣ変調のための単純オーバーサンプリング」「ΔΣ変調」は、PC側でやるのとDACチップ側でやるのでは、どちらがDACチップのアナログ化回路に有利でしょう?

 ⇒DACチップ内のデジタル処理はより少ない方が、DACチップとしての電源変動やノイズ発生が少なく済むのではないかと思っています。とするなら、送り出し側で出来るデジタル処理は極力やってしまった方がアナログ化回路を健やかに動かすためにはよいのでは?
 当然、PC側処理がDACチップのそれに決定的に劣っていない(差し引き当該メリットの方があり得る)ことが条件です。確証はありませんが個人的にはそのように判断しています。
 ということで、今のところ「PC側で悉くやっちゃってDSD256化して送り込むことでDACチップをアナログLPFとしてのみ使う」作戦をとっています。
 DSD音源を聴くためではなく、このためにネイティブDSD再生を利用するワケですね。

・DACチップに供給されるアナログ電源とデジタル電源とGNDの質を高める
 DACチップから出力されるアナログの質を高めるためには、まずはこれでしょう。
 1点アースなどの工夫はありますが、DACチップのデジタルGNDとアナログGNDはアイソレートされてはいませんので。

 ⇒そのためには、DACユニットの電源部が良質であることが必要でしょう。
 そのためにはそういうDACユニットを用いるしかありませんが、ユーザとしても投入する電源をキレイにする工夫ならできそうです(ACでもDCでも)。チープなACアダプタ電源(当然イマドキはスイッチング電源)などの場合、そこに手を打つなどです。ERIでも、かつてDC電源の浄化、なんてやってたことあります。
 ただ、“付属品で音質チューンされている可能性”もありますけれど。

 また、「非Audio機器」は極力システムから排除した方がいいと思われます。AC電源を汚す可能性がありますので。
 システム構成で言うと、例えば以下の例ではどちらがシステム全体が低ノイズ=DACチップ(の電源)に優しいでしょう?

    PC (ATX電源,アース接地) 
  → DACユニット (Audio機器電源)

    NAS (ACアダプタ) 
  → ハブ (ACアダプタ) 
  → マイコン (ACアダプタ)
  → DDC (ACアダプタ) 
  → DACユニット (Audio機器電源)

 なお、水晶発振にも電圧必要ですので、発振器用電源もキレイにすべきであり、それはDACチップ用電源とはセットになると思います。

・USBで接続されるPCのGNDとUSB5Vからノイズを貰わない
 PCの5V品質はオーディオグレードからはほど遠いでしょう。ですのでUSB5V(バスパワー)動作のDACユニットは原則的に不利だと思います。
 「5Vを外部供給にする改造する手がある」というのはメリットかも知れませんけれど。

・出来ることならPC側とDAC側を電気的アイソレートしたい
 USBケーブルでのアイソレートは現実的ではない(USBアイソレータという機器もなくはないですが)でしょうから、内部でそういう回路を持っているDACユニットを選ぶしかないでしょう。といっても100%影響をカットできるものではないと思いますけれど。
 ノイズ低減という意味ではUSBフィルタという手もありますが、ノイズは結局GNDに逃がすので、効果を出すにはひと工夫必要そうです。
 PC側からの5Vをカットしても動くDACユニットを用いるという考え方もあります。USB規格からは逸脱すると思いますが、そういう製品もあるようです。ただし、それでもGNDは繋がざるを得ませんが。

 かつてはDDCのワイヤレス化なんてやってましたが、ホントは「光USBケーブル」欲しいですねぇ。HDMIは光化できるんだから技術的には出来そうですけれど。市場性の点で無理かな(バスパワー供給できなくなっちゃいますからね)。

・そもそもPC側のGNDやUSB5Vがよりキレイであるに越したことはない
 クリーンアップするにしても元からいいほうがいいですよね。なので、CPUを初めとするPC部品は極力低ノイズで動いて欲しいところです。

 ⇒そのために低消費電力PCにするという考え方があります。
 が、電源にチープなスイッチング方式のACアダプタを使ったりしたら意味ないかも知れません。また、「低出力電源は低ノイズ」とは限らないでしょう。もしかすると高級ATX電源かつGNDをアース接地した方が低ノイズかも知れません。
 また、M/B上には複数電源を生成するDC/DCがありますが、これらも低ノイズ性能のパーツ・回路(当然高コスト)の方がよいワケで、オーバークロック用やゲーミング用の高級M/Bの方がその可能性は高いでしょう。
 ですので、低消費電力の安価なシステムより、高性能で高価なシステムの方が電源品質がよい“可能性もある”のではないか、と思っています。CPUの安定動作には高品位な電源・GNDは欠かせませんし、強力な電源・GNDはCPU動作(電力消費変動)に影響を受けにくいものですので。速いPCの方がUSBノイズが必ず大きいとは言えないと思います。

 要はUSB経由(可能性としてはAC経由も)でDACユニットに伝わるノイズが小さければよいのであり、DACユニットにしてみれば送ってきた相手が高速PCか低速PC(またはマイコン)かは関係ありませんから、そのためにどんなPC(マイコン)を使うかはチューニング手法のひとつと言えるでしょう。

・USBデータラインを低ノイズ化する
 USB電源と同じく、DACユニットに入れるUSBデータ信号も元からキレイな(低ノイズな)方がよいでしょう。

 ⇒そのためには、USBコントローラはオンボードではなく拡張カードの方が有利なのではと思っています。USB5Vの観点でも、カードによってはPSUからダイレクトに受けた5Vを使えるものもあるようですし。そういうカードなら、改造すればバッテリ駆動も可能かも知れません。
 また、USBは「差動信号」ですので(バランス接続みたいなもの(笑))、USB+とUSB-のケーブル長が等しくないと信号乱れが発生するでしょうから、そういった配慮がなされたケーブルの方がよいでしょう。

・USBの転送タイミングを安定させる
 フレーム周期はClass1なら1ms周期、Class2なら125usです。この周期がより安定していた方が、送受信双方ともデジタル回路の動作タイミングパターンが安定するのでは。

 ⇒そのためには、送り出しシステム内部で生成される周期がより均一である必要があります。例えば、124usと126usが同じ比率で出現することでマクロ的フレームレートの帳尻が合っている状態より、毎回キッチリ125usでI/Fした方が受け側DACユニット内の後段も安定するでしょう。
 USB-DACユニット内にはUSB-I/Fチップがあり、PCからUSBを受信し、それをDACチップが理解できる信号(通常はI2S)にデコードし、DACチップに送信しています(アシンクロナスモードの場合、ここでバッファリングとフィードバック制御することで受信側と送出側のクロックが非同期でもデータ欠損しないようにしています)。このチップのPC側動作が揺れることでDACチップ側の信号にも影響を与える可能性を考えています。

 ⇒そのためには、転送のための割り込み応答性を高くすべきです。
 組み込み用の「リアルタイムOS」でUSB転送のプライオリティを上げるのは正当なアプローチと思われます。
 軽量OSとマイコンの組み合わせも、この効能が大きいのかも知れません。
 PCにおいては、クロックやコア数の性能が高い方が有利な可能性があると考えています。
 また、USB3.0のxHCIの方がUSB2.0のEHCIよりシステム負荷が低いようです。
 「システムは遅い方・古い規格の方が有利とは限らない」のでは、と思っています。

 また、OSチューンもこの効果を狙ったものと言えます。
 ハードウェアチューンとしては、拡張カードを挿すPCI-Expressはチップセットの機能ではなくCPU直結の方がいいかも知れません。

・低ノイズ・低負荷でソースを取得する
 USBの低ノイズ化・転送タイミング安定化のためには、USBコントローラに送り込むソース(音源)取得のための負荷やノイズを極力減らす必要があります。

 ⇒そのためには、音源格納ストレージとのI/Fコントーラや制御システムにつき、割り込み負荷やノイズ発生などの点でどれが有利かよく比較検討する必要があるでしょう。SATA(PATA?)-I/Fの内蔵、USB-I/Fの外付け、SDカード(大抵はUSB経由)、USBメモリ、ネットワーク上のNAS、HDDかSSDか、などなど。
 例えば、内蔵SATA-SSDなら「SSDとSATAコントローラの制御負荷とノイズ」、NASなら「LANコントローラとEthernetの制御負荷とネットに繋がれた機器からLANケーブルおよびAC経由で流入するノイズ」、“どちらがマシか”という比較になります。
 外付けUSBドライブからRAMディスクにアルバムごとコピーしてドライブ外してしまうことで、再生中は音源ストレージレスにするなんて手もありますね。
 ちなみにこれらI/Fではどれもエラーしたら再送されますので、再生される音声のデータエラーは“なし”で同じです。
 また、アタリマエですが、I/Fのタイミングや転送クロックは、どれもオーディオのサンプリングクロックとは全く関係ありません。
 PCのI/Fですから。

・システムのGNDをキレイに(強力に)する
 ざっくり言うと、特にPC(に類する機器)を組み込んでいることに着目した「グランド安定化」がキモではないかと。
 特に「アース」については、後回しにされがちですが実は非常に影響大きいパラメータのようですから、早めに熟考すべきと思っています。
 普通の国内用オーディオ機器は、たとえ3pinインレットでもアース機能ありませんし。
 逆にPC(ATX)はアース前提の機器ですし。
 電源ケーブルの構造も、意外に種類ありますし。


 もちろん正解はありませんけれど。


メインメニューへ

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

最新記事
ERIへようこそ

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

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

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

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

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

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

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

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

カテゴリ
検索フォーム
FC2カウンター