摘要:人聲基頻檢測(cè)是一個(gè)普遍關(guān)心的技術(shù)問(wèn)題,目前所采用的方法也很多。利用數(shù)字信號(hào)處理的方法,通過(guò)對(duì)人聲的濁音部分進(jìn)行功率譜分析的方式,采用一種檢查共振峰位置,進(jìn)而遏止共振峰,在頻域中凸顯基波頻率的方法,在頻域確定信號(hào)的頻率,從而自動(dòng)檢查出信號(hào)的基頻。
關(guān)鍵詞:濁音;基頻;DSP;功率譜;共振峰
中圖分類(lèi)號(hào):TN912
文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1004—373X(2008)04—113—02
1 算法概述
一般來(lái)說(shuō),聲音信號(hào)濁音部分,去其頭尾,可以看作是平穩(wěn)的隨機(jī)信號(hào)。當(dāng)然,可以用頻譜分析儀來(lái)觀察信號(hào)頻譜,在頻譜圖上尋找頻率最低的譜峰來(lái)確定該段頻率的基頻。同樣,用時(shí)域分析的方法,比如相關(guān)函數(shù)。類(lèi)似這樣的方法還有很多。但是,如果用一種算法實(shí)現(xiàn)功率譜中基頻的自動(dòng)測(cè)量有一定的困難,無(wú)法用功率譜中某一個(gè)特征值(與其諧波有著明顯的數(shù)值差距)。由于共振峰影響,其功率譜表現(xiàn)出基頻分量大小并不一定為其頻率分量中的最大值。所以,很難依靠一種功率譜值比較的方法來(lái)估計(jì)其基頻。
這里提供一種相對(duì)較容易實(shí)現(xiàn),算法簡(jiǎn)單的檢波濾波的方法,利用數(shù)字信號(hào)處理的基本理論,依靠經(jīng)典功率譜分析方法,其具體思路如下:
首先,截取一段錄制好的聲音文件(這里采用,WAV格式的文件,采樣頻率為22.05 kHz),取2 048個(gè)采樣點(diǎn)(便于進(jìn)行FFT),大約100 ms。如果信號(hào)的噪聲干擾不大,可以采用周期圖譜法。如果噪聲比較大,可以考慮用現(xiàn)代譜分析的方法,比如AR模型,以及類(lèi)似的方法(普通話(huà)筒近距離錄音,噪聲影響不大)。
其次,在對(duì)這段數(shù)據(jù)進(jìn)行譜分析前進(jìn)行預(yù)處理,之后進(jìn)行周期圖譜分析,在該圖譜中找出最大值,找出該最大值對(duì)應(yīng)的數(shù)據(jù)位置。根據(jù)數(shù)據(jù)位置和數(shù)字頻率與模擬頻率的對(duì)應(yīng)關(guān)系,容易算出該譜峰對(duì)應(yīng)的頻率,這個(gè)頻率通常是該信號(hào)的諧波頻率,在聲音信號(hào)中一般來(lái)說(shuō),其主要的諧波分量為其第二或第三次諧波。
最后,設(shè)計(jì)一個(gè)數(shù)字檢波濾波器,對(duì)照數(shù)字頻率與模擬頻率之間的關(guān)系,以最大值的數(shù)據(jù)位置設(shè)計(jì)濾波器,以該頻率為阻帶下限截止頻率,以該頻率的1/2為通帶截止頻率的數(shù)字低通濾波器,對(duì)該信號(hào)進(jìn)行濾波。
在通常情況下,要重復(fù)上述方法2次。這樣再進(jìn)行周期圖譜分析,找到最大峰值所對(duì)應(yīng)的點(diǎn);根據(jù)數(shù)字頻率和模擬頻率的對(duì)應(yīng)關(guān)系ω=ΩT(ω,Ω分別為數(shù)字和模擬角頻率),換算出該數(shù)字頻率對(duì)應(yīng)的模擬頻率,這個(gè)模擬頻率就可以被認(rèn)為是這段濁音信號(hào)的基頻。
2 算法流程
算法的基本流程如圖1所示:
圖1中,在功率譜中尋找最大值時(shí)所對(duì)應(yīng)的頻率實(shí)際上并不是ω,而是對(duì)應(yīng)的數(shù)組下標(biāo)i,所以要根據(jù)數(shù)字頻率及模擬頻率的變換關(guān)系ω=ΩT以及FFT的變換長(zhǎng)度N來(lái)?yè)Q算ωi,具體換算關(guān)系為ωi=Ωs/N×i,其中Ω為采樣角頻率。另外,濾波器參數(shù)按照頻率π歸一化設(shè)計(jì),歸一化截止頻率為ωi=2i/N。
3 實(shí)驗(yàn)結(jié)果
以下是一些實(shí)驗(yàn)結(jié)果,對(duì)2個(gè)元音(其基音頻率為220 Hz)。
圖2是對(duì)元音/i/的頻譜分析和為信號(hào)的時(shí)域波形,圖3為該元音的周期圖譜和經(jīng)過(guò)一次檢波濾波后的周期圖譜,可以清楚的看到,對(duì)于男性發(fā)出的/i/的元音經(jīng)過(guò)一次檢波濾波就能夠使比較大的二次諧波分量相對(duì)基頻分量變的較小。
圖3是元音/u/的周期圖譜,可以看出其基頻分量相對(duì)二次諧波分量要小的多,圖4是經(jīng)過(guò)一次檢波濾波的周期圖譜,其基頻分量還是相對(duì)二次諧波分量要小,圖2中是對(duì)經(jīng)過(guò)一次檢波濾波的聲音信號(hào)進(jìn)行二次檢波濾波。從圖中可以看出經(jīng)過(guò)兩次檢波濾波諧波分量相對(duì)基頻分量已經(jīng)十分小了,從而可以在圖譜中找到最大值對(duì)應(yīng)的位置換算出基頻分量。
4 分析說(shuō)明
(1)由于只是說(shuō)明方法的實(shí)驗(yàn),這里采用的抽樣頻率比較高,并且有著相對(duì)比較大的計(jì)算量。實(shí)際應(yīng)用時(shí)可以采用8 kHz的采樣頻率,也可以根據(jù)不同的需要采用其他的采樣頻率。
(2)對(duì)聲音信號(hào)要進(jìn)行預(yù)處理,過(guò)濾低于60 Hz高于3 000 Hz的頻率分量。
(3)對(duì)于濾波器的選擇,建議選擇Butterworth濾波器,原因是該濾波器具有平滑單調(diào)遞減的頻率響應(yīng)(這一點(diǎn)在本方法中十分重要),并且濾波器設(shè)計(jì)簡(jiǎn)單,無(wú)需考慮線(xiàn)形相位的要求(這里只是幅頻分析)。使用這種濾波器最好能夠調(diào)整其階數(shù),階數(shù)不宜過(guò)高,因?yàn)椴⒉幌M麨V波器的過(guò)渡帶過(guò)于陡峭,同時(shí)階數(shù)過(guò)高會(huì)使計(jì)算量過(guò)大,對(duì)實(shí)時(shí)處理不利。
要說(shuō)明的是,如果待檢測(cè)信號(hào)的頻率在第一次檢波時(shí)找到的就是基頻,那么即使是經(jīng)過(guò)二次檢波濾波,重復(fù)檢波濾波其峰值的相對(duì)位置也是不會(huì)發(fā)生變化。以下是對(duì)分析圖一經(jīng)過(guò)兩次檢波濾波后的結(jié)果:
由圖1,圖3可以看出,雖然經(jīng)過(guò)一次檢波濾波基頻分量已經(jīng)大于諧波分量了,但是經(jīng)過(guò)二次檢波濾波之后并沒(méi)有影響分析結(jié)果,基頻分量依然相對(duì)大于諧波分量。
總結(jié)以上介紹,該方法的優(yōu)點(diǎn)是:方法簡(jiǎn)單,理論成熟,可以自動(dòng)調(diào)整數(shù)字濾波器的參數(shù),無(wú)需對(duì)功率譜進(jìn)行觀察,進(jìn)而分辨該段信號(hào)的頻率,判斷平穩(wěn)信號(hào)的基頻。