基于TMS320C6416的語(yǔ)音凈化系統(tǒng)
目前針對(duì)語(yǔ)音識(shí)別提出了很多算法,但是這些研究基本上都是基于較為純凈的語(yǔ)音環(huán)境,一旦待識(shí)別的環(huán)境中有噪聲和干擾,語(yǔ)音識(shí)別就會(huì)受到嚴(yán)重影響.如果能實(shí)現(xiàn)噪聲和語(yǔ)音的自動(dòng)分離,即在識(shí)別前就獲得較為純凈的語(yǔ)音,可以徹底解決噪聲環(huán)境下的識(shí)別問(wèn)題.近年來(lái)取得很大進(jìn)展的盲源分離為噪聲和語(yǔ)音的分離提供了可能.盲源分離(Blind Source Separation)的算法眾多且運(yùn)算復(fù)雜,經(jīng)比較,其中T.Nishikawa等人提出的分階段ICA方法(MSICA)適合有混響的噪聲環(huán)境中的語(yǔ)音分離問(wèn)題.經(jīng)過(guò)計(jì)算機(jī)仿真,MSICA算法分離一段7s的語(yǔ)音要用時(shí)10ms以上,計(jì)算機(jī)和低速的DSPs很難滿足實(shí)時(shí)要求.
本文引用地址:http://m.butianyuan.cn/article/150249.htm針對(duì)這一算法,設(shè)計(jì)了一套以TI的TMS320C6416 DSP(簡(jiǎn)稱6416)芯片為內(nèi)核的語(yǔ)音凈化系統(tǒng).6416的時(shí)鐘速度高達(dá)720MHz,經(jīng)過(guò)使用MSICA算法的測(cè)試,該系統(tǒng)可以實(shí)時(shí)地對(duì)語(yǔ)音識(shí)別的信號(hào)進(jìn)行凈化處理,有效地提高語(yǔ)音識(shí)別系統(tǒng)的抗噪性和魯棒性.
1 算法描述
1.1 語(yǔ)音識(shí)別信號(hào)的混合模型
1.1.1 卷積混合一般模型
語(yǔ)音信號(hào)的混合模型已從瞬時(shí)模型發(fā)展到卷積模型,相比瞬時(shí)模型而言卷積模型更接近真實(shí)環(huán)境.麥克風(fēng)所測(cè)是卷積混迭信號(hào),即源信號(hào)及其濾波與延遲的混迭信號(hào)的線性組合再加上其它噪聲,如(1)式所示.
式(1)中,sj(t),j=1,…,N為信號(hào)源,且各源信號(hào)相互獨(dú)立;xi(t),i=1,…,N為N個(gè)觀測(cè)數(shù)據(jù)向量,其元素是各個(gè)麥克鳳得到的輸入.所以觀測(cè)信號(hào)xi(t)是每個(gè)源信號(hào)sj(t)經(jīng)過(guò)延時(shí)tij,并乘以因子aij(t)(沖擊響應(yīng))后疊加,最后加上噪聲ni(t).
1.1.2 針對(duì)語(yǔ)音識(shí)別的簡(jiǎn)化混合模型
一般的語(yǔ)音識(shí)別只有一個(gè)麥克風(fēng),根據(jù)盲源分離理論,麥克鳳數(shù)應(yīng)不少于信源數(shù),所以采用主副兩個(gè)麥克風(fēng)輸入待識(shí)別語(yǔ)音,為簡(jiǎn)化處理假定只有主講話者聲音s1和背景噪聲s2(此背景噪聲包括經(jīng)過(guò)延遲的回聲)兩個(gè)聲源.可得如圖1的混合模型.
信號(hào)源s1到達(dá)兩個(gè)麥克風(fēng)的時(shí)間間隔為t21,且幅度值不同;s2到達(dá)兩個(gè)麥克風(fēng)的時(shí)間間隔為t12,幅度值也不同.又因?yàn)橹餍盘?hào)源s1非??拷鼉蓚€(gè)麥克風(fēng),所以認(rèn)為T(mén)21比T12小很多,且趨于零.于是得到相應(yīng)的模型表達(dá)式的簡(jiǎn)化形式:
x1(t)=s1(t)+a12s2(t-t12)+n1(t) (2)
x2(t)=a21s1(t-t21)+s2(t)+n2(t)
1.2 MSICA算法及其實(shí)現(xiàn)步驟
傳統(tǒng)采用頻域ICA(FDICA)或者時(shí)域ICA(TDICA)方法,單一的方法在真實(shí)環(huán)境中缺點(diǎn)很明顯,分離效果在混響環(huán)境中受到很大影響.然而一種時(shí)頻域結(jié)合多級(jí)分離的混合型ICA算法——MSICA算法可以有效解決這一問(wèn)題.
該算法主要由三個(gè)步驟組成:首先,利用FDICA的高穩(wěn)態(tài)性的優(yōu)點(diǎn)在一定程度上分離源信號(hào);為了簡(jiǎn)化后續(xù)計(jì)算,白化FDICA分離出來(lái)的信號(hào);接著,把白化后的FDICA輸出信號(hào)當(dāng)作TDICA的輸入信號(hào),并用TDICA分離線留的交叉干擾分量;最后,TDICA的輸出信號(hào)即為分離信號(hào).算法框圖如圖2所示.
2 DSP硬件系統(tǒng)設(shè)計(jì)
2.1 硬件結(jié)構(gòu)
為實(shí)現(xiàn)上述算法設(shè)計(jì)了DSP語(yǔ)音分離系統(tǒng),該系統(tǒng)主要參數(shù)如下:
·TMS320C6416 DSP;
·16M words FLASH ROM;
·兩個(gè)EMIF:64-Bit EMIFA和16-Bit EMIFB;
·133MHz的16MB SDRAM;
·兩個(gè)16-bit立體聲CODEC:TLV320AD50.
TMS320C6416有很高的信號(hào)處理能力以及豐富的片內(nèi)存儲(chǔ)咕嘟和片內(nèi)外設(shè),且有兩級(jí)內(nèi)部存儲(chǔ)結(jié)構(gòu).第一級(jí)L1緩存包含各為16KB的程序和數(shù)據(jù)存儲(chǔ)器,第二級(jí)L2包含1024KB的存儲(chǔ)空間.第一級(jí)只能作為緩存而第二級(jí)可以被設(shè)置為部分靜態(tài)RAM和部分緩存.在語(yǔ)音凈化系統(tǒng)中,設(shè)置L2為4通道256KB緩存和768KB靜態(tài)RAM.這種配置使用了最大允許的緩存,是因?yàn)镸SICA算法將處理大量的數(shù)據(jù),訪問(wèn)外部存儲(chǔ)器會(huì)有瓶頸,而大緩存可以將諸如中斷服務(wù)程序、常用函數(shù)的代碼、軟件堆棧等關(guān)鍵數(shù)據(jù)段和反復(fù)使用的系數(shù)存儲(chǔ)于片內(nèi)存儲(chǔ)器中,從而大大提高內(nèi)部存儲(chǔ)空間的使用效率.6416的兩個(gè)多通道緩沖串口(McBSP)用作數(shù)據(jù)的輸入輸出端口.模擬接口芯片TLV320AD50可以提供16bit的數(shù)/模、模/數(shù)轉(zhuǎn)換,最大轉(zhuǎn)換率是22.5kHz.采樣率為8kHz,兩個(gè)TLV320AD50分別通過(guò)McBSP與TMS320C6416相連.兩路混合語(yǔ)音信號(hào)通過(guò)模擬接口電路轉(zhuǎn)化為數(shù)字信號(hào),兩路數(shù)字信號(hào)通過(guò)TMS320C6416的兩個(gè)McBSP輸入,根據(jù)語(yǔ)音特征存儲(chǔ)中存儲(chǔ)的語(yǔ)音特征進(jìn)行語(yǔ)音分離,分離出純凈的特識(shí)別語(yǔ)音,進(jìn)行語(yǔ)音識(shí)別,最后輸出識(shí)別結(jié)果.系統(tǒng)框圖見(jiàn)圖3.
評(píng)論