摘 要:文章主要介紹了對不同來源的語音,如手機(jī)揚聲器、電視、電腦、收音機(jī)、室內(nèi)、室外、二次錄音等來源的語音識別的方法。采用雙門限端點檢測的方法選取一段連續(xù)的語音的起點和終點,使用Matlab進(jìn)行多尺度一維小波分解,然后求得每一層的能量,把能量在各層分布的百分比作為特征參數(shù)進(jìn)行識別。語音來源的識別,在公安、司法、語音識別等有重要的應(yīng)用。
關(guān)鍵詞:小波變換;語音來源識別;Matlab
1 引言
語音信號的來源是多式多樣的,可以來源于電視、電話、麥克風(fēng)、收音機(jī)、室內(nèi)、室外等。這些不同來源的語音信號會表現(xiàn)出不同的特征,有的比較明顯的人耳可以輕松地區(qū)別出來,而有的人耳是很難分辨出來的。據(jù)調(diào)查,國內(nèi)外針對語音識別的研究多集中在聲紋識別、聲源位置識別等方面,在語音來源識別方面研究較少。語音來源識別主要找尋區(qū)別不同來源聲音的方法,如區(qū)別一次錄音和二次錄音,區(qū)別來源于室內(nèi)、室外的聲音,區(qū)別來源于電視、電話、收音機(jī)、電腦等的聲音。
語音來源識別的一個根本問題是合理的選用特征。選擇的標(biāo)準(zhǔn)應(yīng)體現(xiàn)對于不同來源的聲音,相應(yīng)特征間的距離應(yīng)大,而對于相同來源的聲音,彼此間距離應(yīng)小。選取特征應(yīng)該盡量和語音的內(nèi)容無關(guān),這樣才能區(qū)別不同來源的語音信號。
語音來源識別和語音識別在本質(zhì)上是類似的,都是一種模式識別的過程。主要包括語音信號預(yù)處理、特征提取、特征建模(建立參考模式庫)、模式匹配等幾個功能模塊。
預(yù)處理過程包括預(yù)濾波、采樣和量化、端點檢測等,由于本系統(tǒng)的研究過程中,使用錄音筆錄制好.wav文件,預(yù)濾波、采樣和量化都已經(jīng)完成,所以預(yù)處理只需要進(jìn)行端點檢測即可。經(jīng)過預(yù)處理的語音數(shù)據(jù)就可以進(jìn)行特征參數(shù)提取。在訓(xùn)練階段,獲取不同來源的語音數(shù)據(jù)的特征參數(shù),為每一種來源的語音得到一個模型,建立模板庫。在識別階段,測試語音信號經(jīng)過相同的通道得到語音參數(shù),生成測試模板,與參考模板進(jìn)行匹配,將匹配距離最小的作為識別結(jié)果。
2 語音信號輸入
由于我們研究的目的是識別不同來源的語音,因此我們先用錄音筆錄制不同來源的語音信號。將錄制的聲音文件進(jìn)行格式轉(zhuǎn)化成.wav格式。然后直接利用MATLAB的wavread(file)函數(shù)讀入語音信號。
3 端點檢測
本系統(tǒng)的預(yù)處理過程主要就是進(jìn)行端點檢測,無論是在訓(xùn)練還是識別階段,都要先采用端點檢測算法確定語音的起點和終點,以獲得一段連續(xù)的有聲段進(jìn)行分析。語音端點檢測是一個重要環(huán)節(jié),其算法的優(yōu)劣會直接影響后面特征參數(shù)的提取,從而影響整個系統(tǒng)的優(yōu)劣。端點檢測我們采用的是短時能量短時過零率雙門限端點檢測。
雙門限端點檢測就是進(jìn)行兩級檢測,即短時能量檢測和短時過零率檢測。開始檢測前,需要設(shè)定4個門限,分別為短時能量和短時過零率設(shè)置一個高門限和一個低門限:EH、EL和ZH、ZL。語音端點檢測可分為四部分:靜音段、過度段、語音段、結(jié)束段。在靜音段,如果能量或過零率有一個超過了其低門限,則認(rèn)為進(jìn)入了過度段。在過度段,兩個參數(shù)的其中一個超越了高門限才被認(rèn)為是進(jìn)入語音段。當(dāng)其中一個參數(shù)降至低門限則認(rèn)為進(jìn)入結(jié)束段。
在雙門限端點檢測中4個門限的設(shè)定很重要,這將直接影響端點檢測的結(jié)果。本系統(tǒng)中EH、EL、ZH、ZL的取值分別為:
4 特征參數(shù)提取
通過端點檢測,我們得到了語音的起點和終點:StartPoint、EndPoint.在起點和終點間的是一段連續(xù)的語音,正是我們需要進(jìn)行參數(shù)提取的對象,根據(jù)端點檢測的結(jié)果截取一段連續(xù)的語音段。
特征參數(shù)的提取采用的方法主要是進(jìn)行小波變換。我們利用了MATLAB小波工具箱提供的以下幾個實現(xiàn)一維小波分解的函數(shù):
[C,L]=wavedec(X,N,’wname’),多尺度一維小波分解函數(shù)。
D=detcoef(C,L,N),一維小波變換細(xì)節(jié)序列提取函數(shù)。
A=appcoef(C,L,’wname’,N),一維小波變換近似序列提取函數(shù)。
我們提取特征參數(shù)的時候,選取了db6小波,利用MATLAB提供的小波分解函數(shù)進(jìn)行了5級分解。小波的選取和分解級數(shù)的選取,是我們經(jīng)過不斷試驗后的結(jié)果。
[c,l]=wavedec(X,5,’db6’);
上式中X是經(jīng)過端點檢測后截取的語音段。上述函數(shù)返回的近似和細(xì)節(jié)都存放在c中,l存放的是近似和各階細(xì)節(jié)系數(shù)對應(yīng)的長度。
之后用appcoef(C,L,’wname’,N)提取近似系數(shù),用detcoef(C,L,N)提取各階細(xì)節(jié)系數(shù)。
這樣便通過小波變換分解得到了近似和各階系數(shù)。我們根據(jù)分解后各階系數(shù)能量分布的不同來區(qū)別不同來源的聲音。求得各階的能量和總能量。使用近似系數(shù)和各階細(xì)節(jié)系數(shù)能量占總能量的比值將作為特征參數(shù),用于語音來源的識別。
5 訓(xùn)練和識別過程
在訓(xùn)練階段,從train文件夾下讀取樣本數(shù)據(jù),獲取特征參數(shù),將這些參數(shù)保存下來作為模板數(shù)據(jù)。
在我們目前的系統(tǒng)中,共有7種不同來源的聲音,因此在訓(xùn)練階段,我們讀取了7個語音文件提取特征參數(shù),作為模板庫。把模板數(shù)據(jù)存儲在mfcc.mat 文件中。在識別階段只需要把mfcc.mat文件導(dǎo)入進(jìn)去,便獲得了模板數(shù)據(jù)。
在識別階段,我們將待識別的語音文件輸入進(jìn)來。通過和訓(xùn)練階段一樣的方法得到特征參數(shù)。得到待測語音的特征參數(shù)以后,便可以求待測語音特征參數(shù)和模板語音特征參數(shù)的距離。求得測試語音和7個模板語音特征參數(shù)的距離后,將距離從小到大排序。排序之后將距離最小的作為識別的結(jié)果。
在我們系統(tǒng)的測試階段,我們錄制了兩份不同來源的語音。將其中一組作為模板,另外一組作為測試。7段語音的來源均得到了正確的識別結(jié)果。
6 結(jié)束語
不同來源的語音經(jīng)過小波分解之后,各級小波系數(shù)的能量分布將不同。該語音來源識別系統(tǒng)將小波分解后各層系數(shù)的能量百分比作為特征系數(shù)。該系統(tǒng)首先經(jīng)過端點檢測得到一段連續(xù)的語音信號,然后用db6小波進(jìn)行5級小波分解,之后求得各級小波的能量百分比作為特征參數(shù)。先經(jīng)過訓(xùn)練階段得到模板數(shù)據(jù),然后在識別階段得到待測語音和模板語音特征參數(shù)的距離,選取距離最小的作為識別結(jié)果。
參考文獻(xiàn)
[1]劉然.基于小波變換的說話人識別應(yīng)用研究[D].西安:西安電子科技大學(xué),2011
[2]李戰(zhàn)明,王貞.基于小波包分析特征參數(shù)的說話人識別系統(tǒng)[J].電聲技術(shù),2005,(06)
[3]李宏松,蘇健民,黃英來,于慧伶.基于聲音信號的特征提取方法[J].信息技術(shù),2006,(01)
[4]魏星,周萍. 語音識別系統(tǒng)及其特征參數(shù)的提取研究[J]. 計算機(jī)現(xiàn)代化,2009,(09)
作者簡介:鄺斌(1993,10-),男,江西贛州人,本科,主要研究:音頻信號處理。