見出し画像

UAC-232のDual ADを調べてみた

要約

最近購入したオーディオインターフェイスZOOM UAC-232に採用されたDual DAのノイズ性能を調べてみました。その結果、基本的なノイズ性能は同価格帯およびより高価なオーディオインターフェイスに比べてそん色ないことが分かりました。しかし32bit Float出力としたことの影響だと思われますが、他の製品よりノイズ性能が劣る場面も見られました。
なおこの記事ではMusicモードのUAC-232について書きます。


背景

オーディオインターフェイスZOOM U-22を数年間使ってきました。音楽制作はやらないのですが、オーディオ周波数の信号(電気・音・振動など)をキャプチャーして分析するのに使っていました。大抵は問題無く使えていましたが、時々「もう少しノイズが小さければ」と思う事があったのも事実です。そんな訳で最近ZOOM UAC-232を購入しました。

UAC-232については「32bit Float」が話題になる場合が多く、それにも魅力を感じました。しかし決め手は、その背景にあるDual ADです。ダイナミックレンジが広いと言う事はSNR(SN比)が大きい、つまりノイズが小さいことが期待できます。今回はそれを確かめるためマイク入力(XLR)のノイズ性能を中心に調べてみました。

カタログ性能比較

32bit Floatへの興味からUAC-232を購入したい気持ちは最初から強かったのですが、類似製品と性能的に見劣りするのも困ります。なので一通りカタログ性能比較をしてみました。

参考として今まで使っていたU-22を加えました。また1桁以上高価な製品が一つ含まれていますが、これはどの位違うのか確認するための参考情報です。しかしこうやって並べてみると意外と差が小さいことに驚かされます。この種の製品の価格はオーディオ的な性能もさることながら、機能やチャネル数の影響が大きい様です。
特にEIN (Equivalent Input Noise, 入力換算雑音) は、U-22を除きほとんど差がありません。これは熱雑音と言う「物理法則の壁」が近いためではないかと思われます。
ZOOM製品にSNR (SN比) の記載がないのは不安要因ですが、ここは32bit Floatへの興味が勝り、リスクを取ることにしました。

内部の構成と信号レベル

Table 1を見ると

「EIN -128dBu Aで0dBFS Input (最大入力レベル) が+18dBuなのに、SNRが146dBではなく115dBなのはなぜ?」

の様な疑問がわくかもしれません。こう言ったことを解決するには製品の内部構成と信号およびノイズレベルの関係を理解する必要があります。

従来型オーディオインターフェイスはADCの前に可変ゲインのアンプがあり、ここで入力レベルを調整しています。そして先ほどのEIN、最大入力レベル、およびSNRはゲイン設定の条件が違っているのです。それぞれ一番「良い」値の出る条件と言えますが、別に良く見せようとしている訳ではないと思います。それぞれ簡単な計算で換算可能なので、この様に異なっていた方がそれぞれの条件のすべての値を把握することができるのです。

$${0dBFS\, Input(Gain)\, =\, 0dBFS\, Input(0)\, –\, Gain}$$
$${EIN(Gain) = 0dBFS\, Input(Gain)\, –\, SNR(Gain)}$$
$${Output\, Noise(Gain)\, =\, -SNR(Gain)}$$

全てGainの関数ですが、任意のGainの値について上記の式で計算できるのは0dBFS Inputだけです。それ以外はノイズ発生モデルを仮定して、それに基づき推定値を計算します。

これはMusicモードのUAC-232です。Dual ADをブラックボックスと考えてしまえば、ADよりも前にゲインを変えられる要素が無いのでシンプルです。なおMix Control画面の「INPUT LEVELスライダー」は、少なくともMusicモードではその名前とは裏腹に実際はUSBに出ていく出力レベル調整ですね。32bit Floatの場合、ここでやっているのは録音した後、DAWでレベル調整するのとまったく同じことです。
今後この記事で言及するUAC-232に関するdBFS値は全てFig. 2の「dBFS$${_{内部}}$$」を指します。
シンプルにSNRを計算すると133dB Aになります。しかしこのような値が実現されるとは考えにくいです。どうやらこの辺がDual ADの魔法、と言うことらしいです。

