用 REW 做「最小相位反轉濾波器」DRC — 進化版

原片REW 應用:簡潔高效的 DRC 方法(最小相位反轉濾波器) 講者:OCA(OCA's Audio Channel) 長度:29 分 52 秒 核心差異:跟前一版反轉法相比,只校正 Schroeder 頻率以下(房間共振區),高頻不動 適用對象:玩過前一版反轉法、或玩過 Dirac/Audyssey 但覺得「全頻段校正」反而失真者 產生檔案:minimum phase IIR filter(convolution wav) 完成時間:< 15 分鐘 譯註:本教學由助理依逐字稿翻譯整理為繁中結構化教學。技術名詞保留英文以利對照 REW 介面。


🆚 vs 前一版反轉法(video 3 — 用 REW 自製 FIR 反轉濾波器

項目 前一版(全頻反轉) 本版(最小相位反轉)
校正頻段 全頻段 僅 Schroeder 以下 (~225 Hz↓)
Target curve 需 Harman target 不需要
音量對齊 手動算 SPL offset 自動對齊(minimum phase 內建)
Step 數 11 步 6 步
高頻處理 完全不動
副作用 高頻可能被「修壞」 高頻保留喇叭原音色
適合誰 初學者完整體驗 玩家進階版

💬 OCA 自述:「This is sort of next-level, folks. ... produces remarkably better results than the quite popular inversion method I have introduced about a year ago.」


🎯 核心理念

為什麼只校正 Schroeder 以下?

高頻在主聆位無法可靠量測

  • 20 kHz 波長 ≈ 1.7 cm → 比頭部小幅度移動還短
  • omnidirectional microphone(全向麥克風)測不出方向性高頻波
  • 反射方向受房間表面材質、形狀、吸收係數、入射角度、頻率等多重影響
  • 「修高頻」聽起來像 marketing 故事,實際害多於益

反觀低頻:可靠且應該修

  • 200 Hz 波長 ≈ 1.7 公尺,比喇叭單體還大 → 真正全向
  • 一支麥克風就能精準捕捉聆位整體低頻聲壓
  • Minimum phase IIR filter 修這段穩定有效

OCA 對 Dirac/Audyssey 的批評

「Trying to correct the entire frequency range is a major flaw. ... It's a tempting marketing story but it's not an accurate anticipation of the human response to a very complex sound field.」

→ 「修全頻」是大陷阱。

為什麼選最小相位(Minimum Phase)

數學原因

  • 任何頻率響應可能對應多種相位響應
  • 只有最小相位版本是「可反轉」(invertible) — Z-plane 中極點與零點都在單位圓內
  • 反轉時:極點變零點、零點變極點 → 只有最小相位系統的反轉穩定

直觀比喻(OCA 自創)

系統 是否 minimum phase 為何難控制
騎腳踏車 ❌(trail 設計帶來初始反向) 要學會反方向轉龍頭才能直走
倒車入庫 ❌(先要往反方向才能進去) 違反直覺
投資理財 ❌(先付錢才有回報) 時間延遲 + 反向動作
吃飯到產生能量 ❌(消化要時間) 同上

💡 核心:以上系統都「難控制」。腎臟同理 — 非最小相位的房間響應就是不好控制。 要先轉成 minimum phase,才有辦法 invert 修正

跟一般 minimum phase IIR filter 差別

  • REW Auto EQ 也產 minimum phase IIR filter
  • 但兩者的相位響應不同
  • 本方法(先 minimum phase 響應再反轉)→ 相位也被修到
  • 一般 IIR EQ → 只修幅度、相位留 excess phase

🛠️ 前置條件

項目 要求
REW 最新版(測試版有 API integration)
Mic UMIK-1 或 UMIK-2
量測前置 已對 L、R 各做多次量測並做 vector average(如 L1/L3/L5/L7 取平均得 L0)
量測位置 單一主聆位(不要跨座位平均 — 會犧牲精度)
麥克風校正檔 先做好 minimum phase 版本(見最後章節)

⚠️ 不要做的事

  • ❌ 在主聆位周圍多點平均(會稀釋主聆位精度)
  • ❌ 用便宜麥克風但沒做 minimum phase 校正檔(相位反轉會錯)
  • ❌ 想要「全房間均勻低頻」靠多麥克風 → 直接買多顆 subwoofer才對

📋 完整流程(6 步)

Step 1:移除測量檔的 IR delay(remove IR delays)
Step 2:對 L0、R0 分別建立 minimum phase 版本
        → L0_MP、R0_MP
Step 3:對 L0_MP 做 1/A 反轉,regularization = 25%、upper limit = 225 Hz
        → 得到 L_filter
Step 4:對 R0_MP 做同樣反轉 → R_filter
Step 5:Export 兩個 filter 為 stereo wav(48 kHz,32-bit float)
Step 6:載入 DSP 引擎(Roon / EqualizerAPO / JRiver)

整流程不需要 target curve、不需要算 SPL offset


Step 1 — 移除 IR Delay(最容易忘的關鍵)

為什麼

  • 主聆位放麥永遠無法剛好在絕對中央
  • 系統內部本身就有延遲
  • 不移除 → minimum phase 版本算錯 → 反轉炸掉

操作

  1. 同時選 L0 和 R0
  2. Measurement Actions → Remove IR Delays
  3. 觀察 phase 響應有變化
  4. 多點幾次確認 phase 完全不動了
  5. 看 Impulse Graph 應該所有測量都對齊到 t=0

確認

  • Phase 響應結尾的「irregularities」應該消失
  • Impulse peak 在 t=0

Step 2 — 建立 Minimum Phase 版本

對 L0

  1. L0
  2. Measurement Actions → All SPL → Minimum Phase Version
  3. Include calibration file effects = ✓(重要!要把麥克風校正檔的相位也納入)
  4. 其他選項不勾
  5. Make minimum phase copy
  6. 得到 L0_MP

對 R0 同樣做一次 → R0_MP

驗證

  • 比較 L0 vs L0_MP 的幅度:應該完全相同
  • 比較 L0 vs L0_MP 的相位完全不同(這就是 minimum phase 的特徵)

Step Response 視覺化驗證

對比 L0 與 L0_MP 的 step response:

  • L0(非最小相位):初始反向移動(向下衝),延遲一段才往上
  • L0_MP(最小相位):直接往上、無反向、無延遲

OCA 原話:

「This is why this is reversible.」


Step 3 — 反轉得 L Filter

操作

  1. Controls → Trace Arithmetic
  2. A = L0_MP
  3. B = 不重要
  4. Action = 1/A
  5. Regularization = 25%
    • 25% 表示 0 dB boost(不會 boost 任何頻段)
    • 不像 video 3 給 8%(5 dB boost),本版不 boost,更安全
  6. Lower limit = none(從最低頻開始)
  7. Upper limit = 225 Hz
    • 這是 OCA 在他房間實測 210–240 Hz 範圍找出最佳值
    • 與 Schroeder 頻率對應(小房間約 200–300 Hz)
    • 你的房間可能略不同但 225 Hz 是好的起點
    • 因為 REW 內部 FFT 計算會在 200 Hz 開始 fade,填 225 確保到 200 Hz 都有效
  8. Target level = auto(讓 REW 自動算)
  9. Exclude notches = ✗(不影響)
  10. Generate → 得到 L_filter

為什麼是 25% regularization

  • 25% = 0 dB boost cap
  • 50% = 反向(cut)
  • 0% = full boost(危險)
  • 25% 是只 cut 不 boost的甜蜜點 — peak 大的地方修下來、dip 不會被 boost 爆喇叭單體

為什麼上限 225 Hz

  • Schroeder 頻率 = 房間從「離散模態」過渡到「統計分布」的頻率
  • 一般居家 100 m³ 以下:200–400 Hz
  • 225 Hz 涵蓋了大多數小房間情境
  • 超過 Schroeder 不修(高頻不可靠)

Step 4 — 對 R 做一次 → R_filter

完全同 Step 3 操作。


Step 5 — Export 為 Convolution Wav

操作

  1. L_filterR_filter
  2. File → Export → Impulse Responses as WAV
  3. 格式設定
    • Sample rate48 kHz(REW 內部 native)
    • Bit depth32-bit float(最大精度)
    • Apply IR Windows before export = ✗ 不要勾
    • Stereo file 或分別 mono
  4. 左聲道指向 L_filter,右聲道指向 R_filter不要弄反!
  5. 命名 inverse_MP_filters_48k.wav

32-bit float 而非 16-bit 的原因

  • 反轉後 filter 在某些頻段可能有極大或極小值
  • 16-bit 會 clip 或失精度
  • 32-bit float 完全保留動態範圍

Step 6 — 載入 DSP 引擎

引擎別載入方式

引擎 動作
Roon Convolver 直接吃 wav(或包成 zip)
EqualizerAPO 直接 load
JRiver 新版也能直接吃 stereo wav(舊版要 config 文字檔)

🎁 OCA 隱藏推薦:JRiver + WDM driver

  • JRiver 一次性 license ~$70(vs Roon 年費)
  • General Features → WDM driver
  • 系統音訊(含 Tidal、Qobuz)都會走 JRiver DSP
  • 等於用 Roon 等級的整合,但花 fraction of the cost

🔍 驗收:模擬看修正後

不是必要步驟,但能 visual check

算 L corrected

  1. Trace Arithmetic
  2. A = L0(原始 — 非 minimum phase 版)
  3. B = L_filter
  4. Action = A × B
  5. Generate → 得到 L1

對 R 同樣 → R1

觀察

  • L1 / R1 應該:
    • 音量自動對齊(minimum phase 反轉本身就會 normalize)
    • 帶喇叭自然滾降形狀
    • 低頻 peak/dip 削平
  • 高頻完全不動(因為 upper limit = 225 Hz)

🎓 為什麼高頻別亂修(OCA 詳細論證)

1. 高頻測量本身就不準

  • omnidirectional mic 抓不到方向資訊
  • 反射模式因房間表面而異
  • multi-vector 互動形成 sound field,單點測量資訊不足

2. 人腦本來就在「過濾」這些反射

  • 演化讓我們可以區分喇叭音色 vs 房間反射
  • 小到中型房間:多向反射對人友善(甚至偏好)
  • 早期反射提升語音清晰度(學術研究)

3. 想用 gated windowing 也不行

  • 可以 filter 時間波動
  • 方向資訊永遠遺失
  • 嘗試修「擴散場」→ 高風險弄壞原本好聲

4. 例外

若你喇叭非常爛、 directivity 差到不行 → 修高頻可能有救。但祝你好運對付那種複雜度。


⚙️ 進階:合併 Harman Target Curve

若仍想要 Harman target shape:

  1. 把 Harman target curve 正規化到 1 kHz = 0 dB(純文字檔調整)
  2. Trace Arithmetic
  3. A = L_filter(從 Step 3 出來的)
  4. B = Harman_target
  5. Action = A × B
  6. Generate → 得 L_filter_with_target
  7. 重複給 R
  8. Export 這兩個檔案

💡 OCA 個人見解:「I don't need this. ... If you want more bass, then turn on the volume.」 高音量人耳本來就感受更多低頻,硬塞 Harman boost 是脫褲子放屁。


🎙️ 進階:建立麥克風 minimum phase 校正檔

為何必要

  • UMIK-1/UMIK-2 出廠校正檔只有頻率與振幅沒有相位資訊
  • 但麥克風在極低頻和極高頻確實有 phase shift
  • 不修正 → 反轉 filter 的相位算錯

建立流程

  1. 匯入原始校正檔(如 UMIK-1_xxx_0deg.txt
  2. 在 REW 載入這支「校正檔當 measurement」
  3. All SPL → Minimum Phase Version
  4. 設定:
    • Include calibration file effects = ✗(不需要 — 因為這就是校正檔本體)
    • Replicate data outside range = ✓ 必勾(避免 FFT 範圍邊界 artifact)
  5. Make minimum phase copy
  6. Export as text
  7. 命名 UMIK-1_xxx_0deg_MP.txt

驗證

  • 原校正檔:每頻率只有 SPL deviation
  • MP 版校正檔:每頻率有 SPL + phase 兩欄

使用

在 REW Preferences 換用 MP 版的校正檔,重新跑 Step 2 的 minimum phase version 建立流程。


❓ 常見問題

Q1:頻寬上限 225 Hz 跟我房間不合怎麼辦?

A:在 210–240 Hz 範圍微調,用同一首測試曲評估 clarity。OCA 在自己房間找到 225 是最佳。一般小房間 225 是好起點。

Q2:Regularization 25% 太弱?要不要降?

A:25% 已是 0 dB boost cap,再降就會 boost dip(危險,可能炸喇叭)。如果覺得修不夠 → 檢查 Schroeder 估計直接買 sub處理 dip。

Q3:為什麼前版反轉法要 Harman target,本版不要?

A:本版的反轉本身就自動 level-match(minimum phase 特性),不需 target curve 當 reference。OCA 也直言全頻段套 Harman 是不必要的。

Q4:能不能同時用 video 3 的全頻反轉 + 本版的 minimum phase?

A:不建議。本版就是 video 3 的進化,不互補而是替代。

Q5:高頻真的什麼都不動?

A:在 225 Hz 以下做反轉、以上維持原狀。喇叭原音色完全保留。

Q6:如何驗證 minimum phase 版本對了?

A:看 step response — minimum phase 版起點在 t=0、直接往上;非 minimum phase 會先往下再往上

Q7:可以加 crossover phase correction?

A:可以,在 inversion 之前做。OCA:「It will only have positive effects.」

Q8:跨房間或不同音量切換 profile?

A:每組(聆聽距離 / 音量 / 房間布置)都應該分別校正,存成不同 wav 切換。但本方法因為「不依賴 Harman target」,跨音量穩定性比 video 3 好。


🎯 OCA 心法精選

Most attempts to change the diffusive sound field in these areas will carry a high risk of causing an otherwise good speaker sound bad.」 在擴散場(高頻反射場)動手腳,高風險把好喇叭弄壞。

At the end of the day, this is why we have these systems — to listen to them.」 最後還是要靠耳朵聽。指標跟波形圖只是參考。

I still believe in listening to the system.」 不要被儀器綁架。


📚 延伸資源

  • REW 官網https://www.roomeqwizard.com
  • OCA YouTube 頻道:完整 audiophile crafting 系列
  • rePhase(相位精修):免費,OCA 另有專片
  • JRiver Media Center:~$70 一次買斷,配 WDM driver 是隱藏神器

📝 結語

本方法是 OCA 在「全頻段反轉法」之後的進化版,核心更動:

  1. 只修 Schroeder 以下 — 因為高頻量測不可靠
  2. 先 minimum phase 再 invert — 數學上才有穩定反矩陣
  3. 不依賴 target curve — 反轉本身自動 level match
  4. 6 步取代 11 步 — 簡單、快速、結果更好

This is it. This is the filter. ... There is no pre-echo or ringing of any kind despite the sharp phase adjustments.

如果你之前用 Dirac、Audyssey 但覺得「修完反而不像原本的聲音」— 試試只修低頻、高頻原音保留的這個方法。


本教學由助理依逐字稿(30 分鐘 / 4,329 英文字)翻譯整理為繁中結構化教學。產出日期:2026-06-07。