<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于盲源分離的語(yǔ)音識別前端語(yǔ)音凈化處理研究

基于盲源分離的語(yǔ)音識別前端語(yǔ)音凈化處理研究

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

  目前針對提出了很多算法,但是這些研究基本上都是基于較為純凈的語(yǔ)音環(huán)境,一旦待識別的環(huán)境中有噪聲和干擾,就會(huì )受到嚴重影響.因為大多數的語(yǔ)音模板基本上是在無(wú)噪聲和無(wú)混響的“純凈”環(huán)境中采集、轉換而成.而實(shí)現環(huán)境中不可避免地存在干擾和噪聲,包括其他人的聲音和回聲等,這些噪聲有時(shí)很強,使語(yǔ)音識別系統的性能大大降低甚至癱瘓.已有的信號去噪、參數去噪和抗噪識別等方法都有一定的局限.如果能實(shí)現噪聲和語(yǔ)音的自動(dòng)分離,即在識別前就獲得較為純凈的語(yǔ)音,可以徹底解決噪聲環(huán)境下的識別問(wèn)題.近年來(lái)取得很大進(jìn)展的盲源分離為噪聲和語(yǔ)音的分離提供了可能.盲源分離(Blind Source Separation)的算法眾多且運算復雜,經(jīng)比較,其中T.Nishikawa等人提出的分階段ICA方法(MSICA)適合有混響的噪聲環(huán)境中的語(yǔ)音分離問(wèn)題.經(jīng)過(guò)計算機仿真,MSICA算法分離一段7s的語(yǔ)音要用時(shí)10ms以上,計算機和低速的DSPs很難滿(mǎn)足實(shí)時(shí)要求.針對這一算法,設計了一套以TI的TMS320C6416 DSP(簡(jiǎn)稱(chēng)6416)芯片為內核的語(yǔ)音凈化系統.6416的時(shí)鐘速度高達720MHz,經(jīng)過(guò)使用MSICA算法的測試,該系統可以實(shí)時(shí)地對語(yǔ)音識別的信號進(jìn)行凈化處理,有效地提高語(yǔ)音識別系統的抗噪性和魯棒性.

  1 算法描述

  1.1 語(yǔ)音識別信號的混合模型

  1.1.1 混合一般模型

  語(yǔ)音信號的混合模型已從瞬時(shí)模型發(fā)展到模型,相比瞬時(shí)模型而言模型更接近真實(shí)環(huán)境.麥克風(fēng)所測是卷積混迭信號,即源信號及其濾波與延遲的混迭信號的線(xiàn)性組合再加上其它噪聲,如(1)式所示.

  式(1)中,sj(t),j=1,…,N為信號源,且各源信號相互獨立;xi(t),i=1,…,N為N個(gè)觀(guān)測數據向量,其元素是各個(gè)麥克鳳得到的輸入.所以觀(guān)測信號xi(t)是每個(gè)源信號sj(t)經(jīng)過(guò)延時(shí)tij,并乘以因子aij(t)(沖擊響應)后疊加,最后加上噪聲ni(t).

  1.1.2 針對語(yǔ)音識別的簡(jiǎn)化混合模型

  一般的語(yǔ)音識別只有一個(gè)麥克風(fēng),根據盲源分離理論,麥克鳳數應不少于信源數,所以采用主副兩個(gè)麥克風(fēng)輸入待識別語(yǔ)音,為簡(jiǎn)化處理假定只有主講話(huà)者聲音s1和背景噪聲s2(此背景噪聲包括經(jīng)過(guò)延遲的回聲)兩個(gè)聲源.可得如圖1的混合模型.

  信號源s1到達兩個(gè)麥克風(fēng)的時(shí)間間隔為t21,且幅度值不同;s2到達兩個(gè)麥克風(fēng)的時(shí)間間隔為t12,幅度值也不同.又因為主信號源s1非??拷鼉蓚€(gè)麥克風(fēng),所以認為T(mén)21比T12小很多,且趨于零.于是得到相應的模型表達式的簡(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í)現步驟

  傳統采用頻域ICA(FDICA)或者時(shí)域ICA(TDICA)方法,單一的方法在真實(shí)環(huán)境中缺點(diǎn)很明顯,分離效果在混響環(huán)境中受到很大影響.然而一種時(shí)頻域結合多級分離的混合型ICA算法——MSICA算法可以有效解決這一問(wèn)題.

  該算法主要由三個(gè)步驟組成:首先,利用FDICA的高穩態(tài)性的優(yōu)點(diǎn)在一定程度上分離源信號;為了簡(jiǎn)化后續計算,白化FDICA分離出來(lái)的信號;接著(zhù),把白化后的FDICA輸出信號當作TDICA的輸入信號,并用TDICA分離線(xiàn)留的交叉干擾分量;最后,TDICA的輸出信號即為分離信號.算法框圖如圖2所示.

  2 DSP硬件系統設計

  2.1 硬件結構

  為實(shí)現上述算法設計了DSP語(yǔ)音分離系統,該系統主要參數如下:

  ·TMS320C6416 DSP;

  ·16M words FLASH ROM;

  ·兩個(gè)EMIF:64-Bit EMIFA和16-Bit EMIFB;

  ·133MHz的16MB SDRAM;

  ·兩個(gè)16-bit立體聲CODEC:TLV320AD50.