ノイズレベルの実測

無信号状態のノイズレベルを測ってみました。XLRの2.Hotと3.Coldの間に代表的なマイクロフォンの出力インピーダンスに近い100Ωの抵抗を接続して測定します。

「Input RMS… -135.2 dBFS A」とあります。SNR 135.2dB Aです。仕様のEINは最大値なのでそれから計算されたSNR 133dBは最小値と言う事になります。実力はこのくらいあってもおかしくないのかもしれません。これは後で詳しく調べることにしましょう。

なおFFTのグラフは-175dBFS前後の小さな値を示していますが、これは以下のような事情があるためです。

  • グラフ上部に表示された「Input RMS -132.34dBFS」が周波数重みづけの無いノイズ全体の電力 

  •  FFTはそれを周波数分解能で分割しているので、その分小さな値になる

32768ポイントのFFTはナイキスト周波数未満の周波数帯域を16384に分解します。そのため完全にフラットなホワイトノイズとみなすと、FFTのグラフは全電力よりも$${10 Log10(16384) = 42}$$dB低い値を示すことになります。

EINの実力は-135.2 + 6 = 129.2dBu A程度の様ですが、これは個体差のある数字なので、これ以降もEINは技術仕様記載の最大値-127dBu Aとして記事を書きます。

Dual ADの魔法を解き明かす

UAC-232のマニュアルに以下の説明があります。

UAC-232は2つのADコンバータのデータを常に監視し、最適な録音結果が得られるように自動でADコンバータの選択を行います。

https://zoomcorp.com/manuals/uac-232-ja/#unique_5

つまり入力信号レベルに応じて2つのADCを切り替えている、と言う事です。この動作を確かめるのには信号を入れた場合の変化、特にノイズレベルの変化を見る必要がありますが、ここで一つ問題が発生しました。UAC-232のDA含め、手元にある信号源のノイズレベルが-127dBu Aよりもずいぶん高く、このままではDual ADのノイズを正確に調べられないのです。

対策として信号源とXLRの間に-40dBのアッテネーターを入れることにしました。こうすれば信号源のノイズは十分小さくできます。しかし同時に信号レベルも減少するので0dBFS付近の測定はできません。見通しとして0dBFS付近を測定する必要はなさそうなので、とりあえず測定を始めてみることにしました。

無信号状態から徐々に信号レベルを上げていくと-40dBFSと-30dBFSの間で約20dBノイズレベルが増加することが分かりました。これがDual ADの魔法の様です。もう少し詳しく調べてみましょう。

-37dBFSから1dBずつ信号レベルを上げていくと-35dBFSと-34dBFSの間でノイズレベルの変化が生じました。

逆に-35dBFSから1dBずつ信号レベルを下げていくと、今度は-37dBFSと-38dBFSの間でノイズレベルの変化が生じました。制御を安定させるためヒステリシスを設けているようです。

以上の結果をグラフにまとめるとこんな感じです。-36dBFSを中心に、入力信号レベルがそれよりも上ならローゲインADを、下ならハイゲインADを使うようにしているようです。また安定に制御するためヒステリシスを持たせているので、実際の切り替えポイントは±1.5dBFS程度の幅があります。

以上の実測結果からDual ADはこの様な構成なのではないか、と推定できます。2つのADCのゲイン差は切り替えの中心を基準に36dBとしましたが、ヒステリシスや動作の余裕を持たせるためゲイン差30dBで切り替えポイントは-36dBFSと言う構成の方が現実的かもしれません。
Dual ADは名前の通り2つのADC切り替えられていることが確認できたと思います。これなら2つのADそれぞれのノイズレベルやSNRを考えることができます。またこの様な構成を前提にすれば、2つのADそれぞれを従来型オーディオインターフェイスと条件をそろえて比較できます。

改訂版比較表

