EQ 的全稱是 Equalizer,EQ 是 Equalizer 的前兩個字母,中文名字叫做“均衡器”。最早是用來提升電話訊號在長距離的傳輸中損失的高頻,由此得到一個各頻帶相對平衡的結果,它讓各個頻帶的聲音得到了均衡。
EQ 的主要功能是:透過多個濾波器對聲音某一個或多個頻段進行增益或衰減處理。
濾波器的種類
EQ的種類繁多,但是基本原理都是濾波器的疊加。根據引數的種類可以分為:圖示均衡器和引數均衡器。根據濾波器設計又有很多EQ的設計種類:
- 低通濾波器(lowpass):簡單的處理低頻效果,允許某部分低頻率經過;沒有增益效果。
- 高通濾波器(highpass):簡單的梳理高頻效果,允許某部分高頻率部分經過;沒有增益效果。
- 全通濾波器(allpass):穩定系統響應,使得聲音渾濁。
- 帶通濾波器(bandpass):允許一定頻率內透過。
- 帶阻濾波器(bandstop):使得一定頻率被壓制。
- 低切濾波器(Low Shelf):切斷中心頻率以下的頻率:可調節增益。
- 高切濾波器(High Shelf):切斷中心頻率以上的頻率:可調節增益。
- 峰值濾波器(Peak Filter):拉高中心頻率增益和頻率響應。
- 陷波濾波器(Notch Filter):壓制中心頻率的增益和頻率響應。
對於low Shelf和Low pass的區別可以參照網站。
圖示均衡器(Graphic Equalizer)
下圖是Audition設計圖示均衡器,該均衡器有10個頻段,每個頻段增益為-20dB~20dB。利用Audition中的引數濾波器得到一組EQ引數,然後將其應用到尖峰濾波器(peaking filter)
但是圖示均衡器有一個缺點,它只能改變固定頻帶的音量,假如我們想改變1.5kHz處的音量,就沒有辦法了,因為它只提供了調整1kHz和2kHz的推子。
引數均衡器
引數均衡器主要使用的是峰值濾波器,峰值濾波器在中心頻率附近提供提升或削減。遠離升壓或削減的增益是統一的,因此可以方便地將多個這樣的部分串聯起來。峰值濾波器的主要引數
- 取樣率$Fs$
- 中心頻率$Fc$:進行濾波的中心點,也即提升或者衰減頻段的峰點或谷點所對應的頻率
- 增益(gain/dB):中心頻率處的增益。增益表示輸出與輸入之比,$Gain=10*log(Out/In)$
- 品質因子Q:定義濾波器影響的頻率範圍,描述了某一頻率點提升或衰減的頻帶頻寬。以頻點為中心,Q 值越大,受影響的頻帶就越窄,Q 值越小,受影響的頻帶就越寬。中心頻率變化3dB的頻率差定義為Q值對應的頻帶頻寬。舉例而言,假設訊號的中心頻率設定為100Hz,對其施加EQ之後,該訊號從原幅度衰減了3dB的整個訊號被影響的頻率範圍是95Hz~105Hz,則受影響的頻帶頻寬為10Hz。$Q=\frac{100}{10}=10$
- 上下限頻率$f_1,f_2$:如果是特定的濾波器,一般指頻率響應強度下降到-3DB處的頻率
Audition有引數均衡器功能,這種 EQ 可以隨意定義頻點的頻率,在寫有Hz數的地方輸入不同的數值,再輸入更改的dB數(分貝),就能改變這個頻率的音量。
濾波器的設計
數字濾波器的設計型別:
無限衝激響應(Infinite Impulse Response,IIR):計算量小,實時性好。
- IIR是一種適用於許多線性時不變系統的屬性,這些系統的特徵是具有一個衝激響應$h(t)$,$h(t)$不會在特定點上完全變為零,而是無限期地持續。
有限衝激響應(Finite Impulse Response,FIR):穩定性好,相位可控。
- 在有限衝激響應(FIR)系統中,對於某個有限T,在時t>T時,衝激響應恰好變為零。
多濾波系統設計型別:
- 級聯型:將多個濾波器一個接著一個連線在一起,上一個濾波器的輸出作為下一個濾波器的輸入,類似於串聯。
- 並聯型:各個濾波器並行處理,最後才將結果合併在一起。
我們選擇二階的biquad(IIR)設計濾波器,biquad響應函式如下:
$$H(z)=\frac{b_0+b_1 z^{-1}+b_2 z^{-2}}{a_0+a_1 z^{-1}+a_2 z^{-2}}$$
上下同時除以$a_0$,對$a_0$進行歸一化
$$ H(z)=\frac{Y(z)}{X(z)}=\frac{b_0+b_1 \cdot z^{-1}+b_2 \cdot z^{-2}}{1+a_1 \cdot z^{-1}+a_2 \cdot z^{-2}} $$
轉換到時域上差分方程計算方法:
$$y(n)=b_0 \cdot x(n)+b_1 \cdot x(n-1)+b_2 \cdot x(n-2)-a_1 \cdot y(n-1)-a_2 \cdot y(n-2)$$
設計濾波器必要引數
- Fs:取樣頻率
- f0:中心頻率或角頻率或架中點頻率,取決於哪種過濾器型別
- dBgain:僅用於峰值和傾斜濾波器
- Q:對定義進行了調整,以便在相同Q和f0/Fs的情況下提高N dB,然後減少N dB,從而產生精確平坦的單位增益濾波器
- BW:以倍頻程為單位的頻寬(BPF 的 -3 dB 頻率之間)和陷波或中點 (dBgain/2) 增益頻率之間峰值均衡器
- S:"擱架斜率"引數(僅適用於擱置均衡器)。 當S=1時,陸架坡度儘可能陡並保持單調隨著頻率的增加或減少增益。 陸架坡度,在dB/倍頻程,對於 a 的所有其他值仍與 S 成比例固定 f0/Fs 和 dBgain。
然後計算幾個中間變數:
$A = \sqrt{10^{dBgain/20}}= 10^{dBgain/40}$ (for peaking and shelving EQ filters only)
$w0 = 2*pi*f0/Fs$
cos(w0)
sin(w0)
alpha = sin(w0)/(2*Q) (case: Q)
= sin(w0)*sinh( ln(2)/2 * BW * w0/sin(w0) ) (case: BW)
= sin(w0)/2 * sqrt( (A + 1/A)*(1/S - 1) + 2 ) (case: S)
供參考: 頻寬與Q的關係為
- 帶BLT的數字濾波器:$1/Q = 2*sinh(ln(2)/2*BW*w0/sin(w0))$
- 模擬濾波器原型:$1/Q = 2*sinh(ln(2)/2*BW)$
shelf slope 與Q的關係為:$1/Q = sqrt((A + 1/A)*(1/S - 1) + 2)$
$2*sqrt(A)*alpha = sin(w0) * sqrt( (A^2 + 1)*(1/S - 1) + 2*A ) $是一個方便的中間變數,用於shelf EQ濾波器。
最後,計算每種濾波器的係數,以及對應的模擬濾波器原型 H(s):
低通濾波器
LPF:$H(s) = 1 / (s^2 + s/Q + 1)$
b0 = (1 - cos(w0))/2
b1 = 1 - cos(w0)
b2 = (1 - cos(w0))/2
a0 = 1 + alpha
a1 = -2*cos(w0)
a2 = 1 - alpha
高通濾波器(High Pass Filter)
HPF:$H(s) = s^2 / (s^2 + s/Q + 1)$
b0 = (1 + cos(w0))/2
b1 = -(1 + cos(w0))
b2 = (1 + cos(w0))/2
a0 = 1 + alpha
a1 = -2*cos(w0)
a2 = 1 - alpha
帶通濾波器(增益 = Q )
BPF:$H(s) = s / (s^2 + s/Q + 1)$ (constant skirt gain, peak gain = Q)
b0 = sin(w0)/2 = Q*alpha
b1 = 0
b2 = -sin(w0)/2 = -Q*alpha
a0 = 1 + alpha
a1 = -2*cos(w0)
a2 = 1 - alpha
帶通濾波器( 0 db增益)
BPF: $H(s) = (s/Q) / (s^2 + s/Q + 1)$ (constant 0 dB peak gain)
b0 = alpha
b1 = 0
b2 = -alpha
a0 = 1 + alpha
a1 = -2*cos(w0)
a2 = 1 - alpha
Notch濾波器
notch: $H(s) = (s^2 + 1) / (s^2 + s/Q + 1)$
b0 = 1
b1 = -2*cos(w0)
b2 = 1
a0 = 1 + alpha
a1 = -2*cos(w0)
a2 = 1 - alpha
全通濾波器
APF: $H(s) = (s^2 - s/Q + 1) / (s^2 + s/Q + 1)$
b0 = 1 - alpha
b1 = -2*cos(w0)
b2 = 1 + alpha
a0 = 1 + alpha
a1 = -2*cos(w0)
a2 = 1 - alpha
峰值濾波器
peakingEQ: $H(s) = (s^2 + s*(A/Q) + 1) / (s^2 + s/(A*Q) + 1)$
b0 = 1 + alpha*A
b1 = -2*cos(w0)
b2 = 1 - alpha*A
a0 = 1 + alpha/A
a1 = -2*cos(w0)
a2 = 1 - alpha/A
低切濾波器
lowShelf: $H(s) = A * (s^2 + (sqrt(A)/Q)*s + A)/(A*s^2 + (sqrt(A)/Q)*s + 1)$
b0 = A*( (A+1) - (A-1)*cos(w0) + 2*sqrt(A)*alpha )
b1 = 2*A*( (A-1) - (A+1)*cos(w0) )
b2 = A*( (A+1) - (A-1)*cos(w0) - 2*sqrt(A)*alpha )
a0 = (A+1) + (A-1)*cos(w0) + 2*sqrt(A)*alpha
a1 = -2*( (A-1) + (A+1)*cos(w0) )
a2 = (A+1) + (A-1)*cos(w0) - 2*sqrt(A)*alpha
高通濾波器
highShelf: $H(s) = A * (A*s^2 + (sqrt(A)/Q)*s + 1)/(s^2 + (sqrt(A)/Q)*s + A)$
b0 = A*( (A+1) + (A-1)*cos(w0) + 2*sqrt(A)*alpha )
b1 = -2*A*( (A-1) + (A+1)*cos(w0) )
b2 = A*( (A+1) + (A-1)*cos(w0) - 2*sqrt(A)*alpha )
a0 = (A+1) - (A-1)*cos(w0) + 2*sqrt(A)*alpha
a1 = 2*( (A-1) - (A+1)*cos(w0) )
a2 = (A+1) - (A-1)*cos(w0) - 2*sqrt(A)*alpha
參見本文程式碼:https://gitee.com/LXP-Never/py-equalizer。用python畫出各種型別的EQ頻響曲線,並且進行串聯濾波(順便幫忙點個讚唄)
上述程式碼需要人工設定中心頻率fc,Q值和dBgain,這些引數的調節需要一定的經驗,並可藉助一些軟體如Audition快速方便地獲取合適的值。
點選Audition選單欄的【效果】——【濾波與均衡】——【引數均衡器】,調出引數濾波器。在介面中,可見“頻率”(也即中心頻率),“增益”和“Q/寬度”,在新版的Audition中還有一欄“頻段”,是濾波器識別符號。其中【HP】和【LP】,即高通和低通,高通指允許高頻透過,濾掉低頻訊號;低通指允許低頻透過,濾掉高頻訊號。可任意修改【HP】對應的頻率,比如設定高通【HP】頻率為100Hz,即允許100Hz以上的頻率透過,去除100Hz以下噪聲;同時可以修改【HP】和【LP】的增益斜率,比如修改增益斜率為24dB/Oct,即低頻的曲線斜率為24dB/Oct(分貝/倍頻程)。Au中的EQ處理方法——圖形均衡器和引數均衡器
音訊頻率知識
HF(高頻):6kHz-16kHz,影響音色的表現力、解析力。像音樂盒那種尖銳的聲音.
MID HF(中高頻):600Hz-6kHz,影響音色的明亮度、清晰度。 像大提琴那種中規中矩的聲音.
MID LF(中低頻):200Hz-600Hz,影響音色和力茺和結實度。像大提琴那種中規中矩的聲音.
LF(低頻):20Hz-200Hz,影響音色的混厚度和豐滿度。像低音炮那種低沉的聲音.
人耳可分辨的聲音訊率大約是在20Hz~20kHz,因此調音臺中的四段均衡器把其分為的4個頻段,根據德國柏林音樂研究所資料介紹,它們是:
31Hz——這個頻段需要播放器材有比較好的低頻下潛能力,如果沒有,當然就不容易聽見,這個頻段主要影響底鼓的延續音(sustain),就是踩下底鼓之後嗡嗡的聲音,增強這個頻段可以讓音樂渾厚。
63Hz——這個頻段是底鼓所在的主要頻段,如果單純把這個頻點增強10dB,最明顯的感受就是底鼓聲變得很大,甚至破了,所以增強這個頻段有助於音樂更厚實。
125Hz——這就主要是貝斯的頻段了,貝斯常用的音高位置的音色主要在這一頻段,當然不是說這一頻段只有貝斯,增強這一頻段音樂會更紮實。
基本上,如果增強了上述三個頻段,你想要重低音的話就有了,這裡說一下遮蔽效應,簡單說就是比如你把125Hz調的很大,那麼靠近125Hz的、dB數小的頻率就會被遮蔽,聽不到了。
250Hz——這個頻段多了聲音會很髒,少了聲音會很乾淨,硬實,但它同時也是人聲、絃樂、手鼓等等音色的主要共鳴點的所在頻段。可以想象在水下的那種轟隆隆的感覺,是這一頻段帶給我的主要感受。
500Hz——和250Hz的感受相似,這一頻段的增強會使一些鋪底的合成器pad音色凸顯出來,會使更多的男聲凸顯出來,這一頻段多了還是會渾濁,稍微增加一些會使音樂有更多溫暖、親近的感覺。
1000Hz——這個頻段可以算作一個分水嶺,大部分樂器的基頻都在200—1000Hz,所以調節1000以下的頻段會更多的影響音色(不是影響音量),增強這一頻段會使音色更明亮。
2000Hz——增強人聲的可懂性,說白了聽得更清楚,包括吉他貝斯的琴絃摩擦的聲音,電吉他的尖刺感,兩元店大喇叭裡的廣告,都可以讓你更多的體會這一頻段的特點,所以增強這一頻段讓音樂更清晰。
4000Hz——我個人理解這一頻段是很多音色的鑲邊,就像是相框的邊框,衣服或者窗簾的下襬,很多時候這一頻段可以讓聲音更完整,更具細節,更多現場感,但是過多的提升也會讓人覺得刺耳,聽覺疲勞。5000Hz以上是幾乎所有樂器的諧波成分,也是人耳最敏感的頻段,比如把5000Hz提升6dB,有時會讓人覺得整個音量被開大了一倍,如果過多的衰減則會讓音樂聽起來很遠。
8000Hz——這個頻段比較明顯的是各種鑔聲、絃樂摩擦琴絃的聲音、還有就是齒音,比如提升該頻段會放大歌手四、是、次、字一類的發音。一般很少會大幅提升這一頻段。
16000Hz——事實上這一頻段確實很難分辨,如果把一首歌的16000Hz提升10dB,我一般會去聽各種鑔,鑔會顯得更亮更大聲了,反之,鑔聲會顯得小了、暗了。如果不仔細聽,會感覺音樂沒什麼變化。
參考
【知乎】P8:濾波器(Filter)
【SeS】3-BAND TONE CONTROL / 7-BAND PARAMETRIC EQUALIZER
【stanford】Peaking Equalizers
【musicdsp】RBJ Audio-EQ-Cookbook ;CSDN翻譯
【github】Equalizer
【github】beqdesigner