# Pipeline Analyzer

Pipeline Analyzerは、再生中の音を変えずに、現在のEffect Pipeline全体の特性を測定します。広い画面ではパイプラインの横、狭い画面ではヘッダーの直下に表示されるため、エフェクトを操作しながら結果を確認できます。

Effect Pipelineヘッダーのグラフボタン、またはデスクトップ版の **View > Pipeline Analyzer** から開きます。**Auto**を選択している場合は、パイプラインを変更すると自動的に再測定します。**Auto**を解除すると、パイプライン変更後の測定は **Refresh measurements** を選択したときだけ行います。測定設定を変更した場合は、Autoの状態にかかわらず再測定します。

## チャンネルとスピーカー特性の選択

最大16チャンネルの現在のパイプラインから、入力チャンネルを1つ選びます。出力は最初に1つ表示され、**+ 出力を追加** で現在のオーディオデバイスが持つチャンネルから最大4つまで追加できます。16チャンネルのパイプラインでも、解析できる出力スロットは4つまでです。削除すると、その出力とスピーカー特性の設定が消えます。最後の1出力は削除できません。

各出力には **No speaker IR**、または接続したツイーター、ウーファーなどの保存済み測定ポイントを指定できます。測定だけを選んでポイントを選んでいない場合も、**No speaker IR**として扱われます。どの出力にもスピーカーIRが設定されていない場合、**Before**は0 msだけが1.0で、それ以外が0の理想的な単位インパルスになります。スピーカーIRが設定されている場合、**Before**は時間整合した各特性を符号付きで合計したものです。**After**は、各出力を選択中のパイプラインで処理してから符号付きで合計した特性です。これにより、FIR Crossoverと各スピーカーユニットを合わせて確認できます。保存済み特性が見つからない場合は、置き換えるか解除するまで、不足していることを明示します。

保存済みのスピーカー特性は、検出された立ち上がり位置で揃えられます。個別の測定にはドライバー間の音響的な到達時間差が残らないため、合成特性を判断する前に相対ディレイと極性をパイプラインで設定してください。

## 測定設定

**測定設定** を開くと、次の項目を変更できます。

- **信号** は標準で **MLS** を使用します。**TSP** は別の周期テスト信号、**Unit Impulse** は時間応答を直接収録する方式です。非線形エフェクトや時間とともに変化するエフェクトでは、方式によって結果が異なることがあります。
- **レベル** はテスト信号のピークで、初期値は `-12 dBFS` です。線形エフェクトの正規化後の特性は通常どのレベルでも同じですが、非線形またはレベル依存のエフェクトでは結果が変わります。
- **シーケンス長** は、長い応答をどこまで正しく測れるかを決めます。MLSとTSPではテスト信号の周期、Unit Impulseではインパルス投入後に収録するサンプル数です。長くすると時間とメモリを多く使います。Delay、Reverbなど余韻の長いエフェクトでは、特に推奨値が表示された場合に長くしてください。
- **安定化周期数** の初期値は12で、収録前にパイプラインが安定するまで待つ時間を決めます。ゆっくり変化するエフェクトが安定しない場合は増やしてください。
- **平均回数** の初期値は2です。グラフが安定しない場合は増やすと測定ごとの差を抑えられますが、測定時間は長くなります。

詳細には、現在の長さが十分か、推奨シーケンス長と安定化時間、測定にかかる合計時間が表示されます。Unit Impulseでは、現在のサンプリング周波数での収録長がサンプル数と秒数で表示されます。推奨値は、測定するエフェクトに合う場合に設定へ反映してください。

安定化周期数と平均回数が無効になるのはUnit Impulseだけです。MLSは2^n-1サンプル、TSPとUnit Impulseは2^nサンプルの長さを使い、信号を切り替えると最も近い長さが引き継がれます。Frequency、Phase、Min Group Delay、Excess Group Delay、Impulseの切り替えは表示だけを変更し、再測定しません。

## グラフの見方

- グラフ外の **Graph** ラジオボタンで、表示する特性を選択します。
- **Frequency** は周波数ごとのレベルを表示します。
- **Phase** は周波数ごとの位相を表示します。
- **Min Group Delay** は、振幅特性から求めた最小位相成分の遅延を表示します。
- **Excess Group Delay** は、最小位相成分を差し引いた残りの遅延を表示し、純粋なディレイなどの非最小位相成分を分けて確認できます。
- **Impulse** は時間方向の応答を表示します。

グラフには常に **Before** と **After** の2本を表示します。ポインターを動かすと、同じ周波数または時刻における両方の値を読み取れます。凡例の **Before** にポインターを置くと **After** が一時的に隠れ、重なりなく比較できます。グラフを切り替えてもレイアウトが動かないよう、**Smoothing (oct)** と **Impulse Range (ms)** は常に表示されます。SmoothingはFrequency、Phase、2種類のGroup Delayで、Impulse RangeはImpulseで有効になります。Excess Group Delayの表示範囲は見やすさのため±100 msまでですが、範囲外でもポインターの読み取り値には元の値を表示します。選択中のグラフに影響しないコントロールは無効になります。周波数特性は各カーブを個別に0 dB基準へ合わせ、インパルスは各カーブの全応答ピークを基準に正規化し、-2 msから選択したImpulse Rangeまで表示します。

## 測定方法

各測定では、現在のパイプライン、設定、ルーティング、選択したスピーカー特性を測り、Frequency、Phase、Min Group Delay、Excess Group Delay、Impulseの各グラフに表示します。**After** は、パイプラインから報告されたレイテンシーを補正して表示します。

一般的な特性測定にはMLSまたはTSPが適しています。Delay、Reverb、リンギングなどが現在の測定範囲を超えると、応答が重なって表示されることがあるため、**シーケンス長**を長くしてください。**Unit Impulse**は選択した**シーケンス長**のサンプル数だけを収録するため、それより長い余韻は切れます。収録の終わりで余韻が残っている場合は長くしてください。

非線形、時間変化、ランダム、ノイズ、音を生成するエフェクトでは、レベルや測定ごとに結果が変わることがあります。固定的な特性ではなく、選択中の設定における一回の測定結果として確認してください。
