新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP嵌入式說(shuō)話人識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

基于DSP嵌入式說(shuō)話人識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2012-03-01 來(lái)源:網(wǎng)絡(luò) 收藏

0 引 言

本文引用地址:http://www.butianyuan.cn/article/257666.htm

說(shuō)話人屬于生物認(rèn)證技術(shù)的一種,是一項(xiàng)根據(jù)語(yǔ)音中反映說(shuō)話人生理和行為特征的語(yǔ)音參數(shù)來(lái)自動(dòng)識(shí)別說(shuō)話人身份的技術(shù)。近年來(lái),說(shuō)話人以其獨(dú)特的方便性、經(jīng)濟(jì)性和準(zhǔn)確性等優(yōu)勢(shì)受到矚目,在信息安全等領(lǐng)域的應(yīng)用逐漸增大,并成為人們?nèi)粘I詈凸ぷ髦兄匾移占暗陌踩?yàn)證方式。目前,說(shuō)話人在理論上和實(shí)驗(yàn)室條件下已經(jīng)達(dá)到了比較高的識(shí)別精度,并開(kāi)始走向?qū)嶋H應(yīng)用階段。ATT、歐洲電信聯(lián)盟、ITT、Keyware、T-NETIX,Motorola和Vi-sa等公司相繼開(kāi)展了相關(guān)實(shí)用化研究,國(guó)內(nèi)這方面研究主要在中科聲學(xué)所,中科院自動(dòng)化所,清華大學(xué)等研究所和大學(xué)中進(jìn)行。

基于嵌入式的說(shuō)話人身份識(shí)別系統(tǒng)具有高精度,適時(shí)性好,低功耗,低費(fèi)用,體積小等優(yōu)勢(shì),逐漸成為說(shuō)話人身份識(shí)別面向?qū)嶋H應(yīng)用的新熱點(diǎn)。而隨著新技術(shù)的發(fā)展,芯片無(wú)論在處理速度、精度、功耗或者體積等方面都取得了突破性的進(jìn)展。也越來(lái)越多的應(yīng)用于說(shuō)話人身份識(shí)別。但目前這方面研究主要局限于小數(shù)據(jù)量、與PC機(jī)配套使用上,沒(méi)有太大的實(shí)用價(jià)值。在此介紹一種基于TMS320C6713 DSP芯片設(shè)計(jì)的嵌入式,10個(gè)人范圍的說(shuō)話人身份識(shí)別系統(tǒng)。該系統(tǒng)可以自舉運(yùn)行,并可靈活的選擇訓(xùn)練、識(shí)別或者更換訓(xùn)練者、識(shí)別者,識(shí)別率達(dá)98%以上。

1 系統(tǒng)的架構(gòu)及硬件構(gòu)成

系統(tǒng)總體實(shí)現(xiàn)流程如圖1所示。系統(tǒng)主要分為訓(xùn)練和識(shí)別兩部分,系統(tǒng)初始化后由操作者控制訓(xùn)練或識(shí)別。訓(xùn)練目的是提取說(shuō)話人模型參數(shù)并將其存儲(chǔ)在FLASH ROM中。識(shí)別目的是讀取待識(shí)別者語(yǔ)音信息并將獲得的模型參數(shù)與訓(xùn)練的模型參數(shù)比較,從而獲得識(shí)別結(jié)果。

1.1 系統(tǒng)的主要硬件構(gòu)成

系統(tǒng)硬件構(gòu)成如圖2所示,主要包含語(yǔ)音采集模塊、數(shù)據(jù)處理模塊(DSP)、程序數(shù)據(jù)存儲(chǔ)及自舉FLASH模塊、數(shù)據(jù)存儲(chǔ)器RAM模塊、系統(tǒng)時(shí)序邏輯控制CPLD模塊、JTAG接口模塊。

語(yǔ)音采集模塊主要由TLV320AIC23音頻編解碼器來(lái)完成,該芯片是TI公司的一款高性能的立體聲音頻Codec芯片,內(nèi)置放大器,輸入/輸出增益可編程設(shè)置。模數(shù),數(shù)/模轉(zhuǎn)換集成在一塊芯片中。采樣率8~96 kHz可編程實(shí)現(xiàn)。另外還具有低功耗,連接電路簡(jiǎn)單,性價(jià)比高的特點(diǎn)。

