《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 嵌入式實(shí)時(shí)英語語音識別系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)

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

《電子技術(shù)應(yīng)用》
2008-03-31
作者:胡珊珊,,劉 加,王國梁

  摘 要: 采用兩級識別網(wǎng)絡(luò),以連續(xù)隱含馬爾可夫模型為基本識別框架,基于一個(gè)100MIPS的16位定點(diǎn)DSP語音芯片平臺,實(shí)現(xiàn)了嵌入式非特定人、中等詞匯量英語" title="英語">英語孤立詞實(shí)時(shí)識別系統(tǒng)。
  關(guān)鍵詞: 語音識別 嵌入式系統(tǒng)" title="嵌入式系統(tǒng)">嵌入式系統(tǒng) 端點(diǎn)檢測" title="端點(diǎn)檢測">端點(diǎn)檢測 束搜索


  隨著移動(dòng)設(shè)備的快速發(fā)展,,迫切需要一種更友好、更便捷的用戶操作系統(tǒng),。自動(dòng)語音識別系統(tǒng)" title="語音識別系統(tǒng)">語音識別系統(tǒng)能夠提供便利的人機(jī)交互,,將成為一種主要方法。目前,,實(shí)驗(yàn)室環(huán)境中自動(dòng)語音識別系統(tǒng)已經(jīng)取得了很好的效果,,但需要很大的存儲空間和運(yùn)算資源。當(dāng)自動(dòng)語音識別應(yīng)用于移動(dòng)設(shè)備時(shí),,必須對模型和識別策略進(jìn)行相應(yīng)改進(jìn),,才能滿足其對運(yùn)算速度,、內(nèi)存資源和功耗的要求。為了解決這個(gè)問題,,本文將結(jié)合英語語音的特點(diǎn),設(shè)計(jì)并實(shí)現(xiàn)嵌入式英語語音識別系統(tǒng),,完成中等詞匯量的孤立詞實(shí)時(shí)識別任務(wù)。
1 硬件平臺
  嵌入式系統(tǒng)的軟硬件高度結(jié)合,,針對系統(tǒng)的特定任務(wù),,要量體裁衣、去除冗余,,使得系統(tǒng)能夠在高性能,、高效率、高穩(wěn)定性的同時(shí),,保證低成本和低功耗,。因此,系統(tǒng)硬件平臺的選用是影響系統(tǒng)整體性能的關(guān)鍵因素,。系統(tǒng)采用Infineon公司Unispeech 80D51語音處理專用芯片作為核心的硬件平臺,,該芯片集成了一個(gè)16位定點(diǎn)DSP核(OAK)、一個(gè)8位MCU核(M8051 E-Warp),、兩路ADC,、兩路DAC、104KB的SRAM以及高靈活性的MMU等器件,。其中DSP最高工作頻率可達(dá)100MHz,MCU最高工作頻率為50MHz,。
  由于系統(tǒng)的語音處理專用芯片UniSpeech集成了大部分的功能單元,,片外所需元件很少,因此系統(tǒng)硬件平臺的板級結(jié)構(gòu)非常簡單,。圖1為硬件平臺的板級結(jié)構(gòu)圖,。


  專用芯片只需外接:
  (1)EPROM:存放系統(tǒng)程序;
  (2)Flash Memory:存放語音識別系統(tǒng)需要的聲學(xué)模型參數(shù)和系統(tǒng)中的語音提示,、語音回放數(shù)據(jù),;
  (3)語音輸入器件:可直接外接麥克風(fēng),接收語音信號,;
  (4)語音輸出器件:可直接外接揚(yáng)聲器或耳機(jī),,輸出系統(tǒng)的提示音;
  (5)電源:通過電壓變換芯片,,為電路板上各芯片提供需要的電壓,;
  (6)USB接口:該板級語音識別模塊提供了USB接口,以提高該嵌入式系統(tǒng)和通用計(jì)算機(jī)系統(tǒng)之間數(shù)據(jù)交換的速度,;
  (7)鍵盤:提供外接鍵盤接口,,方便系統(tǒng)控制,;
  (8)液晶:可外接一塊液晶顯示屏,以輸出識別結(jié)果,;
  (9)其他設(shè)備接口:為了增強(qiáng)該語音信號處理模塊的功能擴(kuò)展性,,UniSpeech提供了豐富的I/O資源,共有100條通用I/O,,系統(tǒng)也預(yù)留了這些I/O接口,,以方便與其他設(shè)備連接。
