信号経路

入力からDACまでの全9段と、各段のレイテンシ。入力からDAC出力までのラウンドトリップ遅延は48 kHz系で8.33 ms、44.1 kHz系で9.71 msです。

各段

#段何が起きるか
01仮想デバイス再生アプリから音声を受け取ります。バッファサイズは256フレーム固定で、OS側に音量調整ノブは公開しません
02エンジンへ転送共有メモリ経由で処理エンジンへ渡します。ここでの転送遅延は測定限界(ノイズフロア)以下です
03入力レートの確定仮想デバイスが報告するサンプリングレートのまま開きます。別のレートを要求するとmacOS側で不要なレート変換が挟まれますが、UI画面からはその異常を検知できません
04入力シグナルの監視入力レベル、有効ビット深度、リサンプル伸縮比(ストレッチ比)を常時測定し、整合性を判定します
05アップサンプルf32からf64へ拡張し、16倍に変換。48 kHz系は768 kHz、44.1 kHz系は705.6 kHzへ。2つの系列を混在させることはありません
06グラフ処理ユーザー定義のノード列とAUXバス1系統。内部レート、64bit浮動小数点(f64)、4,096フレーム単位のブロックで処理されます
07A/B比較2系統のシグナルチェーンを常時メモリに保持。切り替え時は5〜10 msのクロスフェードを行い、畳み込み(FIR)の履歴バッファもシームレスに引き継ぎます
08ダウンサンプル16分の1へ間引き。アップサンプル段と対称のFIRフィルタで帯域制限して戻します
09出力段トゥルーピーク計測、オートヘッドルーム、ディザリングと量子化を経てDACへ送出

既定状態では出力段で信号の変更は行われません。05と08がリサンプル設計で定義される段であり、エイリアシングを防ぐ帯域制限は常にこの2つの段が担います。

レートと精度

705.6k / 768kHz

内部処理レート。入力の16倍です。ナイキスト周波数は352.8 kHzまたは384 kHzまで引き上げられるため、後段の非線形処理で発生する高調波歪みが可聴帯域へ折り返しません(エイリアシングが発生しません)。

f64

グラフ処理は常に倍精度(f64)で実行されます。リサンプル段のみ計算負荷に応じてf32を選択可能です。

4,096フレーム

内部ブロック長。畳み込み(FIR)のパーティション長をこのブロックサイズに一致させているため、長大なフィルタでも追加の遅延が生じません。

丸め誤差フロア
f32(単精度)約-145dB
f64(グラフが使う精度)約-320dB
128bit約-680dB

現行最高峰のDACでも実測ノイズフロアは約-130 dBです。倍精度(f64)の時点で、いかなるハードウェア変換器の分解能をもはるかに凌駕しているため、Sonir Benchでは実効性のない過剰なビット数競争は行いません。

  • レート系列(44.1 kHz系 / 48 kHz系)を混在させることはありません。

    44.1 kHzおよびその倍数の音源は705,600 Hzで、48 kHzおよびその倍数の音源は768,000 Hzで処理されます。再生中に音源の系列が切り替わることがあるため、どちらか一方の系列にしか対応していない設計はロードできません。

  • 同一のグラフが両方のレート系列で動作します。

    ノードのパラメータはサンプル数ではなく周波数(Hz)やゲイン(dB)などの物理単位で定義するため、レート系列が変わってもグラフを再設計する必要はありません。フィルタ係数は動作レートごとに自動再計算され、双方のレートで事前検証されます。

レイテンシ

48 kHz系     8.33 ms   入力からDACまでのラウンドトリップ
44.1 kHz系   9.71 ms

レート変換段  0.50 ms   769タップ、直線位相、768 kHz
             0.95 ms   1,345タップ、705.6 kHz
プリセットのリサンプルフィルタは直線位相(リニアフェーズ)のため、遅延時間は全周波数帯域で完全に均一です。周波数ごとの位相乱れによる音色変化ではなく純粋な伝搬遅延であり、タップ数が長いほど増加します。設計全体の合計レイテンシは検証画面で確認できます。
  • グラフ処理内では、FIRフィルタのタップ数を増やしてもレイテンシは増加しません。畳み込み処理が内部ブロック長ごとに分割(区分的畳み込み / Partitioned Convolution)されているため、長いフィルタが消費するのはCPUリソースのみであり、追加の遅延は生じません。
  • パーティション長の設定はCPU負荷とレイテンシのトレードオフのみを調整します。処理される音質そのものには一切影響しません。
  • リサンプル設計で最小位相(ミニマムフェーズ)を選択すると、この段に起因する群遅延は極小化されますが、引き換えに可聴帯域の位相特性に変化が生じます。