語(yǔ)音處理DSP采用TI公司的TMS320C6713芯片,該芯片實(shí)現(xiàn)浮點(diǎn)運(yùn)算,最高時(shí)鐘頻率225 MHz,使用該芯片外部存儲(chǔ)器接口可實(shí)現(xiàn)對(duì)外部存儲(chǔ)器(SDRAM)數(shù)據(jù)傳輸和程序存儲(chǔ)器(FLASH ROM)進(jìn)行程序讀寫(xiě);依靠JTAG接口電路通過(guò)仿真器進(jìn)行仿真調(diào)試,實(shí)現(xiàn)與主機(jī)數(shù)據(jù)交換;通過(guò)片內(nèi)外設(shè)McBSP完成串行數(shù)據(jù)的接收和發(fā)送,實(shí)現(xiàn)對(duì)音頻處理模塊的控制等工作。

FLASH ROM最大可提供512 KB空間,通常為前256 KB可用。SDRAM最大容量為16 MB,為該系統(tǒng)提供較大的數(shù)據(jù)存儲(chǔ)空間。CPLD為存儲(chǔ)器的擴(kuò)展實(shí)現(xiàn)邏輯編碼。電源為T(mén)PS54310芯片,可為系統(tǒng)提供3.3 V和1.26 V兩種電壓。

1.2 選擇說(shuō)話人

該系統(tǒng)要訓(xùn)練10個(gè)人的語(yǔ)音,每個(gè)人的語(yǔ)音存放在FLASH ROM的不同位置。在訓(xùn)練的開(kāi)始階段,系統(tǒng)需確定當(dāng)前訓(xùn)練者的身份,以便對(duì)訓(xùn)練完成后說(shuō)話者模型參數(shù)存儲(chǔ)位置有準(zhǔn)確的判斷。對(duì)當(dāng)前訓(xùn)練者身份的選擇由系統(tǒng)中的4個(gè)Switch實(shí)現(xiàn)。若把每個(gè)Switch的開(kāi)關(guān)兩種狀態(tài)看成是二進(jìn)制數(shù)的0,1,則最終可形成16種組合,代表16個(gè)人。該系統(tǒng)選取前10個(gè)組合。

1.3 AIC23語(yǔ)音采集

考慮到系統(tǒng)的實(shí)用性,語(yǔ)音的輸入由mic in接口輸入。語(yǔ)音采集若設(shè)為雙聲道,則采集的左右聲道數(shù)據(jù)差別不大,對(duì)識(shí)別沒(méi)有太大的幫助,而且采集到的語(yǔ)音會(huì)占用太大存儲(chǔ)器空間,故采用單聲道采樣;對(duì)于采樣精度要求,TLV320AIC23可實(shí)現(xiàn)8~96 kHz,16 b,20 b,24 b,32 b,的不同采樣,隨著采樣頻率的提高,采樣間隔將相應(yīng)的縮短,要求更大的內(nèi)存空間和更長(zhǎng)的處理時(shí)間,實(shí)驗(yàn)表明,采樣率由16 kHz下降到8 kHz,所造成的識(shí)別率的微乎其微,但是可以節(jié)省50%的動(dòng)態(tài)存儲(chǔ)空間,并可減少大量的運(yùn)算。對(duì)于采樣位數(shù),16 b精度已能滿足該系統(tǒng)要求,故采樣精度設(shè)為8 kHz,16 b采樣。

1.4 數(shù)據(jù)的存儲(chǔ)

由TLV320AIC23獲得的語(yǔ)音信號(hào)的數(shù)據(jù),只有賦值給相應(yīng)的數(shù)組,才能在接下來(lái)的算法中有所應(yīng)用。為此在SDRAM中定義一片數(shù)組存儲(chǔ)區(qū)域。對(duì)于數(shù)組大小及類型的選擇基于以下兩點(diǎn):

