當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于TMS320C6416的語音凈化系統(tǒng)

目前針對語音識別提出了很多算法,但是這些研究基本上都是基于較為純凈的語音環(huán)境,一旦待識別的環(huán)境中有噪聲和干擾,語音識別就會受到嚴重影響.如果能實現(xiàn)噪聲和語音的自動分離,即在識別前就獲得較為純凈的語音,可以徹底解決噪聲環(huán)境下的識別問題.近年來取得很大進展的盲源分離為噪聲和語音的分離提供了可能.盲源分離(Blind Source Separation)的算法眾多且運算復(fù)雜,經(jīng)比較,其中T.Nishikawa等人提出的分階段ICA方法(MSICA)適合有混響的噪聲環(huán)境中的語音分離問題.經(jīng)過計算機仿真,MSICA算法分離一段7s的語音要用時10ms以上,計算機和低速的DSPs很難滿足實時要求.

        針對這一算法,設(shè)計了一套以TI的TMS320C6416 DSP(簡稱6416)芯片為內(nèi)核的語音凈化系統(tǒng).6416的時鐘速度高達720MHz,經(jīng)過使用MSICA算法的測試,該系統(tǒng)可以實時地對語音識別的信號進行凈化處理,有效地提高語音識別系統(tǒng)的抗噪性和魯棒性.

  1 算法描述

  1.1 語音識別信號的混合模型

  1.1.1 卷積混合一般模型

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

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

  1.1.2 針對語音識別的簡化混合模型

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

  信號源s1到達兩個麥克風(fēng)的時間間隔為t21,且幅度值不同;s2到達兩個麥克風(fēng)的時間間隔為t12,幅度值也不同.又因為主信號源s1非??拷鼉蓚€麥克風(fēng),所以認為T21比T12小很多,且趨于零.于是得到相應(yīng)的模型表達式的簡化形式:

  x1(t)=s1(t)+a12s2(t-t12)+n1(t)   (2)

  x2(t)=a21s1(t-t21)+s2(t)+n2(t)

  1.2 MSICA算法及其實現(xiàn)步驟

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

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

  

 

  2 DSP硬件系統(tǒng)設(shè)計

  2.1 硬件結(jié)構(gòu)

  為實現(xiàn)上述算法設(shè)計了DSP語音分離系統(tǒng),該系統(tǒng)主要參數(shù)如下:

  ·TMS320C6416 DSP;

  ·16M words FLASH ROM;

  ·兩個EMIF:64-Bit EMIFA和16-Bit EMIFB;

  ·133MHz的16MB SDRAM;

  ·兩個16-bit立體聲CODEC:TLV320AD50.

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

  

[!--empirenews.page--]2.2 軟件流程

 

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

  

 

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

  2.3 代碼優(yōu)化

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

  (1)內(nèi)聯(lián)函數(shù)優(yōu)化

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

  (2)數(shù)據(jù)讀寫優(yōu)化

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

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

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

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

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

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

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

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

  2.4 實驗結(jié)果

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

  結(jié)語

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

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