ADの出力が0dBFSになる入力信号レベル、すなわち最大入力レベルが同じになる様な条件にそろえて比較しました。このようにすると入力信号電圧とAD出力の関係が同じになります。例えば-40dBuの信号を与えると、U-22以外のどのオーディオインターフェイスでもAD出力は-46dBFSおよび-10dBFSになります。

Table 1同様、やはりほとんど差が無いという印象です。従来型のオーディオインターフェイスと比較するならローゲインAD側の数値を使うのが適当だと思われ、ノイズレベル-113dBFS A (SNR 113dB A) は悪くないです。32bit Floatを利用するためこの辺の性能を犠牲にした、と言う事はなさそうです。

U-22はこの機会に実測してみましたが、入力レベル調整のゲインが低い状態のノイズが20dB高いようです。16bit PCMで使うならこのくらいで良いのかもしれませんが、24bit以上で使うにはかなり苦しいです。

その他の複雑な事情について

「以上おしまい。めでたしめでたし」なら良かったのですが、UAC-232にとって都合の悪い事実があります。また多少有利に働く事実もありますので、どちらも包み隠さず書いておきます。
Table 2にまとめた結果は、与えられた条件でAD出力に含まれるノイズレベルです。この時の最大入力レベルとそのノイズレベルの比が製品のSNRになる点では正しいと言えます。しかし実際の利用シーンを想定するとそれだけでは済まないのです。

UAC-232で32bit Floatを使い、「INPUT LEVELスライダー」をゼロに設定して録音したデータのピークレベルが仮に-30dBFSだったとします。これを録音後にDAWなどでレベルを+30dB調整をして0dBFSにすると、ノイズレベルもTable 2の値から+30dB増加します。録音の時「INPUT LEVELスライダー」を30に設定して録音後は何もしない場合も全く同じです。
最も不利な条件だと、従来型オーディオインターフェイスに比べて20dBFS程度ノイズが多くなる場合があります。これが「UAC-232にとって都合の悪い事実」。

同じ信号を従来型のオーディオインターフェイスで録音する場合はもう少し複雑です。

  1. 入力レベル調整をTable 2記載Gain settingの値に固定して録音し、その後DAWなどでレベル調整すると上記UAC-232の場合と同様にノイズレベルがTable 2の値から+30dB増加

  2. 適正に入力レベル調整し録音データのピークレベルを0dBFSにできた場合、ノイズレベルは増加するが 1.よりもはるかに少ない

  3. コンサバに入力レベル調整して録音データのピークレベルが0dBFS未満-30dBFS超えになり録音後0dBFSにレベル調整した場合、ノイズレベルは 1.と 2.の中間

実際に上記 1.の様に録音する人はあまりいないと思います。また常に 2.を実現できるのは名人と呼ばれる人だけでしょう。多くの場合 3.になるはずです。上記 3.で事後調節する信号レベルを「Clip margin」と呼ぶことにしてFig. 10にまとめました。

従来型ではClip marginの分だけノイズレベルが上昇します。それに対してUAC-232で32bit Floatを使えばClip marginは存在しません。これが「多少有利に働く事実」です。

以上が問題になるのはUAC-232でローゲインADが使われる場合です。ハイゲインADが使われる領域では従来型とほとんど差がありません。
継続的にローゲインADが使われ続けるのは、おそらくテスト信号を入力した時ではないかと考えられます。音楽など現実の音を録音する場合は2つのADCの切り替えが発生し、上記の件はさほど顕著に影響しない可能性が考えられます。逆に頻繁に切り替えが行われた時に副作用が無いのか、それも気になるところです。


まとめ

ZOOM UAC-232はノイズ性能をほとんど犠牲にせず32bit Floatの利用を可能にした様です。しかし一定の条件ではノイズ性能低下が懸念されますが、実際的な影響がどの程度なのか数値の検討では判断し難いものがあります。
私にはあまり機会がありませんが、音楽など現実の音を録音した結果から判断する必要がありそうです。


この記事が気に入ったらサポートをしてみませんか?