(1)數(shù)組大小選擇。該系統(tǒng)算法中包含訓(xùn)練和識(shí)別兩個(gè)內(nèi)容。語(yǔ)音信號(hào)的訓(xùn)練需要大量的數(shù)據(jù)才能準(zhǔn)確的提取語(yǔ)音的特征參量。該系統(tǒng)采用8 kHz采樣率的10 s的語(yǔ)音信號(hào),所需的數(shù)組空間大小為80 000個(gè)數(shù)據(jù)單位;語(yǔ)音信號(hào)的識(shí)別要求快速性,該系統(tǒng)采用時(shí)間較短的8 kHz 3 s語(yǔ)音信號(hào),所需數(shù)組空間大小為30 000個(gè)數(shù)據(jù)單位,為了減少數(shù)據(jù)空間,系統(tǒng)設(shè)定為與訓(xùn)練數(shù)組共用前30 000個(gè)數(shù)據(jù)單位的空間。

(2)數(shù)組類型為浮點(diǎn)型,由于設(shè)定的采樣格式是16 b采樣,而采樣后數(shù)據(jù)類型是Uint32,語(yǔ)音數(shù)據(jù)位于低16位,所以賦值過(guò)程中取低16位數(shù)據(jù)賦值給數(shù)組。

1.5 模型參數(shù)存入與參數(shù)調(diào)出

將模型參數(shù)存入FLASH ROM的目的是保存訓(xùn)練所得的參數(shù),以供識(shí)別時(shí)調(diào)用。訓(xùn)練可能用于多次識(shí)別,或者訓(xùn)練和識(shí)別可能處于不同的時(shí)間地點(diǎn),所以,保存參數(shù)的存儲(chǔ)器選定為具有掉電時(shí)數(shù)據(jù)不丟失特點(diǎn)的FLASH ROM。每個(gè)說(shuō)話者語(yǔ)音參數(shù)代表一個(gè)說(shuō)話者身份,所以每個(gè)說(shuō)話者模型參數(shù)應(yīng)存儲(chǔ)在FLASHROM中一個(gè)確定的位置。為此,該系統(tǒng)在FLASHROM中分配了10塊的區(qū)域,每個(gè)說(shuō)話者模型參數(shù)占有一塊特定的區(qū)域。

在FLASH ROM中存人數(shù)據(jù)格式為32 b無(wú)符號(hào)整數(shù)。而訓(xùn)練得到的是浮點(diǎn)型的數(shù)據(jù)。這就要求在數(shù)據(jù)存入之前將浮點(diǎn)數(shù)轉(zhuǎn)換為32 b無(wú)符號(hào)類型的整數(shù),假設(shè)要轉(zhuǎn)換的數(shù)據(jù)為float x[M][N]則轉(zhuǎn)換方法如下:

(1)x[M][N]歸一化;

(2)對(duì)x[M][N]乘以一常數(shù)K得到有符號(hào)整型的數(shù)組y[M][N],即:
y[M][N]=x[M][N]×K (1)

(3)屏蔽第32位符號(hào)位,得到32 b無(wú)符號(hào)類型的整數(shù)數(shù)組。方法如下:
z[i][j]=y[i][j]0x7FFFFFFF (2)

(4)將z[i][j]存入FLASH ROM。

通過(guò)統(tǒng)計(jì)實(shí)驗(yàn)數(shù)據(jù)發(fā)現(xiàn)歸一化后數(shù)據(jù)的范圍為10-5~1,故K選擇為108,既可以實(shí)現(xiàn)較大精度的轉(zhuǎn)化,又不會(huì)影響第31位的數(shù)值。轉(zhuǎn)換得到的有符號(hào)整型數(shù)組y[M][N]范圍為-108~108,在存儲(chǔ)器中正數(shù)為原碼表示,負(fù)數(shù)為補(bǔ)碼表示,通過(guò)計(jì)算發(fā)現(xiàn),該范圍的正數(shù)第31位為0,負(fù)數(shù)第31位為1,所以,上述第(3)步,將有符號(hào)數(shù)轉(zhuǎn)換為無(wú)符號(hào)數(shù)后,數(shù)值的正負(fù)改為使用第31位標(biāo)識(shí)。在識(shí)別階段,要將說(shuō)話者的GMM參數(shù)依次從FLASH ROM中讀出,逐個(gè)與待識(shí)別者語(yǔ)音的MFCC參數(shù)比較,求最大似然值。參數(shù)調(diào)出過(guò)程與以上存入過(guò)程相反。