2 算法研究
2.1 兩階段識別算法

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


  在第一階段識別中,,采用monophone模型和靜態(tài)識別網(wǎng)絡(luò),,得到多候選詞條;在第二階段識別中,,根據(jù)第一階段輸出的多候選詞條,,構(gòu)建新的識別網(wǎng)絡(luò),采用triphone模型,,進(jìn)行精確識別,,得到最終的識別結(jié)果。由于第二階段識別的詞條數(shù)較少,與只采用triphone模型的一階段識別相比,,識別速度大大提高,;同時(shí),第二階段識別可重用第一階段的內(nèi)存資源,,也減少了識別系統(tǒng)的內(nèi)存占用量,。
2.2 特征提取與選擇
  在連續(xù)語音識別系統(tǒng)中,通常采用39維的MFCC(Mel Frequency Cepstral Coefficient)特征,,甚至再加入一些特征,。但是,考慮到嵌入式系統(tǒng)有限的硬件資源,,在不降低識別率的基礎(chǔ)上,,應(yīng)盡量減少特征的維數(shù)。本文采用最小互信息改變準(zhǔn)則MMIC(Minimum Mutual Information Change)進(jìn)行特征選擇,。一階段采用22維MFCC特征(9 MFCC,,6 ΔMFCC,4 Δ2MFCC,,E,,ΔE,Δ2E),,二階段采用26維MFCC特征(10 MFCC,,7 ΔMFCC,6 Δ2MFCC,,E,,ΔE,Δ2E),。
2.3 數(shù)據(jù)的輸入輸出
  對于硬件系統(tǒng),,如果數(shù)據(jù)的讀入速度較慢,則對運(yùn)算速度影響就很大,。在保證系統(tǒng)高識別率的前提下,,系統(tǒng)的內(nèi)存消耗量和識別時(shí)間常常是一對矛盾體,,很難保證兩者同時(shí)達(dá)到理想狀態(tài),。如果僅僅考慮節(jié)省內(nèi)存,將每個(gè)詞條識別網(wǎng)絡(luò)和相應(yīng)的狀態(tài)逐個(gè)讀入,,計(jì)算匹配分?jǐn)?shù),,這樣雖然可以最大限度地節(jié)省內(nèi)存的使用量,但是數(shù)據(jù)的多次讀入占用了大量時(shí)間,,并且反復(fù)計(jì)算同一個(gè)轉(zhuǎn)移概率,,也對識別時(shí)間影響很大。另一方面,,如果僅僅考慮運(yùn)算速度,,一次性將所有詞條的識別網(wǎng)絡(luò)和所有狀態(tài)模型讀入內(nèi)存,,雖然僅需一次數(shù)據(jù)讀入,運(yùn)算速度大大提高,,但卻對內(nèi)存提出了更高要求,。為了更好地利用系統(tǒng)的硬件資源,本系統(tǒng)首先逐個(gè)讀入狀態(tài)模型,,計(jì)算所有觀察矢量在各狀態(tài)模型下的輸出概率,,存放在內(nèi)存中;然后逐條讀入識別網(wǎng)絡(luò),,選取路徑似然度最高的詞條作為最終的識別結(jié)果,。這樣綜合了前面兩種方案的優(yōu)點(diǎn),適應(yīng)了硬件系統(tǒng)的要求,。