基于盲源分離的語(yǔ)音識別前端語(yǔ)音凈化處理研究

  TMS320C6416有很高的能力以及豐富的片內存儲咕嘟和片內外設,且有兩級內部存儲結構.第一級L1緩存包含各為16KB的程序和數據存儲器,第二級L2包含1024KB的存儲空間.第一級只能作為緩存而第二級可以被設置為部分靜態(tài)RAM和部分緩存.在語(yǔ)音凈化系統中,設置L2為4通道256KB緩存和768KB靜態(tài)RAM.這種配置使用了最大允許的緩存,是因為MSICA算法將處理大量的數據,訪(fǎng)問(wèn)外部存儲器會(huì )有瓶頸,而大緩存可以將諸如中斷服務(wù)程序、常用函數的代碼、軟件堆棧等關(guān)鍵數據段和反復使用的系數存儲于片內存儲器中,從而大大提高內部存儲空間的使用效率.6416的兩個(gè)多通道緩沖串口(McBSP)用作數據的輸入輸出端口.模擬接口芯片TLV320AD50可以提供16bit的數/模、模/數轉換,最大轉換率是22.5kHz.采樣率為8kHz,兩個(gè)TLV320AD50分別通過(guò)McBSP與TMS320C6416相連.兩路混合語(yǔ)音信號通過(guò)模擬接口電路轉化為數字信號,兩路數字信號通過(guò)TMS320C6416的兩個(gè)McBSP輸入,根據語(yǔ)音特征存儲中存儲的語(yǔ)音特征進(jìn)行語(yǔ)音分離,分離出純凈的特識別語(yǔ)音,進(jìn)行語(yǔ)音識別,最后輸出識別結果.系統框圖見(jiàn)圖3.

  2.2 軟件流程

  系統上電后,存儲在FLASH ROM中的程序將裝入TMS320C6416的片內RAM中,程序對寄存器、中斷向量表和編碼進(jìn)行初始化并對片內McBSP進(jìn)行配置,完成這些初始化的任務(wù)后系統采集并處理語(yǔ)音信號.系統首先對目前狀態(tài)進(jìn)行辨識.開(kāi)機后的狀態(tài)分為非識別狀態(tài)和識別狀態(tài),非識別狀態(tài) 下系統將采集純正語(yǔ)音信號,提取出語(yǔ)音特征送入存儲器中作為模板;識別狀態(tài)下首先參數考純凈語(yǔ)音的特征對采集的雙路混合信號進(jìn)行分離,獲得純凈的待別語(yǔ)音,最后送入識別系統完成語(yǔ)音識別.整個(gè)流程見(jiàn)圖4.

  具體分離步驟在初始化之后,主函數程序進(jìn)入一個(gè)等待循環(huán),在一個(gè)新的采樣輸入被獲取之后與中斷服務(wù)程序(ISR)一起工作并調用分離程序.第一步,信號首先通過(guò)TI的DFT程序變換到頻域.系統使用最前面的幾個(gè)塊(例如取5塊)來(lái)估計輸入信號x1和x2每個(gè)頻率分量的功率矩陣.流程圖(見(jiàn)圖5)中的變量P表示正在處理的塊數.對于接下來(lái)的每一塊(P≥5),系統通過(guò)指數平均來(lái)更新輸入信號的功率矩陣,以計算出梯度.然后計算步長(cháng)u12、u21和差分脈沖響應濾波器ΔH12、ΔH21的更新系數.最后確定更新系統和DRIR濾波器系數,在頻域對輸入信號進(jìn)行初步分離.第二步,白化程序對FDICA輸出信號進(jìn)行白化處理,以去除信號的相關(guān)性.第三步,首先通過(guò)最小化非負代價(jià)函數計算分離濾波器矩陣和分離濾波器系數,然后帶入白化后的信號求得TDICA輸出信號.

