李飛鵬 張維強(qiáng) 徐 晨
摘 要:根據(jù)語音的基音頻率較低這一特點(diǎn),利用小波變換的濾波特性剔除了語音的高頻部分,然后再利用計(jì)算速度較快的自相關(guān)函數(shù)法檢測語音的基音頻率,有效剔除了高頻共振峰和噪音的影響,其估計(jì)基音頻率準(zhǔn)確性高,穩(wěn)定性好,運(yùn)算速度較快。實(shí)驗(yàn)結(jié)果表明,此方法是一種有效的基音頻率檢測算法。
關(guān)鍵詞:小波變換;自相關(guān)函數(shù);基音頻率;高頻共振峰
中圖分類號(hào):TP391.42 文獻(xiàn)標(biāo)識(shí)碼:B 文章編號(hào):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)是指發(fā)濁音時(shí)聲帶振動(dòng)所引起的周期運(yùn)動(dòng)的時(shí)間間隔,而基音頻率是基音周期的倒數(shù)。由于基音周期只具有準(zhǔn)周期性,所有只能采用短時(shí)平均方法估計(jì)該周期,這個(gè)過程也稱為基音檢測(Pitch Detection)[1]。在對(duì)說話人確認(rèn)和辨認(rèn)研究中,基音頻率是一個(gè)重要的參數(shù),因此準(zhǔn)確檢測基音頻率有著十分重要的意義。
到目前為止,基音檢測的方法主要有短時(shí)自相關(guān)函數(shù)法[2]、平均幅度差函數(shù)法[3]、倒譜解卷積法[4]、Hilbert-Huang變換法[5]等。但尚未找到一個(gè)完善的可以適用于不同語音狀況和環(huán)境的基音檢測算法。近幾年,小波分析理論發(fā)展迅速,它已經(jīng)被廣泛地應(yīng)用到信號(hào)處理中。這里利用小波變換的濾波特性對(duì)信號(hào)進(jìn)行預(yù)處理,然后利用自相關(guān)函數(shù)法檢測語音的基音頻率,該方法利用小波濾波特性有效剔除了高頻共振峰和噪音的影響,估計(jì)基音頻率準(zhǔn)確性高,穩(wěn)定性好,運(yùn)算速度較快。實(shí)驗(yàn)結(jié)果表明,此方法是一種有效的基音頻率檢測算法。
1 小波變換及其濾波特征
在多分辨分析中,塔式正交分解L2(R)Э占洌
ИL2(R)霿J-1⊕WJ-2⊕…⊕W-J⊕V-J(1)И
對(duì) И衒∈L2(R),設(shè)f在Vj上的投影系數(shù)為Cj,k,在Wj上的投影系數(shù)為Dj,k(j=J,J-1,…,-J),于是,fв幸韻路紙饈劍
Иf(x)=∑kCJ,kφJ(rèn),k=∑kDJ-1,kψJ-1,k+∑kCJ-1,kφJ(rèn)-1,k
=∑kDJ-1,kψJ-1,k+∑kDJ-2,kψJ-2,k+∑kCJ-2,kφJ(rèn)-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)中,第一和式在小波空間中,它表示信號(hào)的細(xì)節(jié)部分(即高頻部分),Dj,k就是對(duì)應(yīng)于小波函數(shù)ψj,k的小波系數(shù);第二和式在尺度空間中(即低頻部分),它反映了信號(hào)的本征部分,C-J,k就是對(duì)應(yīng)于尺度函數(shù)φ-J,k的尺度系數(shù)。
這里語音信號(hào)使用的采樣頻率是11 025 Hz,因此原始語音信號(hào)頻帶為0~5 512.5 Hz,如圖1所示,原始語音信號(hào)Sd20f占據(jù)頻帶為0~5 512.5 Hz,經(jīng)小波濾波器組濾波后,Sd23f占據(jù)頻帶0~689 Hz,Sd23fЬ褪切枰的低頻信號(hào),因?yàn)檎Z音基音頻率變化范圍從老年男性的50 Hz到兒童和女性的450 Hz[6],所以這部分的信號(hào)將用于估計(jì)語音的基音頻率。
圖1 小波變換域內(nèi)信號(hào)所占頻帶示意圖
2 自相關(guān)函數(shù)估計(jì)基音周期
經(jīng)過小波變換后得到低頻語音信號(hào)記為:as,用長度為36 ms的矩陣窗對(duì)語音信號(hào)as進(jìn)行分幀,記第i幀信號(hào)為Fi;定義Fi的自相關(guān)函數(shù)(ACF)R(k)為:
ИR(k)=∑N-1n=0Fi(n)FiИ
其中:N是幀F(xiàn)i的長度;k=0,1,…,N -1;mod是取模運(yùn)算。
自相關(guān)函數(shù)在基音頻率的整數(shù)倍位置上出現(xiàn)峰值,通過檢測其峰值的位置就可以提取基音頻率值,通常取第一極大值點(diǎn)為基音頻率點(diǎn)。如圖2所示,圖中顯示某一幀采樣頻率fs=11 025 Hz語音信號(hào)的自相關(guān)函數(shù)曲線,曲線的第一個(gè)峰值點(diǎn)x=74,y=4.342,則可以計(jì)算出該幀的基音頻率fb=fs/74=148.9 Hz。
自相關(guān)函數(shù)估計(jì)語音基音頻率一般使用矩形窗,窗長至少大于2個(gè)基音周期,語音最小基音頻率為60 Hz,即16.7 ms,所以窗長使用36 ms是合適的。當(dāng)單獨(dú)使用自相關(guān)函數(shù)估計(jì)基音頻率時(shí),易受共振峰和噪音的影響,如圖3所示,語音信號(hào)在小波變換前的自相關(guān)函數(shù)曲線不平滑,給檢測其峰值點(diǎn)造成困難;圖2 就是語音信號(hào)在小波變換后的自相關(guān)函數(shù)曲線,曲線平滑,容易檢測其峰值點(diǎn)。
圖2 小波變換后語音信號(hào)幀的自相關(guān)函數(shù)
3 算法流程圖
算法過程如下:
(1) 采集語音信號(hào)。人的語音信號(hào)頻率都在6 kHz以內(nèi),根據(jù)Nyquist采樣定理,fs=11 025 Hz。把采集得到的語音信號(hào)記為X;
(2) 基音頻率變化范圍大,從老年男性的50 Hz到兒童和女性的450 Hz。因此使用小波變換進(jìn)行濾波時(shí),要把50~500 Hz的語音信號(hào)加強(qiáng),把高于500 Hz的語音信號(hào)減弱,以去除共振峰和高頻噪音的影響;
(3) 同一個(gè)人在不同情態(tài)下發(fā)音的基音周期也不同,加之基音周期還受單詞發(fā)音音調(diào)的影響,因此基音檢測實(shí)際上是估計(jì)短時(shí)語音的平均周期。采用L點(diǎn)的矩形窗來截取信號(hào),進(jìn)行短時(shí)分析,一般取窗口的長度為36 ms,幀重疊18 ms;
(4) 利用自相關(guān)函數(shù)估計(jì)第i幀語音信號(hào)的基音周期fpi。若fpi的頻率范圍超出了[60 Hz,500 Hz],則判斷該幀為清音幀,聲帶不振動(dòng),fpi置為0 Hz。
圖3 小波變換前語音信號(hào)幀的自相關(guān)函數(shù)
算法流程圖如圖4所示:
圖4 基音周期檢測流程圖
4 實(shí) 驗(yàn)
首先通過一個(gè)真實(shí)的語音數(shù)據(jù)來說明第3節(jié)算法的有效性,然后將其與傳統(tǒng)的自相關(guān)函數(shù)法的結(jié)果進(jìn)行比較。
在圖5中,圖5(a)為作者(男性)讀“馬到成功”的語音信號(hào)波形,fs=11 025 Hz,用普通麥克風(fēng)在自然環(huán)境下錄制,時(shí)長為2 s。選擇db4小波基,對(duì)原始語音信號(hào)進(jìn)行二進(jìn)小波變換,取小波變換后第三層的低頻部分信號(hào),該低頻信號(hào)如圖5(b)所示。用幀長為36 ms的矩形窗把圖5(a)中原始信號(hào)分成165幀,并用自相關(guān)函數(shù)估計(jì)每一幀的基音頻率,基音頻率的變化曲線如圖5(c)所示。同樣地把圖5(b)中經(jīng)小波變換后所得的低頻語音信號(hào)分成165幀,然后用自相關(guān)函數(shù)估計(jì)每一幀的基音頻率,基音頻率的變化曲線如圖5(d)所示。從圖5(c)可以看到,用自相關(guān)函數(shù)法在A,B,C三幀判斷錯(cuò)誤,使基音頻率軌跡估計(jì)值偏離了正常的軌跡(通常偏離到正常值的2倍或1/2倍),這就是基音軌跡的“野點(diǎn)”。圖5(d)是文中提出的算法的計(jì)算結(jié)果,很好地去除了這些野點(diǎn),提高了檢測的準(zhǔn)確率。
圖5 語音信號(hào)及其基音頻率變化曲線
5 結(jié) 語
自相關(guān)函數(shù)法是一種簡單,計(jì)算速度快的基音頻率估計(jì)算法。但該方法易受噪音和共振峰的影響,為了提高自相關(guān)函數(shù)法檢測基音頻率的準(zhǔn)確性,在此使用小波變換對(duì)語音信號(hào)進(jìn)行預(yù)處理,一定程度上消除了高頻噪音和共振峰的影響,能夠準(zhǔn)確反映語音段中基音頻率的變化,得到比較真實(shí)的基音頻率曲線。
傳統(tǒng)的小波變換的基頻檢測,通過對(duì)語音信號(hào)進(jìn)行3個(gè)連續(xù)尺度上的小波變換,比較相鄰兩尺度下的極值點(diǎn)位置是否一致,來確定聲門閉合時(shí)刻,進(jìn)而求得基音頻率。由于需要進(jìn)行多次小波變換及極值搜索和判定,計(jì)算量大,實(shí)時(shí)性不好。這里只需要在固定的尺度下做1次小波變換,然后用自相關(guān)函數(shù)法檢測基音頻率,計(jì)算量小,實(shí)時(shí)性較好。
參 考 文 獻(xiàn)
[1]韓紀(jì)慶,張磊,鄭鐵然.語音信號(hào)處理[M].北京:清華大學(xué)出版社,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].計(jì)算機(jī)學(xué)報(bào),2006,29(1):106-115.
[6]趙力.語音信號(hào)處理[M].北京:機(jī)械工業(yè)出版社,2003.
作者簡介 李飛鵬 男,1983年出生,碩士研究生。主要研究方向?yàn)樾〔ǚ治觥⒄Z音信號(hào)處理。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。