2.4 兩階段端點(diǎn)檢測
  端點(diǎn)檢測是嵌入式語音識別中最基本的模塊,。端點(diǎn)檢測是否準(zhǔn)確直接影響系統(tǒng)的運(yùn)算復(fù)雜度和系統(tǒng)的識別性能。因此在不增加復(fù)雜運(yùn)算量的前提下,,希望端點(diǎn)檢測能盡量準(zhǔn)確,,而且能適應(yīng)嵌入式系統(tǒng)多變的應(yīng)用環(huán)境。本文使用了一種有效的兩階段端點(diǎn)檢測方法" title="檢測方法">檢測方法,。在第一階段使用圖像分割中經(jīng)常使用的邊緣檢測濾波器方法,,得到一個(gè)能包含語音段同時(shí)又比較寬松的端點(diǎn)結(jié)果;在第二階段,,對第一階段的結(jié)果進(jìn)行再判決,,使用直方圖統(tǒng)計(jì)方法得到靜音段的能量聚類中心,并用這個(gè)中心能量值對整句能量序列進(jìn)行中心削波,,對削波后的能量序列進(jìn)行最終判決,。通常最終的結(jié)果會在第二階段端點(diǎn)檢測的基礎(chǔ)上作適當(dāng)?shù)姆潘桑昂蠓潘?~5幀(大約64~80ms),,這些放松在求取特征的差分分量時(shí)是很有必要的,。
在實(shí)驗(yàn)室環(huán)境下(信噪比大于25dB),以8kHz采樣頻率錄制了20人(其中男,、女各10人)的語音數(shù)據(jù),。對于12 000句原始錄制語音或帶噪語音,對傳統(tǒng)的固定能量閾值方法和兩階段檢測方法進(jìn)行了比較測試,。測試的性能如表1所示,。


  傳統(tǒng)的固定閾值方法就是針對環(huán)境噪聲設(shè)定一個(gè)固定的能量閾值進(jìn)行端點(diǎn)檢測。實(shí)驗(yàn)表明,,兩階段檢測方法無論在安靜環(huán)境中還是在包含一定噪聲的環(huán)境中,,都比固定能量閾值的端點(diǎn)檢測方法有更好的性能。此方法能夠進(jìn)一步改善嵌入式語音識別系統(tǒng)的識別性能。
2.5 束搜索
  英語語音發(fā)音快,、單詞長,、狀態(tài)數(shù)多,因而搜索時(shí)間長,。要實(shí)現(xiàn)實(shí)時(shí)識別,,就不能在所有的語音數(shù)據(jù)都得到后再進(jìn)行解碼識別。在兩級識別網(wǎng)絡(luò)中,,第一階段要在大量的詞條中搜索,,而第二階段只在N_BEST詞條中搜索,相對時(shí)間占用量很少,。為了滿足實(shí)時(shí)要求,,本系統(tǒng)在獲取語音信號的同時(shí)進(jìn)行提取特征和第一階段識別[6]。根據(jù)硬件的內(nèi)存容量,,考慮到匹配分?jǐn)?shù)所占用的內(nèi)存,,選取每20幀(320ms)的語音完成一次搜索。由于所搜索的詞條并沒有結(jié)束,,不能求出最終對應(yīng)于詞條的分?jǐn)?shù),。因此,必須保留每次搜索中每個(gè)詞條的每個(gè)節(jié)點(diǎn)的匹配分?jǐn)?shù),,這帶來了新的內(nèi)存開銷,。
  解決方法是在第一階段識別網(wǎng)絡(luò)中加入束搜索(Beam Search)快速算法。該算法假設(shè):Viterbi解碼過程中的最佳路徑在任何時(shí)刻都能保證較高的似然度,,在搜索過程中對網(wǎng)絡(luò)進(jìn)行剪枝,,只保留匹配分?jǐn)?shù)最大的有限個(gè)路徑,以減少運(yùn)算量和內(nèi)存消耗,。但是,,要獲得匹配分?jǐn)?shù)最大的幾個(gè)狀態(tài),在每次搜索過程中都要對匹配分?jǐn)?shù)進(jìn)行排序,,這使運(yùn)算負(fù)擔(dān)加重,,在實(shí)際中不可取。為了解決這一問題,,結(jié)合本系統(tǒng)識別網(wǎng)絡(luò)的特點(diǎn),,采用了一種滑動(dòng)窗束搜索算法。對于每一個(gè)詞條網(wǎng)絡(luò),,在Viterbi解碼過程中,,近似地認(rèn)為真實(shí)路徑總是當(dāng)前匹配分?jǐn)?shù)最優(yōu)的路徑的近鄰路徑,。因此,,設(shè)置了一個(gè)固定寬度的窗,在所有時(shí)刻,窗中的路徑總包含了該時(shí)刻似然度最高的路徑及其相鄰路徑,,而那些落在窗外的路徑則將被剪枝,。由于模型狀態(tài)不可跨越,因此,,下一個(gè)活躍路徑的位置,,只可能是上一個(gè)活躍路徑的原有位置或者滑動(dòng)一格。由于中間的匹配分?jǐn)?shù)相同,,比較滑動(dòng)窗兩端的匹配分?jǐn)?shù)即可決定下一個(gè)滑動(dòng)窗的位置,。這樣可大大減小比較的運(yùn)算量,提高運(yùn)算速度,。
  由于語音信號隨機(jī)性較強(qiáng),,束搜索的這種假設(shè)并不總符合真實(shí)情況,因此,,過窄的束寬很容易導(dǎo)致最后識別結(jié)果的錯(cuò)誤,。以三對角高斯模型為例,語音庫為10個(gè)男生的命令詞,。窗寬與識別率的關(guān)系如表2所示,。


  可以看出,當(dāng)窗寬為15時(shí),,識別率基本沒有下降,。這個(gè)結(jié)果與候選詞條的長度有關(guān),詞條的狀態(tài)數(shù)越多,,最優(yōu)結(jié)果在搜索過程中“露出”窗外的可能性也就越大,。綜合束搜索對系統(tǒng)率和識別時(shí)間兩方面的影響,選定了束寬為10的滑動(dòng)窗算法作為系統(tǒng)的束搜索算法,。
