基于片上系統SoC的孤立詞語音識別算法設計.doc_第1頁
基于片上系統SoC的孤立詞語音識別算法設計.doc_第2頁
基于片上系統SoC的孤立詞語音識別算法設計.doc_第3頁
基于片上系統SoC的孤立詞語音識別算法設計.doc_第4頁
基于片上系統SoC的孤立詞語音識別算法設計.doc_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于片上系統SoC的孤立詞語音識別算法設計發布日期:2008-01-30作者:劉勝洋 宋志勇 來源:微計算機信息 摘要:本文首先介紹了研究的孤立詞語音識別系統,并針對片上系統進行了語音識別算法的選擇。然后對基于語音幀的端點檢測算法、線性預測編碼倒譜系數LPCC算法和動態時間規整DTW算法進行了詳細的分析和設計。對于新型語音識別SoC芯片的開發研制和推動片上可編程系統(SOPC)的研究與發展具有一定的理論和實踐意義。 關鍵詞: 片上系統;語音識別;端點檢測;LPCC;DTW 1. 引言目前,嵌入式語音識別系統的實現主要通過單片機MCU和數字信號處理器DSP來實現1。但是單片機運算速度慢

2、,處理能力不高;雖然DSP處理速度很快,但是產品的成本很高,電源能量消耗也很大。因此,為了滿足嵌入式交互系統的體積越來越小、功能越來越強的苛刻需求,語音識別片上系統SoC(System on Chip)應運而生。語音識別片上系統SoC本身就是一塊芯片,在單一芯片上集成了模擬語音模數轉換器ADC、數模轉換器DAC、信號采集和轉換、處理器、存儲器和I/O接口等,只要加上極少的電源就可以具有語音識別的功能,集成了聲音信息的采集、取樣、處理、分析和記憶。SoC具有片內處理器和片內總線,有著更靈活的應用方式。它具有速度快,體積小,成本低,可擴展性強等優點,有著廣泛的應用前景,已經成為語音識別技術應用發展

3、的一個重要方向2-3。研究和開發應用于片上系統SoC芯片的語音識別算法有著非常重要的意義。2. 孤立詞語音識別系統孤立詞語音識別系統應用于嵌入式控制領域,例如數字家庭控制、車載語音控制和智能語音可控玩具等。在訓練階段,用戶將每一個詞依次說一遍,并將計算得到的每一個詞所對應的特征矢量序列作為模板存入模板庫中。在識別階段,將輸入語音的特征矢量序列依次與模板庫中的每一模板進行相似度比較,將相似度最高者作為識別結果輸出。3. 針對片上系統SOC的孤立詞語音識別算法設計在SoC芯片中實現孤立詞語音識別系統,就要根據語音識別片上系統的特點,來進行SoC的語音識別算法的選擇和設計。首先是特征提取算法的選擇。

4、MFCC算法考慮到了人的聽覺效果,能很好的表征語音信號,而且在噪聲環境下能取得很好的識別效果。而LPC系數主要是模擬人的發聲模型,對元音有較好的的描述能力,對輔音描述能力較差,抗噪聲性能也相對差一些。但是從算法的計算量來考慮,MFCC提取特征參數是LPCC的10倍左右,通常在嵌入式系統下較難實現實時性。因此,選用LPCC算法。模式匹配技術的選擇。隱馬爾柯夫模型HMM方法是用概率及統計學理論來對語音信號進行分析與處理的,適用于大詞匯量、非特定人的語音識別系統。該算法對系統資源的要求較多。而動態時間規整技術DTW采用模板匹配法進行相似度計算,是一個最為小巧的語音識別算法,系統開銷小,識別速度快,可

