李小林++許春冬++杜燕
摘 要:針對市場上語音識別系統(tǒng)難以個性化更改關鍵詞識別列表、實時性不佳等問題,文中設計了一款基于嵌入式的非特定人語音識別系統(tǒng)。該系統(tǒng)具有可個性化設置識別列表、完成非特定人語音識別等功能。通過對不同說話人的語音進行測試表明,該設計達到了預期效果,在相對安靜的條件下,系統(tǒng)的識別率接近95%,且操作便捷、算法簡單,具有很好的實時性,可進一步運用于與語音識別相關的電子產(chǎn)品中。
關鍵詞:嵌入式;語音識別;非特定人;隱馬爾科夫模型;LD3320;LP2303
中圖分類號:TP39;TN912 文獻標識碼:A 文章編號:2095-1302(2017)10-00-03
0 引 言
當今社會已經(jīng)朝著現(xiàn)代化、信息化、智能化的方向發(fā)展,信息技術的浪潮定會使得人們的生活邁上一個新臺階。在這其中,人工智能將體現(xiàn)出巨大的優(yōu)勢,語音識別作為人工智能的一個重要分支,是進行人機交互的關鍵技術。
非特定人語音識別技術已滲透到人們生活及工作的方方面面,嵌入式系統(tǒng)具有功耗低、性能高、成本低等諸多優(yōu)點,可以滿足現(xiàn)代社會對語音識別產(chǎn)品高性能的需求。因此基于嵌入式語音識別系統(tǒng)具有更大的應用范圍[1]。當前大部分語音識別系統(tǒng)都基于軟件實現(xiàn),而理想的嵌入式非特定語音實時識別系統(tǒng)相對欠缺,且傳統(tǒng)的嵌入式系統(tǒng)有其固有缺點[1],因此,在研究語音識別關鍵技術基礎上,設計并實現(xiàn)了一款新穎的嵌入式非特定人語音識別系統(tǒng)。
1 語音識別理論基礎
語音識別的前期工作,需要對語音信號進行處理。由于語音信號是模擬信號,很難直接進行識別,應先進行數(shù)字化處理,將語音模擬信號轉(zhuǎn)換成數(shù)字信號。
由于語音信號的能量大部分都分布在頻率較低的部分,所以需要提高高頻部分的能量。而由于語音信號具有暫時平穩(wěn)的特點,因此可將語音信號進行分幀加窗處理,更方便分析。找出語音信號的開始和結束時刻,可以提高識別效率。因此需要再對數(shù)字信號進行預處理(預加重、分幀加窗、語音降噪、端點檢測)。預處理之后,需要對信號進行特征參數(shù)提取,為語音識別做準備。目前使用較多的特征參數(shù)提取方法是Mel頻率倒譜系數(shù)(MFCC),因為MFCC更能體現(xiàn)出人耳的聽覺特點[2]。
目前主流的語音識別算法有DTW(動態(tài)時間彎折技術)、HMM(隱馬爾科夫模型)、ANN(人工神經(jīng)元網(wǎng)絡)[3]。結合本文設計的特點,HMM包含兩個隨機過程,巧妙模仿了人類的發(fā)音特點,因此選取HMM模型更為合理[4]。
2 系統(tǒng)的軟硬件設計
2.1 總體方案設計
設計的非特定人語音識別系統(tǒng),主要由三大部分組成,包含以STM32F103ZET6為核心的STM32開發(fā)板、LD3320非特定人語音識別芯片、LP2303接口轉(zhuǎn)換模塊。將LD3320模塊和LD3320模塊通過SPI接口和USART接口連接到STM32開發(fā)板上,組成了一個完整的非特定人語音識別系統(tǒng)。
系統(tǒng)采用STM32F103ZET6單片機作為主控制器。這是一款擁有低功耗、低成本、高性能特點的單片機,ARM Cortex-M3為其內(nèi)核,同時內(nèi)部還擁有128 KB Flash、20 KB SRAM、兩個SPI、三個串口、一個USB、一個CAN等[5,6]。選取LD3320作為語音識別芯片。LD3320是一款專用的非特定人語音識別芯片,可直接用于識別,并且支持識別列表隨意編寫,使得使用更加方便。通過LP3320接口轉(zhuǎn)換模塊可以將PC機和語音識別系統(tǒng)連接起來,從而將識別結果打印在串口中,方便查看語音識別結果[7]。
2.2 硬件設計
本系統(tǒng)作為非特定人語音識別系統(tǒng),語音識別芯片的選擇尤為重要。綜合各方面考慮,系統(tǒng)選用LD3320語音識別芯片。將STM32開發(fā)板、LD3320模塊和LP2303模塊連接起來,組成一個完整的語音識別系統(tǒng),通過觀察開發(fā)板上LED燈的變化情況和串口顯示結果判斷識別結果。硬件設計框架如圖1所示[8]。
2.3 軟件設計
文中選擇LD3320作為語音識別芯片。LD3320是由ICRoute公司設計生產(chǎn)的非特定人語音識別芯片,該芯片識別原理如圖2所示[9]。論文的軟件設計主要應用Source Insight開發(fā)環(huán)境。Source Insight是一種性能優(yōu)良的語言編輯工具,幾乎適用所有語言[10]。
(1) 初始化。完成復位、工作模式設定、設置工作頻率以及FIFO設定的操作[11,12]。
(2) 寫入識別列表。識別關鍵詞的格式是 “標號識別關鍵詞”[13]。識別關鍵詞需要以字符串的格式來設置。關鍵詞格式見表1所列[14]。
表1 識別列表實例
標 號 字符串
1 yuwen
2 qianrushi
3 woxihuanyundong
(3) 開始識別。設置相關寄存器中的內(nèi)容,為進行開始語音識別的工作作相應的準備。語音識別流程如圖3所示[15]。ADC增益可設置在00H-7FH之間,最佳設置在40H-6F之間。聲音增益的大小和系統(tǒng)敏感性有直接聯(lián)系,增益越大,系統(tǒng)對外界環(huán)境越敏感,增益越小,可避免遠處噪聲對系統(tǒng)的干擾。
(4) 響應中斷。當麥克風采集到聲音時,不管識別結果如何,都會產(chǎn)生一個中斷信號。中斷服務程序的具體流程如圖4所示[15]。從BA寄存器中可以得到若干識別結果,最佳識別結果從C5中得出。
3 實驗結果與分析
對非特定人語音識別系統(tǒng)進行測試,通過實驗結果來判定系統(tǒng)性能的優(yōu)劣情況。語音識別系統(tǒng)的性能與詞條長度和聲音(每個人聲音不同)有關。本次測試分別選擇2個字、3個字、4個字及5個字的詞條,同時選擇不同的人與不同長度的詞條,經(jīng)多次測試來判斷系統(tǒng)性能。endprint
完成設計的測試工作,需要經(jīng)過編寫程序—編譯—參數(shù)設置—下載流程。
在語音識別前期,需完成一些準備工作。首先建立Keil工程。本次設計在Device下選擇STM32F103ZET6;在Keil工具欄中選擇Project,然后點擊Options for Targe tUSART,在Output中勾選“Creat EX File”,在Debug中選擇“ST-Link Debugger”;在串口調(diào)試助手中設置相應的參數(shù),其中,波特率為115 200,數(shù)據(jù)位為8,停止位為1,校驗位為None,流控位為None。
對著LD3320 Board的MIC順序說出測試指令,并及時記錄每一條指令識別成功的次數(shù),完成相關測試工作,測試結果見表2所列。
根據(jù)本次系統(tǒng)的測試,可得出以下結論:
(1) 比較表2中第4列和第5列的數(shù)據(jù)可知,與相對安靜的環(huán)境相比,在存在少許噪聲的情況下系統(tǒng)成功識別的次數(shù)下降。由此可知,在相對安靜的條件下,系統(tǒng)的識別率較高;在有少許噪聲的情況下,系統(tǒng)的識別率下降。
(2) 比較表2中第1行、第3行、第5行和第7行的數(shù)據(jù)可知,隨著指令長度的增加,系統(tǒng)識別成功的次數(shù)將減少。因此系統(tǒng)的識別率將會隨著指令長度的增加而下降。
(3) 在識別過程中發(fā)現(xiàn),隨著指令長度的增加,在能夠識別成功的條件下,系統(tǒng)的識別時間將會增加。當識別詞條分別為2個字和5個字的情況下,差別會更加明顯。
4 結 語
在安靜環(huán)境下,LD3320語音識別模塊的識別率較高,指令內(nèi)容較短時,其平均識別率接近95%。該系統(tǒng)具有可動態(tài)編寫識別列表、可完成非特定人實時語音識別功能,并具有良好的可擴展性,可進一步應用在實時語音識別的電子設備中。
參考文獻
[1]許春冬,夏日升,應冬文,等.面向語音增強的序貫隱馬爾可夫模型時頻語音存在概率估計[J].聲學學報,2014, 39(5): 647-654.
[2]方敏, 浦劍濤, 李成榮,等.嵌入式語音識別系統(tǒng)的研究和實現(xiàn)[J].中文信息學報,2003, 18(6): 73-75.
[3]許春冬,張震,戰(zhàn)鴿.面向語音增強的約束序貫高斯混合模型噪聲功率譜估計[J].聲學學報, 2017, 42(5): 633-640.
[4] KARRAY L, MARTN A. Toward improving speech detection robustness for speech recognition in adverse environments[J]. Speech Communication,2003,40(3):261-276.
[5]張戟,楊騰飛.車載自動語音識別系統(tǒng)設計[J]. 佳木斯大學學報(自然科學版),2011,29(2): 201-205.
[6]龍順宇, 鄭澤龍, 譚冬鳳.基于STM32和SD卡文件系統(tǒng)的非特定人語音識別系統(tǒng)設計[J].現(xiàn)代電子技術, 2013,36(21): 62-66.
[7]文治洪,胡文東,李曉京.基于PL2303的USB接口設計[J].電子設計工程, 2010,18(1):32-34.
[8] Yang B, Lugger M. Emotion recognition from speech signals using new harmony features[J]. Signal processing, 2010,90(5):1415-1423.
[9]金鑫,田犇,闕大順.基于LD3320的語音控制系統(tǒng)的設計實現(xiàn)[J].電腦與信息技術,2011, 19(6):22-25.
[10] Reichl W, Chou W.Robust decision tree state tying for continuous speech recognition[J]. IEEE Transactions on Speech and Audio Processing, 2000,8(5):555-566.
[11]楊熙,張文昭,梁曉琳.語音識別在智能家居控制系統(tǒng)的應用[J].湖南科技學院學報,2016, 37(10):34-35.
[12] Lavner Y, Gath L, Rosenhouse J. The efects of acoustic modifications on the identification of familiar voices speaking isolated vowles[J]. Speech Communication, 2000,30(1):9-26.
[13] Joseph Pieone.Continuous Speech Recognition using Hidden Markov Models[J].IEEE Assp Mag, 1990,7(3): 26-41.
[14]鐘晨帆.基于LD3320芯片的語音識別系統(tǒng)[D].南京:南京大學,2015.
[15] LD3320開發(fā)手冊[EB/OL].http://www. icroute.com.endprint