用 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 版本算錯 → 反轉炸掉
操作
- 同時選 L0 和 R0
- Measurement Actions → Remove IR Delays
- 觀察 phase 響應有變化
- 多點幾次確認 phase 完全不動了
- 看 Impulse Graph 應該所有測量都對齊到 t=0
確認
- Phase 響應結尾的「irregularities」應該消失
- Impulse peak 在 t=0
Step 2 — 建立 Minimum Phase 版本
對 L0
- 選 L0
- Measurement Actions → All SPL → Minimum Phase Version
- Include calibration file effects = ✓(重要!要把麥克風校正檔的相位也納入)
- 其他選項不勾
- Make minimum phase copy
- 得到 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
操作
- Controls → Trace Arithmetic
- A = L0_MP
- B = 不重要
- Action =
1/A - Regularization = 25%
- 25% 表示 0 dB boost(不會 boost 任何頻段)
- 不像 video 3 給 8%(5 dB boost),本版不 boost,更安全
- Lower limit =
none(從最低頻開始) - Upper limit = 225 Hz
- 這是 OCA 在他房間實測 210–240 Hz 範圍找出最佳值
- 與 Schroeder 頻率對應(小房間約 200–300 Hz)
- 你的房間可能略不同但 225 Hz 是好的起點
- 因為 REW 內部 FFT 計算會在 200 Hz 開始 fade,填 225 確保到 200 Hz 都有效
- Target level =
auto(讓 REW 自動算) - Exclude notches = ✗(不影響)
- 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
操作
- 選 L_filter 和 R_filter
- File → Export → Impulse Responses as WAV
- 格式設定:
- Sample rate:
48 kHz(REW 內部 native) - Bit depth:32-bit float(最大精度)
- Apply IR Windows before export = ✗ 不要勾
- 選 Stereo file 或分別 mono
- Sample rate:
- 左聲道指向 L_filter,右聲道指向 R_filter(不要弄反!)
- 命名
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
- Trace Arithmetic
- A = L0(原始 — 非 minimum phase 版)
- B = L_filter
- Action =
A × B - 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:
- 把 Harman target curve 正規化到 1 kHz = 0 dB(純文字檔調整)
- Trace Arithmetic
- A = L_filter(從 Step 3 出來的)
- B = Harman_target
- Action =
A × B - Generate → 得 L_filter_with_target
- 重複給 R
- 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 的相位算錯
建立流程
- 匯入原始校正檔(如
UMIK-1_xxx_0deg.txt) - 在 REW 載入這支「校正檔當 measurement」
- All SPL → Minimum Phase Version
- 設定:
- Include calibration file effects = ✗(不需要 — 因為這就是校正檔本體)
- Replicate data outside range = ✓ 必勾(避免 FFT 範圍邊界 artifact)
- Make minimum phase copy
- Export as text
- 命名
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 在「全頻段反轉法」之後的進化版,核心更動:
- 只修 Schroeder 以下 — 因為高頻量測不可靠
- 先 minimum phase 再 invert — 數學上才有穩定反矩陣
- 不依賴 target curve — 反轉本身自動 level match
- 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。