基于盲源分離的語(yǔ)音識別前端語(yǔ)音凈化處理研究

  2.3 代碼優(yōu)化

  為了進(jìn)行實(shí)時(shí)的混合語(yǔ)音分離并識別,分離算法必須在盡可能短的時(shí)間(如1~2s)內完成.在本系統中,通過(guò)CCS對C源代碼進(jìn)行編譯,并對分離算法的一些關(guān)鍵模塊從內聯(lián)函數替換、數據讀寫(xiě)、循環(huán)體優(yōu)化、函數拆并、C級優(yōu)化等方面進(jìn)行優(yōu)化設計,以達到充分利用CPU、存儲器等資源,提高算法運行速度,滿(mǎn)足實(shí)時(shí)性要求.

  (1)內聯(lián)函數優(yōu)化

  通過(guò)內聯(lián)函數替換提高代碼性能.內聯(lián)函數直接與匯編指令相對應,通過(guò)使用它們,C編譯器能達到更好的編譯效果,并充分利用系統資源.C6416提供豐富的內聯(lián)函數,涵蓋了各種數據類(lèi)型的乘、加、移位等操作.實(shí)驗結果表明,內聯(lián)函數替換是提高代碼性能最簡(jiǎn)單、直接有效的方法.

  (2)數據讀寫(xiě)優(yōu)化

  充分利用C6416的雙字存儲指信和packing/unpacking方式提高代碼的運行速度.

  (3)循環(huán)體優(yōu)化

  通過(guò)軟件流水工具(Software Pipeline)適當安排循環(huán)指令,使多次迭代并行執行,以達到優(yōu)化代碼的目的.

  (4)函數拆并優(yōu)化

  將某些大函數拆開(kāi)成多個(gè)小函數或相反,以提高程序的運行速度.對FDICA和TDICA等大程序中某些常用的分支,可將其拆分以減少判斷、跳轉操作.對于某些簡(jiǎn)單的小函數,將其合并成大函數有助于減少程序調用開(kāi)銷(xiāo).

  (5)C級優(yōu)化

  在定點(diǎn)DSP上進(jìn)行浮點(diǎn)運算會(huì )影響C源代碼的性能.因此,第一個(gè)優(yōu)化任務(wù)就是將源碼中運算比較密集的部分(如分離濾波器矩陣和分離濾波器系數的計算)轉換成定點(diǎn)的算法.此外,影響系統性能的一個(gè)重要原因是沒(méi)有有效利用DSP的并行計算能力,TMS320C6416為最優(yōu)化這些并行操作的打包數據處理提供了特殊的指令.系統另一個(gè)瓶頸是對外部存儲器的訪(fǎng)問(wèn).對混合語(yǔ)音的分離需要處理大量的數據,存儲和訪(fǎng)問(wèn)可能是DSP系統的最大瓶頸.通過(guò)使用緩存可以緩解瓶頸,優(yōu)化在外部和內部存儲中的數據定位可以提高系統的性能.最后,使用C編譯器的最優(yōu)化選項編譯代碼.

  上述的優(yōu)化并非已經(jīng)完全,在后續的研究中代碼可以進(jìn)一步優(yōu)化,如可改進(jìn)以下幾處:首先,使用DMA以提高存儲器訪(fǎng)問(wèn)的性能并減少存儲器消耗;其次,為了避免浮點(diǎn)溢出可以將代碼全部轉換為定點(diǎn),對代碼中的關(guān)鍵循環(huán)進(jìn)行更好的組織以實(shí)現軟件流水線(xiàn);最后,為了最大程序提高性能可以使用線(xiàn)性匯編語(yǔ)言并對部分代碼進(jìn)行匯編層的優(yōu)化.

  2.4 實(shí)驗結果

  采用兩組混合語(yǔ)音來(lái)測試,即單獨錄制兩個(gè)純凈的信號源,圖1所示模型用MATLAB混合(忽略噪聲),通過(guò)凈化系統得到兩級分離信號并與原始語(yǔ)音進(jìn)行比對.x1(t)和x2(t)即為兩個(gè)麥克風(fēng)的輸入信號.使用以下兩組聲音信號作為測試信號,第一組為語(yǔ)音和音樂(lè )信號,第二組為兩個(gè)語(yǔ)音信號,都是16kHz采樣16bit單聲道文件,長(cháng)度均為7s.圖6與圖7分別為上述兩組混合語(yǔ)音的分離結果,從中可以看出分離效果非常令人滿(mǎn)意,達到了帶噪語(yǔ)音的凈化效果.

  在實(shí)驗室環(huán)境引入語(yǔ)音凈化系統后,語(yǔ)音識別的速度雖然略有下降,但是識別語(yǔ)音的信噪比有顯著(zhù)提高,在有不同信噪比的音樂(lè )和混響噪聲的背景中,識別率平均提高30%以上.



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>