1.6 說(shuō)話人身份識(shí)別的結(jié)果顯示

說(shuō)話人的身份顯示通過(guò)LED的組合顯示確定。在DSK上有4只LED燈,將每個(gè)LED燈看成是一位二進(jìn)制數(shù)。則4個(gè)LED燈最大可表示16個(gè)人的身份。該系統(tǒng)取前10個(gè)組合來(lái)表示所識(shí)別的說(shuō)話人的身份。

1.7 自舉的實(shí)現(xiàn)

以上程序都是通過(guò)PC機(jī)與DSP組合實(shí)現(xiàn),要想使系統(tǒng)在DSP上單獨(dú)完成,還必須實(shí)現(xiàn)自舉。該系統(tǒng)采用ROM方式自舉。在自舉實(shí)現(xiàn)過(guò)程中,程序的燒寫(xiě)可以通過(guò)CCS自帶的FLASHBorn工具實(shí)現(xiàn)。在燒寫(xiě)過(guò)程中應(yīng)正確的分配FLAH ROM的空間。FLASHROM空間總體分為程序存儲(chǔ)區(qū)和數(shù)據(jù)存儲(chǔ)區(qū),經(jīng)計(jì)算,程序代碼段大小為0x162C0,故在FLASH ROM中劃分127 KB的空間供程序代碼使用,空間中未使用的部分供程序擴(kuò)展使用。數(shù)據(jù)存儲(chǔ)區(qū)劃分的大小為64 KB的空間,每個(gè)說(shuō)話者模型參數(shù)占用空間為4.2 KB左右,最多可存放15個(gè)說(shuō)話人GMM模型參數(shù)。該系統(tǒng)訓(xùn)練者數(shù)目為10個(gè),占用空間為42 KB左右。剩余的空間可用來(lái)擴(kuò)展訓(xùn)練人數(shù),也可用于后期系統(tǒng)的改進(jìn)。如可以利用語(yǔ)音提示來(lái)顯示說(shuō)話人身份,而提示語(yǔ)音的數(shù)據(jù)可以存放于此區(qū)域。具體的存儲(chǔ)的安排如表1所示。

2 系統(tǒng)的算法與軟件設(shè)計(jì)

說(shuō)話人識(shí)別系統(tǒng)的實(shí)現(xiàn)方案如圖3所示。

輸入的模擬語(yǔ)音先通過(guò)預(yù)處理,包括預(yù)濾波、采樣、量化、加窗、端點(diǎn)檢測(cè)、預(yù)加重等。語(yǔ)音經(jīng)過(guò)預(yù)處理后進(jìn)行特征提取。在訓(xùn)練階段,對(duì)提取的特征進(jìn)行相應(yīng)的處理后就可以獲得參考模型。識(shí)別階段,語(yǔ)音通過(guò)同樣的通道獲得特征參數(shù),生成測(cè)試摸型,之后將測(cè)試摸型與參考摸型進(jìn)行匹配,從而根據(jù)判決邏輯獲得判決結(jié)果。

2.1 語(yǔ)音信號(hào)的端點(diǎn)檢測(cè)

語(yǔ)音信號(hào)的端點(diǎn)檢測(cè)目的是去除語(yǔ)音信號(hào)中的噪聲段。端點(diǎn)檢測(cè)從很大程度上影響到識(shí)別率。常用方法有短時(shí)能量法,短時(shí)過(guò)零率法和雙門(mén)限法等。本系統(tǒng)選用雙門(mén)限法,實(shí)驗(yàn)表明,效果優(yōu)于前兩種方法。在雙門(mén)限方法端點(diǎn)檢測(cè)中,閾值的選擇尤為關(guān)鍵,該系統(tǒng)的語(yǔ)音采樣頻率設(shè)為8 kHz,語(yǔ)音分幀為每幀80個(gè)點(diǎn)。經(jīng)過(guò)多次實(shí)驗(yàn),這里短時(shí)能量低閾值通過(guò)式(3)的動(dòng)態(tài)方式得到,高閾值設(shè)為低閾值的5倍。而過(guò)零率的閾值選取應(yīng)充分考慮到噪聲的影響,通過(guò)大量實(shí)驗(yàn)發(fā)現(xiàn)系統(tǒng)中噪聲的過(guò)零率一般不超過(guò)5,所以對(duì)過(guò)零率的閾值選取為25,取得了很好的效果,準(zhǔn)確率達(dá)到95%以上。

ITU=0.03(amp_max-amp_min)+amp_min (3)

在端點(diǎn)檢測(cè)過(guò)程中有時(shí)會(huì)遇到突發(fā)性的干擾噪聲,這種噪聲持續(xù)時(shí)間很短,一般小于5 ms。為了消除這種干擾,這里用檢測(cè)后的起止長(zhǎng)度判斷它是不是語(yǔ)音。如果所檢測(cè)到的語(yǔ)音長(zhǎng)度足夠的短,則可以把它當(dāng)成是噪聲。

2.2 特征參數(shù)的提取

語(yǔ)音信號(hào)的特征提取是說(shuō)話人身份識(shí)別的難點(diǎn)。能否用相對(duì)簡(jiǎn)單的方法提取出一種最能體現(xiàn)說(shuō)話人個(gè)性信息的特征將成為以后研究的方向。該系統(tǒng)中用的是能體現(xiàn)人耳聽(tīng)覺(jué)特性的Mel倒譜系數(shù)(MFCC)。

MFCC著眼于人耳的聽(tīng)覺(jué)機(jī)理,依據(jù)聽(tīng)覺(jué)的結(jié)果來(lái)分析語(yǔ)音的頻譜,獲得了很好的識(shí)別率和很好的噪聲魯棒性,它利用了聽(tīng)覺(jué)系統(tǒng)的臨界效應(yīng),描述人耳對(duì)感知的非線性特性。在DSP硬件資源配置中,MFCC在識(shí)別性能和DSP內(nèi)部空間占用方面也取得了很好的平衡。在該系統(tǒng)中使用16個(gè)濾波器(M=16)構(gòu)成的濾波器組。圖4所示是MFCC的提取過(guò)程。

2.3 識(shí)別方法選擇與實(shí)現(xiàn)

基于該系統(tǒng)對(duì)速度、識(shí)別效率、存儲(chǔ)空間的要求,這里的識(shí)別方法選為高斯混合模型。高斯混合模型(GMM)可以看成是狀態(tài)數(shù)為1的連續(xù)分布隱馬可夫模型CDHMM。一個(gè)M階混合高斯模型的概率密度函數(shù)是由M個(gè)高斯概率密度函數(shù)加權(quán)求和得到,所示如下:



式中:X是一個(gè)D維隨機(jī)向量;bi(Xi)是子分布,i=1,2,…,M是子分布;ωi是混合權(quán)重,i=1,2,…,M。對(duì)GMM模型參數(shù)的估計(jì)方法該系統(tǒng)采用最大似然估計(jì)。對(duì)于一組長(zhǎng)度為T(mén)的訓(xùn)練矢量序列X={X1,X2,…,XT},GMM的似然度可表示為:



由于式(5)是參數(shù)λ的非線性函數(shù),很難直接求出其最大值。因此,該系統(tǒng)采用EM算法估計(jì)參數(shù)λ。

2.4 算法實(shí)現(xiàn)過(guò)程中的具體考慮.

(1)FFT變換點(diǎn)數(shù)的選擇。FFT變換點(diǎn)數(shù)選擇很重要,如果選擇太大,則運(yùn)算復(fù)雜度變大,使系統(tǒng)響應(yīng)時(shí)間變長(zhǎng),如果選擇太小則可能造成頻率分辨率過(guò)低,提取參數(shù)誤差過(guò)大。該系統(tǒng)中選取的點(diǎn)數(shù)為240點(diǎn)。

