用DSP實(shí)現(xiàn)基于VQ的說(shuō)話人識(shí)別系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘 要: 在TI的DSK5402平臺(tái)上構(gòu)建了一個(gè)主要采用VQ方法的6個(gè)說(shuō)話人識(shí)別系統(tǒng)。該系統(tǒng)采用了10階的線性預(yù)測(cè)參數(shù)、10階的線性預(yù)測(cè)倒譜參數(shù)及基音參數(shù),提出了一種改進(jìn)的LBG算法,以避免在迭代過(guò)程中產(chǎn)生空胞腔,使之能適應(yīng)多種距離測(cè)量。實(shí)驗(yàn)證明,本系統(tǒng)在指定文本的說(shuō)話人閉集測(cè)試中取得了滿意的效果。
關(guān)鍵詞: 數(shù)字信號(hào)處理器;說(shuō)話人識(shí)別;矢量量化;LBG算法
自動(dòng)說(shuō)話人識(shí)別是一種自動(dòng)識(shí)別說(shuō)話人的過(guò)程,它著眼于提取語(yǔ)音信號(hào)中的個(gè)人特征,從而達(dá)到識(shí)別說(shuō)話人的目的。說(shuō)話人識(shí)別按是否規(guī)定說(shuō)話人所說(shuō)的內(nèi)容可以分為文本有關(guān)型和文本無(wú)關(guān)型,前者要求待識(shí)別人說(shuō)指定內(nèi)容的一段話來(lái)進(jìn)行識(shí)別,而后者對(duì)識(shí)別人說(shuō)的內(nèi)容無(wú)任何限制[1]。就整個(gè)說(shuō)話人識(shí)別的發(fā)展來(lái)說(shuō),近幾年說(shuō)話人身份識(shí)別在理論和實(shí)驗(yàn)室條件下已經(jīng)達(dá)到比較高的識(shí)別精度,并開始走向?qū)嶋H應(yīng)用階段。AT&T、歐洲電信聯(lián)盟、ITT、Keyware、T-NETIX、Motorola和Visa等公司相繼開展了相關(guān)實(shí)用化研究,國(guó)內(nèi)有關(guān)這方面的研究主要在中科院聲學(xué)所、中科院自動(dòng)化所、清華大學(xué)等研究所和大學(xué)中進(jìn)行。本文采用VQ方法在TI的DSK5402平臺(tái)上構(gòu)建了一個(gè)文本有關(guān)的說(shuō)話人身份識(shí)別系統(tǒng),并采用線性預(yù)測(cè)語(yǔ)音合成方法來(lái)實(shí)現(xiàn)語(yǔ)音的人機(jī)交互。該系統(tǒng)具有使用方便、識(shí)別速度快和成本低等特點(diǎn),具有廣闊的應(yīng)用前景。
1 算法的設(shè)計(jì)
本系統(tǒng)算法的流程如圖1所示。首先將輸入的經(jīng)過(guò)數(shù)字化處理的語(yǔ)音信號(hào)進(jìn)行預(yù)處理,然后提取其中與說(shuō)話人有關(guān)的特征參數(shù),接著對(duì)參數(shù)進(jìn)行訓(xùn)練,為每個(gè)說(shuō)話人生成一個(gè)模板。有了這組模板,在識(shí)別的時(shí)候,系統(tǒng)將提取新接收的語(yǔ)音的參數(shù),并分別與這些模板進(jìn)行比對(duì),判斷是否與某個(gè)模板匹配,最后給出判決結(jié)果。
1.1 語(yǔ)音的預(yù)處理
本系統(tǒng)首先對(duì)采集到的語(yǔ)音信號(hào)進(jìn)行預(yù)處理。這里認(rèn)為待處理的語(yǔ)音是純凈的采樣數(shù)字語(yǔ)音。預(yù)處理主要包括預(yù)加重、分幀和加窗、端點(diǎn)檢測(cè)等操作。系統(tǒng)中采用一個(gè)6 dB/倍頻的一階濾波器來(lái)進(jìn)行預(yù)加重。為進(jìn)行分幀和加窗,系統(tǒng)取幀長(zhǎng)10 ms(80個(gè)樣點(diǎn)),窗長(zhǎng)30 ms(240個(gè)樣點(diǎn)、覆蓋幀前120個(gè)樣點(diǎn)、幀后40個(gè)樣點(diǎn)),由半個(gè)漢明窗和1/4個(gè)余弦窗組合而成。為減小計(jì)算量和提高計(jì)算精度,窗函數(shù)采用制表法,用浮點(diǎn)數(shù)算出數(shù)值,再定點(diǎn)化為一張表以供調(diào)用。由于幅度門限法相對(duì)簡(jiǎn)單,計(jì)算量較小,因此系統(tǒng)采用它來(lái)進(jìn)行語(yǔ)音的端點(diǎn)檢測(cè)。通過(guò)預(yù)處理后,便可以應(yīng)用短時(shí)分析技術(shù)逐幀提取出相應(yīng)的特征參數(shù)。
1.2 語(yǔ)音特征參數(shù)的提取
本系統(tǒng)采用基音參數(shù)、LPC參數(shù)和LPCC參數(shù)作為語(yǔ)音的特征參數(shù)?;糁芷诘墓烙?jì)采用自相關(guān)法,其具體過(guò)程是先求出一幀語(yǔ)音的自相關(guān)參數(shù),然后系統(tǒng)在[20,39]、[40,79]、[80,143]3個(gè)區(qū)間內(nèi)各選一個(gè)自相關(guān)峰值點(diǎn)作為候選基音,接著對(duì)規(guī)格化的3個(gè)自相關(guān)峰值進(jìn)行比較,選擇最大的那個(gè)作為最終的基音。由于信號(hào)受聲帶共振峰特性的影響,求出的基音值會(huì)有所偏離,解決的辦法是采用中心削波法,即將信號(hào)小于門限的點(diǎn)賦值為0,大于門限的保持不變,然后將處理過(guò)的信號(hào)按以上方法求自相關(guān)。LPC參數(shù)就是在線性預(yù)測(cè)(LP)分析中求得的全極點(diǎn)濾波器的系數(shù)集{ai}pi=1,即在預(yù)測(cè)誤差最小均方誤差準(zhǔn)則下,由公式
1.5 線性預(yù)測(cè)語(yǔ)音合成
本系統(tǒng)中需要進(jìn)行人機(jī)交流,如語(yǔ)音提示輸入識(shí)別語(yǔ)句、識(shí)別結(jié)果提示等。為了節(jié)省系統(tǒng)資源,保存完整的語(yǔ)音提示信息是不現(xiàn)實(shí)的。由于線性預(yù)測(cè)語(yǔ)音合成具有占用資源少、數(shù)據(jù)率低和實(shí)現(xiàn)簡(jiǎn)單等特點(diǎn)[3],而且系統(tǒng)交互所需要的語(yǔ)音對(duì)音質(zhì)沒有特別的要求,因此考慮用它來(lái)實(shí)現(xiàn)語(yǔ)音的人機(jī)界面。具體的實(shí)現(xiàn)過(guò)程是:首先利用PARCOR分析在PC上提取輸入語(yǔ)音提示的PARCOR參數(shù)km,以普通文本形式保存,然后在DSP平臺(tái)上利用km由PARCOR分析的逆過(guò)程來(lái)實(shí)現(xiàn)語(yǔ)音提示的語(yǔ)音合成。語(yǔ)音分析的過(guò)程可以在PC上實(shí)現(xiàn),不占用系統(tǒng)資源,而語(yǔ)音分析得到的參數(shù)保存為文本后大小僅有幾KB,與原始語(yǔ)音信號(hào)幾百KB相比,占用系統(tǒng)數(shù)據(jù)區(qū)的資源少了很多,而語(yǔ)音合成的程序本身占用資源非常少,因此利用固定的參數(shù)文本和語(yǔ)音合成的辦法實(shí)現(xiàn)有限的語(yǔ)音提示很適合本系統(tǒng)。
2 算法的DSP實(shí)現(xiàn)