Room EQ
Room EQは、EffeTuneに保存した周波数応答測定からFIR補正フィルターを作成します。初期状態では、共有の測定から1つのフィルターを設計し、プラグインを通るすべてのチャンネルに適用します。個々のチャンネルに別の測定を割り当てると、そのチャンネルだけ専用のフィルターになり、それ以外の設定はインスタンス全体で共通のままです。対象チャンネルは、プラグイン共通のバス選択で指定します。選択した測定の全ポイントを平均し、応答を平滑化して、指定した補正範囲内の偏りを抑えます。スピーカーと部屋の相互作用により、リスニング範囲で繰り返し現れるピークや広帯域の音色の偏りを整えたい場合に使用します。リニアフェーズの振幅補正、またはミニマムフェーズの振幅補正と測定した余剰位相の補正を組み合わせたミックスドフェーズ補正にも対応します。余剰位相の補正では、Phase Correctionが直接音を、Reverb Correctionがそれに続く室内残響を対象にします。Reference Pointが合意成分の場合は、信頼度で重み付けした各測定ポイントの平均を位相補正の目標にします。
音質向上ガイド
1つのRoom EQへ通すスピーカーまたはチャンネルグループを、リスニング位置の周辺でマイク位置を少しずつ変えて複数ポイント測定し、その保存済み測定を選びます。複数ポイントを使うことで、1か所だけに依存しにくい補正になります。
まずは Phase: Minimum、Smoothing: 0.17 oct、Correction Low: 80 Hz、Correction High: 16000 Hz、Max Boost: 6 dB、Level Correction: 100%から始めます。プラグイン共通のメインオン/オフで比較し、不自然に薄い音や明るすぎる音にならず、周波数バランスが整うことを確認してください。
マイク位置によって変わる狭いディップを自動補正が持ち上げてしまうのを防ぐには、Smoothingを大きくするかMax Boostを下げます。Max Boostを0 dBにすると、自動補正によるブーストを防ぎながらピークのカットは行えます。
100%のレベル補正が強すぎる場合は、Level Correctionを下げます。各周波数の自動補正値をdB単位で比例させるため、50%では+6 dBの補正が+3 dBに、-8 dBの補正が-4 dBになります。
Correction LowとCorrection Highは、スピーカーと測定マイクの両方が信頼できる範囲に収めてください。正しく測定できない帯域まで補正すると、結果の精度が下がることがあります。
室内補正が安定したら、Additional EQでリスニング用の目標を穏やかに整えます。たとえば100 Hz付近に幅広い+2 dBのLow shelfを加えたり、10 kHz付近のHigh shelfをわずかに調整したりできます。各バンドは目標特性を変え、FIRフィルターへ組み込まれます。
遅延を抑えたい場合は Minimum を使います。周波数特性だけでなく余剰位相も補正したい場合は Correction を使い、まずReference Pointを初期値の 合意成分(全ポイント) のままにして、Direct Windowと Phase Correction: 100% も初期値から試してください。特定のマイク位置に合わせて余剰位相を補正したい場合だけ、そのポイントを選びます。位相補正が強すぎる場合は、Level Correctionとは独立してPhase Correctionを下げます。
Low-frequency Phase Extensionは初期状態ではオフです。Phase Lowより低い帯域まで余剰位相を補正したい場合だけ有効にします。低い周波数ほど長い時間窓を使うため、より後まで続く室内応答が解析に含まれることがあります。まずはReference Pointに合意成分を使い、複数のリスニング位置で比較してください。低域のタイミングが位置によって不安定になる場合はオフに戻します。
Reverb Correctionは初期状態では0%です。Correctionモードで、Reverb Max Freq: 250 Hzを初期値のまま少しずつ上げてください。リスニング範囲での有効性を保ちながら低域の残響を抑えられます。Reverb Max Freqを高域へ広げるのは、単一のリスニング位置に特化した最適化になることを理解したうえで行ってください。
Room EQはスピーカー距離を自動調整しません。Delayは、チャンネルごとに異なる測定を使っている場合でも、インスタンス全体で共有されます。チャンネルグループごとに異なる手動遅延が必要な場合にのみ、Room EQを分けて使用してください。
測定データは端末内の参照です。URLやプリセットには選択した測定の名前と識別子だけが保存され、測定データ自体は含まれません。デスクトップ版 EffeTune の測定画面で 測定JSONのエクスポートにインパルス応答を含める を有効にして書き出し、mImageViewer の Room EQ で取り込んでから選択してください。このオプションは初期状態ではオフで、インパルス応答を含めるとファイルが数十MB大きくなる場合があります。測定が見つからない場合は警告が表示され、Room EQは古い補正データを使わず時間を合わせたバイパスになります。
パラメータ
Measurement - チャンネル別の指定がない場合に使う、共有の保存済み周波数応答測定を選びます。一覧には測定名、ポイント数、インパルス応答がある場合は
IRが表示されます。測定を追加・変更した後は Refresh measurements を使います。Measurement Ch N - インスタンスのバス選択が扱うチャンネルごとに用意された、任意の上書き用セレクタです。初期値の (共有) のままにすると上のMeasurementを使用し、別の保存済み測定を割り当てるとそのチャンネル専用のフィルターになります。すべてのチャンネルを (共有) のままにすると、単一の共有フィルターだった従来の動作と完全に同じになります。
Delay - このインスタンスを通るすべてのチャンネルに0~20 msの手動遅延を加えます。プラグインが表示する処理遅延には含まれません。
Phase - FIRフィルターの位相処理を選びます。
Minimum - 最も遅延の少ないミニマムフェーズの振幅補正です。
Linear - リニアフェーズの振幅補正です。入力の相対位相を保ちますが、選択したタップ数の半分に相当する遅延が加わります。
Correction - ミニマムフェーズの振幅補正に、保存されたインパルス応答に含まれる余剰位相の補正を加えます。Phase CorrectionはDirect Window内で解析した直接音成分を調整し、Reverb CorrectionはReverb Window内で解析した後続の残響をさらに打ち消せます。群遅延の変動を抑えつつ、ミックスドフェーズフィルターのために
Taps / 2サンプルの遅延を保持します。設計時には、主インパルスのエネルギー位置を、同じLevel Correction設定のMinimum応答に合わせます。すべてのチャンネルが共有の測定を使う場合は、そこから1つのフィルターを設計し、ルーティングされたすべてのチャンネルにそのまま同じフィルターを適用するため、Level Correction、Phase Correction、Reverb Correctionを変えても、チャンネル間に固有のタイミング差は生じません。チャンネルごとに別の測定を割り当てた場合は、そのチャンネル用のフィルターを個別に設計します。Reference PointとDirect Windowを使用し、インパルス応答データが必要です。
Taps - FIR長を8192、16384、32768、65536、131072から選びます。タップ数を増やすと低域の分解能が上がる一方、遅延、メモリー使用量、フィルター設計時間が増えます。LinearとCorrectionでは
Taps / 2サンプルの遅延が加わります。Latency - 畳み込みエンジン先頭部の遅延を0、128、256、512、1024サンプルから選びます。小さい値ほど遅延は減りますが処理負荷が高くなります。LinearとCorrectionでは通常、FIR長の半分による遅延のほうが大きくなります。
Smoothing - 0.02~1.00オクターブのガウス平滑化です。値を大きくすると広く穏やかな補正になり、小さくすると細かな応答変化まで追従します。
Phase Smoothing - Correctionで測定した直接音の余剰位相補正に適用する、0.02~1.00オクターブのガウス平滑化です。初期状態のAutoではSmoothingと同じ値を使い、振幅補正と位相補正を同じ強さで平滑化します。Autoを外すと位相補正だけを独立して平滑化でき、その時点の実効値が開始値になります。値を小さくするほど細かな時間変化まで追従し、大きくするほど穏やかな位相補正になります。Reverb Correctionには影響せず、そちらはReverb Smoothingを使います。
Correction Low / Correction High - 自動振幅補正の下側/上側の遷移境界を設定します。ガウス平滑化を行う前は、境界上とその外側の自動補正を0 dBとして扱います。そのため、Smoothingによって、補正がどの程度緩やかに減衰し、各境界を越えてどこまで広がるかが決まります。上側の境界は、音声サンプリング周波数のナイキスト周波数より下に余裕を残すよう内部でも制限されます。
Direct Window - Correctionで直接音の立ち上がり後から使用する測定応答の長さを1~50 msで指定します。Phase Low以上ではこの長さを固定して解析し、Low-frequency Phase Extensionが有効な場合は低域へ伸ばす時間窓の最短値として使います。長くするとAutoのPhase Lowをより低くできる一方、室内反射も多く含まれます。
Phase Low - Low-frequency Phase Extensionがオフの場合に、Correctionで測定した余剰位相を補正する下限周波数を20~20000 Hzで指定します。拡張を有効にすると、固定長のDirect Windowを使う帯域と、低域へ向かって時間窓を長くする帯域の境界になります。初期状態のAutoでは、Correction Lowと、Direct Window内に3周期が収まる周波数(6 msでは500 Hz)の高い方を使用します。Autoを外すと手動設定できます。手動値はCorrection Lowとは独立しており、Direct Window内に1周期が収まる周波数(6 msでは167 Hz)より低く設定できません。Autoの値より低くすると、時間窓による打ち切りや室内反射の影響を受けやすくなります。
Low-frequency Phase Extension - Phase Lowより低い周波数で、低域ほど長い周波数依存の時間窓を使い、測定した余剰位相の補正をCorrection Lowへ向かって広げます。Phase Low以上では固定長の時間窓で補正します。初期状態はオフです。Correctionでのみ使用でき、MinimumとLinearでは選択内容を保持したまま操作できなくなります。測定したインパルス応答が要求された低域の時間窓より短い場合は、利用可能な短い測定時間窓を使って補正を試み、警告を表示します。実際に生成したFIRが時間方向の余裕に近づく場合に限り、補正量を減らすか補正を省略します。それ以外のRoom EQフィルターは引き続き有効です。この拡張はPhase Correctionが0%より大きい間だけ機能し、0%ではReverb Correctionを併用していても動作しません。
Max Boost - 応答の自動反転で生じるブーストを0~18 dBに制限します。この制限はガウス平滑化の前に適用されるため、上限に達した部分も周囲の補正曲線へ滑らかにつながります。カットは制限しません。
Level Correction - 自動振幅補正を0~100%の範囲で1%刻みに調整し、dB単位で比例させます。0%では自動レベル補正が無効になりますが、Phase Correction、Additional EQ、Delay、Gainは引き続き有効です。
Phase Correction - 測定した直接音の余剰位相の補正を0~100%の範囲で1%刻みに調整し、Correctionでのみ機能します。MinimumとLinearでは操作できません。Reverb Correctionとは独立しており、0%では直接音の余剰位相補正が無効になりますが、Level CorrectionとReverb Correctionは引き続き有効です。Level Correctionの振幅特性に本質的に伴うミニマムフェーズの位相変化は残るため、Phase Correctionが調整するのは、測定から加える直接音の余剰位相補正だけです。
Reverb Correction - 測定した室内残響の余剰位相補正を0~100%の範囲で1%刻みに調整し、Correctionでのみ機能します。MinimumとLinearでは設定値を保持したまま操作できなくなります。初期値の0%では残響補正は完全にオフで、Room EQはこのコントロールがない場合とまったく同じ動作になります。0%より大きくすると、Reverb Windowの範囲で応答を解析し、Reverb Max Freqまでの帯域で、直接音より後に続く余剰位相をPhase Correctionとは独立して補正します。振幅補正の目標は変更しません。全IRの周波数特性補正には、引き続きSmoothingとLevel Correctionが使われます。合意成分では、各測定ポイントの遅延を信頼度で重み付けして平均します。利用できる残響の時間窓または周波数帯域が小さすぎる場合、または合成した位相補正が実際に生成したFIRの時間方向の余裕に安全に収まらない場合は、残響補正を減らすか省略して警告を表示します。それ以外のフィルターは引き続き有効です。
Reverb Window - 直接音の立ち上がり後の測定応答をどこまで残響補正の解析に使うかを20~1000 msで指定します。長くするほど、より後まで続く残響を含めます。実効時間窓は、測定したインパルス応答の立ち上がり後に利用できる長さによって、表示値より短くなることがあります。解析する時間窓は、Tapsが小さいという理由だけでは短縮しません。解析後に、求めた位相補正が実際のFIRに収まるかを別途判定し、収まらない補正だけを減らすか省略します。利用可能な時間窓がDirect Windowを超えない場合、またはReverb WindowをDirect Window以下に設定した場合は、残響補正を省略して警告を表示します。それ以外のフィルターは引き続き有効です。
Reverb Max Freq - 残響補正の上限周波数を20~20000 Hzで指定します。初期値の250 Hzでは、近い位置どうしで残響の振る舞いが安定している低域に補正がとどまります。位相の補正は、Reverb Max Freq、Correction High、サンプリング周波数の45%のうち最も低い値までに実効的に制限されます。Correction Highがすべての補正の上限であり、Reverb Max Freqはその内側で残響用の上限を選びます。値を上げると残響補正が高域まで広がりますが、高域の残響は座る位置ごとに異なり、気温によっても変化するため、結果は測定したリスニング位置でのみ有効になります。実効上限より下に帯域が残らない場合、たとえばCorrection Lowを実効上限以上に設定した場合は、残響補正は全体が省略され、警告が表示されます。それ以外のフィルターは引き続き有効です。
Reverb Smoothing - Reverb Windowで解析した余剰位相の遅延だけに適用する、0.02~1.00オクターブのガウス平滑化です。値を小さくすると細かな時間構造まで追従し、大きくすると広く穏やかな位相補正になります。周波数特性の補正には影響せず、そちらにはSmoothingが使われます。複数ポイントの測定では、ポイント間の一致度を診断する周波数スケールとしても使われます。
Reference Point - Correctionで直接音と残響の両方の解析に使う余剰位相をどこから得るか選びます。初期値およびフォールバックの 合意成分(全ポイント) では、各ポイントを時間整列し、深いディップ付近の信頼性が低い位相の重みを下げて、余剰遅延を加重平均します。ポイント名を選ぶと、その1点の余剰位相だけを使います。振幅補正には常に全ポイントが使われます。選択したポイントを後で削除した場合は、合意成分へ戻ります。
Additional EQ(FIRに統合) - 5Band PEQと同じグラフとコントロールを使う、目標特性調整用の5バンドです。各バンドのEnable、Peak/Low shelf/High shelf、20 Hz~20 kHzの周波数、-20~+20 dBのGain、0.1~10のQを設定できます。別のIIR段では処理せず、応答をFIRフィルターに組み込みます。位相はLinearモードではゼロ位相、MinimumおよびCorrectionではミニマムフェーズになります。Max Boostが制限するのは室内応答の自動反転によるブーストであり、Additional EQで意図的に加えたブーストではありません。
Gain - 補正経路とバイパス経路を合成した後、全チャンネルに-12~+12 dBを適用します。
ビジュアル表示
グラフ外の Graph ラジオボタンで、Frequency、Phase、Min Group Delay、Excess Group Delay、Impulse の表示を切り替えます。
Phase では、横軸を対数周波数、縦軸を-180°から180°の位相として表示します。グレー線が補正前、緑線が実際のFIR適用後を計算した位相です。両方から測定した立ち上がり時刻を取り除き、補正後からはFIRの既知の一定遅延も取り除くため、それらの固定時間差に埋もれずフィルターによる位相変化を確認できます。インパルス応答データのない測定では、利用できないことを示すメッセージが表示されます。
Min Group Delay では、振幅特性から求めた最小位相成分の遅延を表示します。Excess Group Delay では、その最小位相成分を差し引いた残りの遅延を独立して表示するため、反射などによる非最小位相の時間変化を確認しやすくなります。どちらも横軸は対数周波数、縦軸はミリ秒です。値は測定した立ち上がりを差し引いた絶対的な群遅延として表示し、補正後からはFIRの既知の一定遅延も差し引きます。1kHzで再基準化しないため、1kHzが必ず0 msになるわけではありません。グレー線が補正前、緑線が実際のFIR適用後を計算した結果です。群遅延の解析は画面上の点の間隔とは独立しており、位相のアンラップも行いません。Smoothingは固定された対数周波数の解析グリッド上で適用され、値を小さくするほど細かい変化まで見えます。Min Group Delayの縦軸は表示中の曲線に合わせて自動調整されます。Excess Group Delayの縦軸は-100~+100 msに固定されますが、曲線が範囲外に出た場合も、読み取り値はクリップされずに表示されます。インパルス応答データのない測定では、利用できないことを示すメッセージが表示されます。
Impulse では、Reference Pointで選んだポイントの波形を表示します。合意成分を選んだ場合は、時間整列した全ポイントの平均波形です。表示範囲は測定した立ち上がりの2 ms前から、5 ms、Direct Window、Reverb Correctionが0%より大きい場合は50 msを上限としたReverb Windowのうち、最も長いものまでです。グレー線が補正前、緑線が実際のFIR適用後を計算した結果です。測定した立ち上がりを補正前後に共通する0 msの基準とし、補正後からはFIRの既知の一定遅延だけを差し引くため、相対的なピーク位置やプリリンギングを比較できます。両方を同じ正規化振幅スケールで描画します。Low-frequency Phase ExtensionとReverb Correctionでは、この表示範囲より後の応答まで解析することがあります。表示用に限り20 kHz以上の成分を除去しています。補正フィルターや音声処理には影響しません。インパルス応答データのない測定では、利用できないことを示すメッセージが表示されます。
Frequency では、横軸を対数周波数、縦軸をdB単位のGainとして表示します。
Preview channel セレクターは、複数のチャンネル分のフィルターを設計したときだけグラフ外に表示され、グラフとAdditional EQのベース特性としてどのチャンネルの応答を表示するかを選びます。音には影響しません。
グラフにマウスを重ねるか、タッチしてなぞると、その位置で各曲線にドットが付き、値が凡例の名前の右に表示されます。周波数(Impulseでは時間)はその上に表示されます。
白い2本の縦の点線は、Correction LowとCorrection Highで設定した周波数を示します。
番号付きマーカーが5つのバンドに対応します。左右へドラッグするとFrequency、上下へドラッグするとGainが変わり、無効なバンドは暗く表示されます。
薄いグレーの線は、グラフ共通の表示オフセットを加えた、平滑化済みの測定周波数特性です。
細い薄緑色の線は、選択した測定と現在のRoom EQ補正設定から計算した、Additional EQ適用前の自動補正特性です。
明るい緑色の線は、その自動補正にAdditional EQを加えた特性です。この合成振幅特性がFIRへ組み込まれます。
白色の線は、薄いグレーの測定特性に明るい緑色の合成補正特性を加えた、補正後の推定特性です。グレー線と白線には同じオフセットを加え、Max Boostによる制限がなければ100%の自動補正が揃える基準Gainを0 dBとして表示します。Max Boostにより補正しきれない偏りは残り、Additional EQはこの基準に対する意図的な特性変更として表示されます。白線は再測定した結果ではなく、計算上のプレビューです。
コントロール下のステータスには、総処理遅延、FIR分解能、フィルターアセットがbypass、staged、preparing、active、errorのどの状態かが表示されます。