5、有效節約系統資源,降低系統成本開支。由于嵌入式系統資源有限,語音命令識別系統所需要的詞匯量有限,所需識別的語音都是簡短的命令,模式匹配算法選擇DTW。3.1 端點檢測算法設計一個好的端點檢測算法可以在一定程度上提高系統的識別率。在雙門限端點檢測原理的基礎上,進行語音端點檢測算法的設計。為了提高端點檢測的精度,采用短時能量E和短時過零率ZCR。語音采樣頻率為8KHz,量化精度為16位,數字PCM碼首先經過預加重濾波器H(z)=2-0.95z-1,再進行分幀和加窗處理,每幀30ms,240點為一幀,幀移為80,窗函數采用Hamming窗。然后對每幀語音進行歸一化處理,即把每點的值都除以所有語音幀中

6、數值絕對值的最大值,把值的范圍從-32767,32767轉換到-1,1。在實驗中發現,雙門限端點檢測算法對于兩個漢字和三個漢字的語音命令端點檢測效果不好。以語音“開燈”為例,如圖1所示語音波形圖中,端點檢測只能檢測到第一個字。圖1  改進前對語音“開燈”的端點檢測Fig2. the endpointing detection of speech “kaideng” before ameliorate 如果語音命令中兩個字的間隔過長,使用雙門限端點檢測方法會發生只檢測到第一個字的情況,在實際中“開燈”和“開門”等命令只提取了“開”字的語音,從而可能造成語音匹配的錯誤。為避免該

7、錯誤,采用的辦法是,把可容忍的靜音區間擴大到15幀 (約150ms)。在雙門限的后一門限往后推遲15幀,如15幀內一直沒有energy和ZCR超過最低門限,則認為語音結束;如發現仍然有語音,則繼續算入在內。圖2 改進后對語音“開燈”的端點檢測Fig3. the endpointing detection of speech “kaideng” after ameliorate 改進后,整個語音信號的端點檢測流程設計為四個階段:靜音、過渡段、語音段和語音結束。在靜音段,如果能量或過零率超越了低門限,就應該開始標記起始點,進入過渡段。在過渡段中,由于參數的數值比較小,不能確信是否處于真正

8、的語音段,因此只要兩個參數的數值都回落到低門限以下,就將當前狀態恢復到靜音狀態。而如果在過渡段中兩個參數中的任一個超過了高門限,就可以確信進入語音段。在語音段,如果兩個參數的數值降低到低門限以下,并且一直持續15幀,那么語音進入停止。如果兩個參數的數值降低到低門限以下,但是并沒有持續到15幀,后續又有語音段越過低門限,那么認為語音還沒有結束。最后,如果檢測出的這段語音總長度小于可接受的最小的語音幀數(設為15幀),則認為是一段噪音而放棄。采用改進后的端點檢測算法,對于單個漢字或多個漢字的語音命令均識別正常。圖2為語音“開燈”的端點檢測圖(兩條紅線以內的部分為檢測出來的語音部分)。3.2 

9、60;LPCC特征參數提取算法設計LPC參數是模擬人的發聲器官的,是一種基于語音合成的特征參數。在實際應用中,使用較多的是由LPC系數推導出的另一種系數,線性預測倒譜系數LPCC(Linear Predictive Ceptrum Coefficients)。3.2.1線性預測編碼LPC算法LPC模型的基本思想是:對于給定一n時刻采樣的語音信號采樣值s(n),可以用p個取樣值的加權和線性組合來表示4。  a1, a2, ap稱為LPC系數,也是全極點H(z)模型的參數。cm為倒譜系數,am為線性預測系統,m為倒譜系數的階數,p為線性預測系統的階數。這樣利用LPC系數通過遞推公式可以得

10、到LPCC參數。LPCC由于利用了線性預測中聲道系統函數的最小相位特性,避免了相位卷積、求復對數3.3 基于DTW的模式匹配算法設計3.3.1 動態時間規整DTW算法存入模板庫的各個詞條稱為參考模板,一個參考模板可表示為R=R(1), R(2), R(m), R(M)。m為訓練語音幀的時序標號,m =1為起點語音幀,m =M為終點語音幀,M為該模式包含的語音幀總數,R(m)為第m幀的語音LPC倒譜特征矢量。所要識別的一個輸入詞條語音稱為測試模板,可表示為T=T (1), T(2), T(n), T (N),n為測試語音幀標號,模式中共包含N幀語音,T(n)為第n幀的LPC倒譜特征矢量。比較參考