3 實(shí)驗(yàn)結(jié)果
  實(shí)驗(yàn)訓(xùn)練集采用LDC WSJ1訓(xùn)練庫(SI_TR_S),,包括200人的連續(xù)語音,共61個(gè)小時(shí),,降采樣為8kHz,,16位量化。測試集為由WSJ1測試集(CDTest和HSDTest)得到的525個(gè)短句(每句包含2個(gè)單詞),,候選詞條為535個(gè),,包括637個(gè)不同的單詞發(fā)音,同樣降采樣為8kHz,,16位量化,。
  表3為一階段識別和兩階段識別的識別率、識別時(shí)間和內(nèi)存占用量比較,。從表3可以看出,,與直接進(jìn)行的一階段識別相比,,兩階段識別通過采用兩階段端點(diǎn)檢測方法、MMIC特征選擇算法,、特征提取和解碼同步的束搜索算法,,極大地提高了識別率,減少了內(nèi)存占用量和識別時(shí)間,。


  本文提出了一種基于定點(diǎn)DSP的嵌入式英語孤立詞識別系統(tǒng),,采用兩階段識別的連續(xù)HMM模型。其中第一階段為實(shí)時(shí)識別,,第二階段為非實(shí)時(shí)識別,。通過采用新穎的兩階段端點(diǎn)檢測方法、最小互信息改變準(zhǔn)則特征選擇算法,、特征提取和解碼同步的束搜索算法,,進(jìn)一步提高了識別性能、減少了內(nèi)存占用量和計(jì)算復(fù)雜度,。
參考文獻(xiàn)
1 楊行峻,,遲惠生.語音信號數(shù)字處理.北京:電子工業(yè)出版社,1995
2 Abhinav Sethy,,Shrikanth Narayanan.Split-Lexicon Based Hierarchical Recognition of Speech Using Syllable And Word Level Acoustic Units.In:Proc,,ICASSP′03,2003
3 Novak M,,Hampl R,,Krbec P et al.Two-Pass Search Strategy for Larce List Recog Nition on Embedded Speech Recognition Platforms[A].Proceedings of ICASSP[C].Hong Kong:IEEE Press,2003
4 Valtcho Valtchev.Discriminative Methods in HMM-based Speech Recognition[D].Cambridge University St.John′s College,,1995
5 丁玉國.語音識別的置信度.清華大學(xué)碩士論文,,2005
6 Andreas Hagen,Daniel A.Connors,,Bryan L.Pellom.The Analysis and Design of Architecture Systems for Speech Recognition on Modern Handheld-Computing Devices.CODES/ISSS′03.Newpurt Beach,,California USA,2003,,10

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected]