李飛鵬 張維強 徐 晨
摘 要:根據語音的基音頻率較低這一特點,利用小波變換的濾波特性剔除了語音的高頻部分,然后再利用計算速度較快的自相關函數法檢測語音的基音頻率,有效剔除了高頻共振峰和噪音的影響,其估計基音頻率準確性高,穩定性好,運算速度較快。實驗結果表明,此方法是一種有效的基音頻率檢測算法。
關鍵詞:小波變換;自相關函數;基音頻率;高頻共振峰
中圖分類號:TP391.42 文獻標識碼:B 文章編號:1004-373X(2009)04-121-03
Algorithm for Fundamental Frequency Detection Based on Wavelet Transform and ACF
LI Feipeng,ZHANG Weiqiang,XU Chen
(Institute of Intelligent Computing Science,Shenzhen University,Shenzhen,518060,China)
Abstract:According to the fundamental frequency of speech is low,the filter charater of wavelet transform is applied to reject the high-frequency signal of speech,and then detecting the fundamental frequency of speech by using ACF which is a simple and effective algorithm.This Algorithm can restrain effect of speech signal formant and noise,and is characterized by calculation quickness and estimation accuracy.Experiments show thatit is a valid algorithm for fundamental frequency detection.
Keywords:wavelet transform;ACF;fundamental frequency;high frequency formant
0 引 言
基音周期(Pitch)是指發濁音時聲帶振動所引起的周期運動的時間間隔,而基音頻率是基音周期的倒數。由于基音周期只具有準周期性,所有只能采用短時平均方法估計該周期,這個過程也稱為基音檢測(Pitch Detection)[1]。在對說話人確認和辨認研究中,基音頻率是一個重要的參數,因此準確檢測基音頻率有著十分重要的意義。
到目前為止,基音檢測的方法主要有短時自相關函數法[2]、平均幅度差函數法[3]、倒譜解卷積法[4]、Hilbert-Huang變換法[5]等。但尚未找到一個完善的可以適用于不同語音狀況和環境的基音檢測算法。近幾年,小波分析理論發展迅速,它已經被廣泛地應用到信號處理中。這里利用小波變換的濾波特性對信號進行預處理,然后利用自相關函數法檢測語音的基音頻率,該方法利用小波濾波特性有效剔除了高頻共振峰和噪音的影響,估計基音頻率準確性高,穩定性好,運算速度較快。實驗結果表明,此方法是一種有效的基音頻率檢測算法。
1 小波變換及其濾波特征
在多分辨分析中,塔式正交分解L2(R)Э占洌
ИL2(R)霿J-1⊕WJ-2⊕…⊕W-J⊕V-J(1)И
對 И衒∈L2(R),設f在Vj上的投影系數為Cj,k,在Wj上的投影系數為Dj,k(j=J,J-1,…,-J),于是,fв幸韻路紙饈劍
Иf(x)=∑kCJ,kφJ,k=∑kDJ-1,kψJ-1,k+∑kCJ-1,kφJ-1,k
=∑kDJ-1,kψJ-1,k+∑kDJ-2,kψJ-2,k+∑kCJ-2,kφJ-2,k
=…
=∑kDJ-1ψJ-1,k+…+∑kD-J,kψ-J,k+∑kC-J,kφ-J,k
=∑J-1j=-J∑kDj,kψj,k+∑kC-J,kφ-J,k(2)И
在式(2)中,第一和式在小波空間中,它表示信號的細節部分(即高頻部分),Dj,k就是對應于小波函數ψj,k的小波系數;第二和式在尺度空間中(即低頻部分),它反映了信號的本征部分,C-J,k就是對應于尺度函數φ-J,k的尺度系數。
這里語音信號使用的采樣頻率是11 025 Hz,因此原始語音信號頻帶為0~5 512.5 Hz,如圖1所示,原始語音信號Sd20f占據頻帶為0~5 512.5 Hz,經小波濾波器組濾波后,Sd23f占據頻帶0~689 Hz,Sd23fЬ褪切枰的低頻信號,因為語音基音頻率變化范圍從老年男性的50 Hz到兒童和女性的450 Hz[6],所以這部分的信號將用于估計語音的基音頻率。
圖1 小波變換域內信號所占頻帶示意圖
2 自相關函數估計基音周期
經過小波變換后得到低頻語音信號記為:as,用長度為36 ms的矩陣窗對語音信號as進行分幀,記第i幀信號為Fi;定義Fi的自相關函數(ACF)R(k)為:
ИR(k)=∑N-1n=0Fi(n)FiИ
其中:N是幀Fi的長度;k=0,1,…,N -1;mod是取模運算。
自相關函數在基音頻率的整數倍位置上出現峰值,通過檢測其峰值的位置就可以提取基音頻率值,通常取第一極大值點為基音頻率點。如圖2所示,圖中顯示某一幀采樣頻率fs=11 025 Hz語音信號的自相關函數曲線,曲線的第一個峰值點x=74,y=4.342,則可以計算出該幀的基音頻率fb=fs/74=148.9 Hz。
自相關函數估計語音基音頻率一般使用矩形窗,窗長至少大于2個基音周期,語音最小基音頻率為60 Hz,即16.7 ms,所以窗長使用36 ms是合適的。當單獨使用自相關函數估計基音頻率時,易受共振峰和噪音的影響,如圖3所示,語音信號在小波變換前的自相關函數曲線不平滑,給檢測其峰值點造成困難;圖2 就是語音信號在小波變換后的自相關函數曲線,曲線平滑,容易檢測其峰值點。
圖2 小波變換后語音信號幀的自相關函數
3 算法流程圖
算法過程如下:
(1) 采集語音信號。人的語音信號頻率都在6 kHz以內,根據Nyquist采樣定理,fs=11 025 Hz。把采集得到的語音信號記為X;
(2) 基音頻率變化范圍大,從老年男性的50 Hz到兒童和女性的450 Hz。因此使用小波變換進行濾波時,要把50~500 Hz的語音信號加強,把高于500 Hz的語音信號減弱,以去除共振峰和高頻噪音的影響;
(3) 同一個人在不同情態下發音的基音周期也不同,加之基音周期還受單詞發音音調的影響,因此基音檢測實際上是估計短時語音的平均周期。采用L點的矩形窗來截取信號,進行短時分析,一般取窗口的長度為36 ms,幀重疊18 ms;
(4) 利用自相關函數估計第i幀語音信號的基音周期fpi。若fpi的頻率范圍超出了[60 Hz,500 Hz],則判斷該幀為清音幀,聲帶不振動,fpi置為0 Hz。
圖3 小波變換前語音信號幀的自相關函數
算法流程圖如圖4所示:
圖4 基音周期檢測流程圖
4 實 驗
首先通過一個真實的語音數據來說明第3節算法的有效性,然后將其與傳統的自相關函數法的結果進行比較。
在圖5中,圖5(a)為作者(男性)讀“馬到成功”的語音信號波形,fs=11 025 Hz,用普通麥克風在自然環境下錄制,時長為2 s。選擇db4小波基,對原始語音信號進行二進小波變換,取小波變換后第三層的低頻部分信號,該低頻信號如圖5(b)所示。用幀長為36 ms的矩形窗把圖5(a)中原始信號分成165幀,并用自相關函數估計每一幀的基音頻率,基音頻率的變化曲線如圖5(c)所示。同樣地把圖5(b)中經小波變換后所得的低頻語音信號分成165幀,然后用自相關函數估計每一幀的基音頻率,基音頻率的變化曲線如圖5(d)所示。從圖5(c)可以看到,用自相關函數法在A,B,C三幀判斷錯誤,使基音頻率軌跡估計值偏離了正常的軌跡(通常偏離到正常值的2倍或1/2倍),這就是基音軌跡的“野點”。圖5(d)是文中提出的算法的計算結果,很好地去除了這些野點,提高了檢測的準確率。
圖5 語音信號及其基音頻率變化曲線
5 結 語
自相關函數法是一種簡單,計算速度快的基音頻率估計算法。但該方法易受噪音和共振峰的影響,為了提高自相關函數法檢測基音頻率的準確性,在此使用小波變換對語音信號進行預處理,一定程度上消除了高頻噪音和共振峰的影響,能夠準確反映語音段中基音頻率的變化,得到比較真實的基音頻率曲線。
傳統的小波變換的基頻檢測,通過對語音信號進行3個連續尺度上的小波變換,比較相鄰兩尺度下的極值點位置是否一致,來確定聲門閉合時刻,進而求得基音頻率。由于需要進行多次小波變換及極值搜索和判定,計算量大,實時性不好。這里只需要在固定的尺度下做1次小波變換,然后用自相關函數法檢測基音頻率,計算量小,實時性較好。
參 考 文 獻
[1]韓紀慶,張磊,鄭鐵然.語音信號處理[M].北京:清華大學出版社,2005.
[2]Rabiner L R.On the Use of Autocorrelation Analysis for Pitch Detection[J].IEEE Trans.on ASSP,1977,25(1):24-33.
[3]Ross M,Shaffe H,Freudberg R,et al.Average Magnitude Difference Function Pitch Extractor.IEEE Trans.on Acoustics,Speech and Signal Processing,1974,22(5):353-362.
[4]Noll A M.Cepstrum Pitch Determination[J].Acoust.Soc.Am.,1967,41(2):293-309.
[5]楊志華,齊東旭,楊力華.一種基于Hilbert-Huang變換的基音周期檢測新方法[J].計算機學報,2006,29(1):106-115.
[6]趙力.語音信號處理[M].北京:機械工業出版社,2003.
作者簡介 李飛鵬 男,1983年出生,碩士研究生。主要研究方向為小波分析、語音信號處理。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。