11、模板和測試模板的相似度,可以計算它們的距離DT,R,距離越小則相似度越高。語音中各個段落在不同情況下的持續時間會產生或長或短的變化,大多數情況下測試模板和參考模板長度不相等NM,因此采用動態規整(DP)的方法。DTW算法的實現為:分配兩個N×M矩陣,分別為累積距離矩陣D和幀匹配距離矩陣d,其中幀匹配距離矩陣d(i,j)的值為測試模板的第i幀與參考模板的第j幀間的距離。算法分為兩步:先要計算參考模板的所有幀和未知模板的所有幀之間的相互距離,結果存在矩陣d中;然后根據判斷函數計算累積距離矩陣D,D(N,M)即為最佳匹配路徑所對應的匹配距離。DTW算法約束端點條件為:起點(1,1),終點(

12、n,m),n和m分別為測試和參考語音模板的幀序列長度。3.3.2 應用中提高識別率的改進方法在應用中,提高DTW識別率的辦法有冗余模板法、松弛起點終點法、改進局部路徑約束函數法等。(1)冗余模板法。采用每個詞條多套模板的方法,可以改進其識別效果。在實驗中,采用在語音訓練階段,每個詞條訓練四次,即每個詞條提取出4個參考模板,這樣,只要測試模板與4個參考模板中的一個匹配成功,匹配結果就是正確的,這樣便大大提高了識別率。(2)松弛起點終點法。將匹配過程中的固定起點(終點)改為松弛起點(終點)。端點對齊的限制條件提高了對語音端點檢測的精度要求。路徑不再是從(1,1)點出發,可以從(n,m)=(1,2)

13、或(2,1),或(1,3)或(3,1)點出發,稱為松弛起點。同樣,路徑也不必在(N,M)點結束,可在(n,m)=(N,M-1)或(N-1,M)或(N,M-2)或(N-2,M)點結束,稱為松弛終點。松弛起點終點的優點是可克服由于端點檢測不精確造成測試模板和參考模板起點終點不能嚴格對齊的問題6。(3)改變局部路徑約束函數法。不同的連續性條件導致了不同的路徑,局部路徑約束函數不一樣,DTW識別效果就會不同。可以對局部約束路徑進行加權處理,提高識別率。 本文中采用的模板匹配算法就是融合這三種改進技術后的動態規整算法,稱之為ADTW算法。對這種算法進行了實驗,得到該算法的實際識別率,并對之進行

14、分析。3.3.3 應用中提高算法效率的改進方法 在計算傳統DTW算法過程中,如果限定動態規整的計算范圍,可以大大減小計算量,提高程序的性能。采用平行四邊形限制動態規整范圍,如圖3,菱形之外的節點對應的幀匹配距離是不需要計算的,也沒有必要保存所有幀匹配距離矩陣和累積距離矩陣,以ADTW的局部約束路徑為例,每一列各節點上的匹配計算只用到了前兩列的幾個節點。充分利用這兩個特點可以減少計算量和存儲空間的需求。把實際的動態規整分為三段,(1,Xa),(Xa+1,Xb)和(Xb+1,N), 由于X軸上每前進一幀,只用到前兩列的累積距離,所以只需要三個列矢量A、B和C分別保存連續三列的累積距離,而

15、不需保存整個距離矩陣。每前進一幀都對A、B、C進行更新,即用A和B的值求出C,再根據B和C的值求出下一列的累積矩陣放入A中,由此可以反復利用這三個矢量,一直前進到X軸上最后一列,最后一個求出矢量的第M個元素即為兩個模板動態規整的匹配距離。高效DTW對識別的區域進行了限制,整個平面區域大小為M×N,匹配區域的大小為 公式(12)   若MN150,則限定區域內的計算量只是傳統DTW算法計算量的24%;同時算法節省了空間,由原來的2個N×M矩陣,減少為3個M矢量,大大減少了需要的存儲空間,解決了普通DTW算法在存儲空間有限的嵌入式系統中難以實現的問

16、題。4. MATLAB實驗與分析為了對算法的識別效果進行測試,設計了用于數字家庭控制系統的識別命令集,并基于Matlab構建了孤立詞語音識別系統,對識別算法進行實驗和分析。該命令集包括語音命令100條,分別是如下幾類:l         語音通話控制命令,例如,“撥打電話”,數字,人名;l         音樂控制類,“打開音樂”、“減小音量”等;l       &#

17、160; 門窗控制類,“關閉百葉窗”、“打開大門”等;l         家庭電器控制類,“打開空調”、“打開收音機”等。該系統使用設計的端點檢測技術、特征提取和模板匹配技術。語音采用頻率為8KHz,16位量化精度,預加重系數a=0.95,語音幀每幀30ms,240點為一幀,幀移為80,窗函數采用Hamming 窗。LPC參數為10階,LPCC參數為16階。實驗人員為三名同學,兩男一女,分別用甲乙丙代表,實驗環境為辦公室環境。實驗平臺為Windows XP,Matlab 7.0,進行的各項實驗和數據分別如下:(1)

18、改進端點檢測實驗針對于設計的端點檢測算法,得到改進前和改進后語音識別率的變化,數據見表1。其中,改進前和改進后所用的參考模板和測試模板數據相同。實驗的過程是,Matlab程序自動把50個測試模板逐個和100個參考模板進行匹配,找到測試模板所對應的語音命令。 表1 改進端點檢測前后的識別率Table 1. the recognition ratio of before and after ameliorate endpointing detection 參考模板(個)測試模板(個)識別率誤識率改進前1005074%26%改進后1005082%18%從數據可以看出,對端點檢測進

19、行改進后,平均識別率從74%提高到82%,這是因為改進后的端點檢測能夠有效地區分噪音和語音,嚴格的把語音段提取出來。(2)使用冗余參考模板實驗對每個語音命令建立四個參考模板,其他同實驗(1),實驗數據見表2。 表2 使用冗余參考模板前后的識別率Table 2. the recognition ratio of before and after use redundancy reference template 參考模板(個)測試模板(個)識別率誤識率單模板(甲)10010082%18%四模板(甲)40010096%4%單模板(乙)10010085%15%四模板(乙)4001

20、0094%6%單模板(丙)10010088%12%四模板(丙)40010095%5%從實驗數據看出,使用冗余模板后,平均識別率由87.5%提高到95%,平均誤識率由12.5%下降到5%。所以,使用冗余參考模板有效的提高了識別性能。(3)提高識別率的ADTW實驗基于實驗(2),使用松弛起點終點法和改變局部判決路徑函數法對DTW進行改進,稱改進后的算法為ADTW,改進前后的兩種算法都采用一個詞條四個模板。實驗數據見表3,其中平均識別率為三個人的平均識別率。 表3 傳統DTW和ADTW識別率比較Table 3. the recognition ratio of DTW and ADTW 參考模板(個)測試模板(個)平均識別率平均誤識率傳統DTW40010095%5%ADTW40010098%2%從實驗數據可以看出,ADTW相對于傳統的DTW算法,平均識別率有了一定的提高,因為本文實現的系統采用了ADTW算法。該算法平均識別率為98%,基本滿足了語音識別片上系統的需要。5. 總結本文在研究了現有的語音識別算法和理論的基礎上,在應用中對雙門限端點檢測算法作了延長可容忍靜音的改進,在一定程度上提高了整個系統的識別率;特征提取技術采用了線性預測編碼LPC及其倒譜系數LPCC,對其計算過程進行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論