(2)模型參數(shù)的選擇。首先模型階數(shù)M必須適中,必須足夠大,可以充分表示出空間的分布。然而,階數(shù)也不能太大,否則數(shù)據(jù)數(shù)量不足,也無(wú)法準(zhǔn)確描述特征空間分布??紤]該系統(tǒng)對(duì)參數(shù)的存儲(chǔ)空間要求,并綜合以上考慮,該系統(tǒng)選用的階數(shù)為32階。

(3)協(xié)方差矩陣類型??紤]到減少計(jì)算量,這里采用對(duì)角陣。在高維特征空間中,對(duì)角陣比全矩陣優(yōu)勢(shì)更為明顯。

(4)方差限定。當(dāng)訓(xùn)練數(shù)據(jù)不足或者是存在噪聲干擾時(shí),方差幅度會(huì)很小,這樣會(huì)導(dǎo)致模型概率函數(shù)的奇異性,所以每次EM迭代時(shí),都需要對(duì)方差進(jìn)行限定。即:



根據(jù)實(shí)驗(yàn)結(jié)果,該系統(tǒng)選取S2 min為0.025

(4)模型初值的設(shè)定:EM算法是尋找局部最大概率的模型。不同的初值會(huì)導(dǎo)致不同的局部極值。該系統(tǒng)中采用的是K均值法。

2.5 K均值法應(yīng)注意的幾個(gè)問(wèn)題

(1)聚類中心的初始化。對(duì)于聚類中心數(shù)目由GMM模型決定,假設(shè)是N。對(duì)于聚類中心的初始化,一般取前N個(gè)矢量作為聚類中心,但在實(shí)驗(yàn)過(guò)程中發(fā)現(xiàn),這種方法不具有針對(duì)性,往往設(shè)立的初始的聚類中心不具有很好的聚類效果。所以這里采用取質(zhì)心法。具體方法為:

第一步先求出訓(xùn)練集S中全體矢量X的質(zhì)心,然后在S中找出一個(gè)與此質(zhì)心的畸變量最大的矢量Xj,再在S中找到一個(gè)與Xj的畸變量最大的矢量Xk。以Xj和Xk為基準(zhǔn)進(jìn)行胞腔劃分,得到Sk和Sj兩個(gè)子集。對(duì)這兩個(gè)子集分別按照同樣的方法劃分得到4個(gè)子集。依次類推,得到N個(gè)子集。這N個(gè)子集的質(zhì)心即為初始的聚類中心。

(2)聚類中心改進(jìn)量δ的選擇。對(duì)于聚類中心改進(jìn)量δ的選擇,若選擇太大,則聚類不充分,影響訓(xùn)練效果;若太小,則會(huì)導(dǎo)致訓(xùn)練無(wú)法完成,該系統(tǒng)通過(guò)試驗(yàn),取比較適中的數(shù)0.01。

(3)最大迭代次數(shù)的選擇。對(duì)于最大迭代次數(shù)的選擇,太小會(huì)導(dǎo)致誤判,太大導(dǎo)致訓(xùn)練不成功時(shí)過(guò)多的占用系統(tǒng)時(shí)間。該系統(tǒng)迭代次數(shù)設(shè)為100,比較適中。

3 實(shí)驗(yàn)結(jié)果及改進(jìn)點(diǎn)

通過(guò)系統(tǒng)調(diào)試及改進(jìn),該系統(tǒng)最終實(shí)現(xiàn)10個(gè)說(shuō)話人的身份識(shí)別,并自舉運(yùn)行。運(yùn)行時(shí)通過(guò)Switch組合可方便的選擇訓(xùn)練或識(shí)別的功能,并可更新說(shuō)話人。訓(xùn)練,識(shí)別的進(jìn)度及結(jié)果通過(guò)LED組合顯示。利用該系統(tǒng)對(duì)5男5女10個(gè)人進(jìn)行訓(xùn)練,每人500次測(cè)試,結(jié)果正確識(shí)別率為98%,識(shí)別時(shí)間為3 s左右。說(shuō)明該系統(tǒng)可以有效的識(shí)別說(shuō)話人的身份。對(duì)于該系統(tǒng),識(shí)別時(shí)間及識(shí)別率上還有改進(jìn)空間,以后工作可圍繞識(shí)別時(shí)間上改進(jìn)。




評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