<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式實時英語語音識別系統(tǒng)的設計和實現(xiàn)

          嵌入式實時英語語音識別系統(tǒng)的設計和實現(xiàn)

          ——
          作者:胡姍姍,劉加,王國梁 時間:2007-01-26 來源:《電子技術應用》 收藏


          隨著移動設備的快速發(fā)展,迫切需要一種更友好、更敏捷的用戶操作系統(tǒng)。自動語音識別系統(tǒng)能夠提供便利的人機交互,將成為一種主要方法,目前,實驗室環(huán)境中的自動語音識別系統(tǒng)已經(jīng)取得了很好的效果,但需要很大的存儲空間和運算資源。當自動語音識別應用于移動設備時,必須對模型和識別策略進行相應改進,才能滿足其對運算速度、內(nèi)存資源和功耗的要求,為了解決這個問題,本文將結合英語語音的特點,設計并實現(xiàn)嵌入式英語語音識別系統(tǒng),完成中等詞匯量的孤立詞實時識別任務。

          1 硬件平臺

          嵌入式系統(tǒng)的軟硬件高度結合,針對系統(tǒng)的特定任務,要量體裁衣、去除冗余、使得系統(tǒng)能夠在高性能、高效率、高穩(wěn)定性的同時,保證低車成本和低功耗,因此,系統(tǒng)硬件平臺的選用是因為系統(tǒng)整體性能的關鍵因素,系統(tǒng)采用infineon公司unispeech 80d51語音處理專用芯片作為芯片的硬件平臺,該芯片集成了一個16位定點dsp核(oak)、一個8位mcu核(m8051 e-warp)、兩路adc、兩路dac、104kb的sram以及高靈活性的mmu等器件,其中dsp最高工作頻率可達100mhz,mcu最高工作頻率為50mhz。

          由于系統(tǒng)的語音處理專用芯片unispeech集成了大部分的功能單元,片外所需元件很少,因此系統(tǒng)硬件平臺的板級結構非常簡單,圖1為硬件平臺的板級結構圖。

          本文引用地址:http://www.ex-cimer.com/article/21583.htm

          專用芯片只需外接:

          (1)eprom:存放系統(tǒng)程序;

          (2)flash memory:存放語音識別系統(tǒng)需要的聲學模型參數(shù)和系統(tǒng)中的語音提示、語音回放數(shù)據(jù);

          (3)語音輸入器件:可直接外接麥克風,接收語音信號;

          (4)語音輸出器件:可直接外接揚聲器或耳機,輸出系統(tǒng)的提示音;

          (5)電源:通過電壓變換芯片,為電路板上各芯片提供需要的電壓;

          (6)usb接口:接板級語音識別模塊提供了usb接口,以提高該嵌入式系統(tǒng)和通用計算機系統(tǒng)之間數(shù)據(jù)交換的速度;

          (7)鍵盤:提供外接鍵盤接口,方便系統(tǒng)控制;

          (8)液晶:可外接一塊液晶顯示屏,以輸出識別結果;

          (9)其他設備接口:為了增強該語音信號處理模塊的功能擴展性,unispeech提供了豐富的i/o資源,共有100條通用i/o,系統(tǒng)也預留了這些i/o接口,以方便與其他設備連接。

          2 算法研究

          2.1 兩階段識別算法

          在英語語音識別系統(tǒng)中,常用的聲學模型基本單元是單詞(word)、上下文無關音速(monophone)[1]、上下文相關音速(triphone、biphone)和音節(jié)(syllable)[2],單詞模型由于其靈活性太差及計算時間和占用內(nèi)存隨待識別單詞數(shù)的增加而線性增長,所以在嵌入式語音識別系統(tǒng)中很少應用。monophone模型具有模型簡單、狀態(tài)數(shù)較少、識別速度快、內(nèi)存占用少且與識別詞匯量無關等優(yōu)點,但其對發(fā)音的相關性描述不夠精確,一選識別率不高,triphone和syllable模型對發(fā)音相關性能準確建模,但模型數(shù)量巨大、狀態(tài)數(shù)較多、識別速度慢、內(nèi)存占用多,為了解決內(nèi)存占用量與識別速度之間的矛盾,本文采用了兩階段搜索算法,其基本流程如圖2所示。

          在第一階段識別中,采用monophone模型和靜態(tài)識別網(wǎng)絡,得到多侯選詞條;在第二階段識別中,根據(jù)第一階段輸出的多侯選詞條,構建新的識別網(wǎng)絡,采用triphone模型,進行精確識別,得到最終的識別結果。由于第二階段識別的詞條數(shù)較少,與只采用triphone模型的一階段識別相比,識別速度大大提高,同時,第二階段識別可重用第一階段的內(nèi)存資源,也減少了級別系統(tǒng)的內(nèi)存占用量。

          2.2 特征提取與選擇

          在連續(xù)語音識別系統(tǒng)中,通常采用39維的mfcc(mel frequency cepstral coefficient)特征,甚至再加入一些特征。但是,考慮到嵌入式系統(tǒng)有限的硬件資源,在不降低識別率的基礎上,應盡量減少特征的維數(shù),本文采用最小互信息改變準則mmic(minimum mutual information change)進行特征選擇,一階段采用22維mfcc特征(9 mfcc,6δmfcc,4δ2mfcc,e,δe,δ2e),二階段采用26維mfcc特征(10mfcc,7δmfcc,6δ2mfcc,e,δe,δ2e)。

          2.3 數(shù)據(jù)的輸入輸出

          對于硬件系統(tǒng),如果數(shù)據(jù)的讀入速度較慢,則對運算速度影響就很大,在保證系統(tǒng)高識別率的前提下,系統(tǒng)的內(nèi)存消耗量和識別時間常常是一對矛盾體,很難保證兩者同時達到理想狀態(tài),如果僅僅考慮節(jié)省內(nèi)存、將每個詞條識別網(wǎng)絡和相應的狀態(tài)逐個讀入,計算匹配分數(shù),這樣雖然可以最大限度地節(jié)省內(nèi)存的使用,但是數(shù)據(jù)的多次讀入占用了大量時間,并且反復計算同一個轉移概率,也對識別時間影響很大,另一方面,如果僅僅考慮運算速度,一次性將所有詞條的識別網(wǎng)絡和所有狀態(tài)模型讀入內(nèi)存,雖然僅需一次性數(shù)據(jù)讀入,運算速度大大提高,但卻對內(nèi)存提出了更高要求,為了更好地利用系統(tǒng)的硬件資源,本系統(tǒng)首先逐個讀入模型,計算所有觀察矢量在各狀態(tài)模型的輸出概率,存放在內(nèi)存中,然后逐條讀入識別網(wǎng)絡,選取路徑似然度最高的詞條作為最終的識別結果,這樣綜合了前面兩種方案的優(yōu)點,適應了硬件系統(tǒng)的要求。

          2.4 兩階段端點檢測

          端點檢測是嵌入式語音識別中最基本的模塊,端點檢測是否準確直接影響系統(tǒng)的運算復雜度和系統(tǒng)的識別性能,因此在不增加復雜運算量的前提下,希望端點檢測能盡量準確,而且能適應嵌入式系統(tǒng)多變的應用環(huán)境,本文使用了一種有效的兩階段端點檢測方法,在第一階段使用圖像分割中經(jīng)常使用的邊緣檢測濾波器方法,得到一個能包含語音段同時又比較寬松的端點結果,在第二階段,對第一階段的結果進行再判決,使用直方圖統(tǒng)計方法得到靜音段的能量聚類中心,并用這個中心能量值對整句能量序列進行中心削波,對削波后的能量序列進行最終判決,通常最終的結果會在第二階段端點檢測的基礎上作適當?shù)姆潘?,前后放?-5幀(大約64-80ms),這些放松在求取特征的差分分量時是很有必要的。

          在實驗室環(huán)境下(信噪比大于25db),以8khz采樣頻率錄制了20人(其中男、女各10人)的語音數(shù)據(jù),對于1200句原始錄制語音或帶噪語音,對傳統(tǒng)的固定能量閾值方法和兩階段檢測方法進行了比較測試,測試的性能如表1所示。

          傳統(tǒng)的固定閾值方法就是針對環(huán)境噪聲設定一個固定的能量閾值進行端點檢測,實踐證明,兩階段檢測方法無論在安靜環(huán)境中還是在包含一定噪聲的環(huán)境中,都比固定能量閾值的端點檢測方法有更好的性能,此方法能夠進一步改善嵌入式語音識別系統(tǒng)的識別性能。

          2.5 束搜索

          英語語音發(fā)音快、單詞長、狀態(tài)數(shù)多,因而搜索時間長,要實現(xiàn)實時識別、就不能在所有的語音數(shù)據(jù)都得到后再進行解碼識別,在兩級識別網(wǎng)絡中,第一階段要在大量的詞條中搜索,而第二階段只在n_best詞條中搜索,相對時間占用量很少,為了滿足實時要求,本系統(tǒng)在獲取語音信號的同時進行提取特征和第一階段識別[6],根據(jù)硬件的內(nèi)存容量,考慮到匹配分數(shù)所占用的內(nèi)存,選取每20幀(320ms)的語音完成一次搜索。由于所搜索的詞條并沒有結束,不能求出最終對應于詞條得分數(shù),因此,必須保留每次搜索中每個詞條的每個節(jié)點的匹配分數(shù),這帶來了新的內(nèi)存開銷。

          解決方法是在第一階段識別網(wǎng)絡中加入束搜索(beam search)快速算法。該算法假設:viterbi解碼過程中的最終路徑在任何時刻都能保證較高的似然度,在搜索過程中對網(wǎng)絡進行剪枝,只保留匹配分數(shù)最大的有限個路徑,以減少運算量和內(nèi)存消耗。但是,要獲得匹配得分數(shù)最大的幾個狀態(tài),在每次搜索過程中都要對匹配分數(shù)進行排序,這使運算負擔加重,在實際中不可取,為了解決這一問題,結合本系統(tǒng)識別網(wǎng)絡的特點,采用了一種滑動窗束搜索算法。對于每一個詞條網(wǎng)絡,viterbi解碼過程中,近似地認為真實路徑總是當前匹配分數(shù)最優(yōu)的路徑和近鄰路徑,因此,設置了一個固定寬度的窗,在所有時刻,窗中的路徑總包含了該時刻似然度最高的路徑及其相鄰路徑,而那些落在窗外的路徑則將被剪枝,由于模型狀態(tài)不可跨越,因此,下一個活躍路徑的位置,只可能是上一個活躍路徑的原有位置或者滑動一格,由于中間的匹配分數(shù)相同,比較滑動窗兩端的匹配分數(shù)即可決定下一個滑動窗的位置,這樣可大大減少比較的運算量,提高運算速度。

          由于語音信號隨機性較強,束搜索的這種假設并不符合真實情況,因此,過窄的束寬很容易導致最后識別結果的錯誤,以三對角高斯模型為例,語音庫為10個男生的命令詞,窗寬與識別率的關系如表2所示。

          可以看出,當窗寬為15時,識別率基本沒有下降,這個結果與侯選詞條的長度有關,詞條的狀態(tài)越多,最優(yōu)結果在搜索過程中“露出”窗外的可能性也就越大,綜合束搜索對系統(tǒng)率和識別時間兩方面的影響,選定了束寬為10的滑動窗算法為系統(tǒng)的束搜索算法。

          3 實驗結果

          實驗訓練集采用ldc wsj1訓練庫(si_tr_s)包括200人的連續(xù)語音,共61個小時,降采樣為8khz,16位量化,測試集為由wsj1測試集(cdtest和hsdtest)得到的525個短句(每句包含2個單詞),侯選詞條為535個,包括637個不同的單詞發(fā)音,同樣降采樣為8khz,16位量化。

          表3為一階段識別和兩階段識別的識別率,識別時間和內(nèi)存占用量比較,從表3中可以看出,與直接進行的一階段識別相比,兩階段識別通過采用兩階段斷電檢測方法、mmic特征選擇算法、特征提取和解碼同步的束搜索算法,極大的提高了識別率,減少了內(nèi)存占用量和識別時間。

          本文提出了一種基于定點dsp的嵌入式英語孤立詞識別系統(tǒng),兩階段識別的連續(xù)hmm模型,其中第一階段為實時識別,第二階段為非實時識別,通過采用新穎的兩階段端點測試方法、最后互信息改變準則特征選擇算法、特征提取和解碼同步的束搜索算法,進一步提高了識別性能、減少了內(nèi)存占用量和計算復雜度。



          關鍵詞:

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();