鄭 微,李正周,田 蕾
(重慶大學通信工程學院,重慶 400030)
語音識別技術始于20世紀50年代,經過幾十年的發展,在技術上已經相當成熟。如IBM公司推出的ViaVoic軟件識別系統,可以實現對英語、漢語、德語等多種語言的識別。又如Nuance Communications公司推出的Naturally Speaking語音識別軟件也得到了廣大用戶的認可。我國的語音識別工作起步相對較晚,但近年來發展較為迅速。目前,我國在語音識別方面的水平也基本上與國外同步,并且取得了一系列相應的成果。如清華大學電子工程系研制的非特定人漢語數碼串連續語音識別系統,中國科學院自動化所研制的“天語”中文語音系列產品等。
在語音信號的處理過程中,由于數據運算量比較龐大、算法較為復雜,傳統的微處理器(如,單片機、PLC等)已經無法滿足在實時性很高的條件下對于語音信號的處理。另外,傳統微處理器的結構單一也在一定程度上限制了整個人機交互系統的功能,使得最終的產品功能單調,集中性不強。基于以上幾點,本文探索利用DSP芯片設計語音命令智能交互系統,以實現與遠程智能設備的交互[1,2]。
整個系統硬件結構框圖如圖1所示,主要包括TMS320VC5509 DSP、晶振、電源、JTAG 接口、鍵盤、LCD 顯示模塊、數據存儲器SDRAM、程序存儲器FLASH、音頻編解碼芯片TLV320AIC23B、無線收發模塊PTR2000(nRF401)。核心處理芯片采用TI公司TMS320VC5509芯片,該芯片具有低功耗、高速率、高性價比等優點,廣泛應用于語音處理、便攜式設備終端信號處理等領域。語音編解碼芯片TLV320AIC23B,采用了先進的Sigma-Delta過采樣技術,可以在8~96 kHz采樣率范圍內提供16位、20位、24位和32位采樣,ADC和DAC的信噪比分別可達90 dB和100 dB。該芯片已廣泛地應用于各種音頻信號處理領域。無線部分采用基于nRF401無線通信芯片設計的PTR2000模塊,該模塊發射功耗低、靈敏度高、外圍接口簡單,是目前低功耗無線電傳輸的理想選擇[3,4]。
系統上電之后,首先測試人員通過麥克風或線性輸入的方式將語音信號傳遞給音頻編解碼芯片TLV320AIC23B,并通過MCBSP串口傳送給系統核心處理芯片(DSP)。然后,DSP在接收到語音控制信號之后采用相應的算法進行分析,識別出語音控制命令。最后,系統將識別出的結果一部分傳遞給LCD顯示模塊以便觀察,另一部分傳遞給無線收發模塊,以實現與智能設備的遠程交互。此外,通過鍵盤可以查詢系統的工作狀態,并控制顯示電路進行顯示,以達到實時監控系統工作的目的。

圖1 系統硬件結構圖Fig 1 Hardware structure of the system
目前常用的語音識別算法有動態時間規整(DTW)技術、矢量量化(VQ)技術、隱馬爾可夫模型(HMM)、基于人工神經網絡(ANN)的識別方法[5]。在孤立詞語的識別中,最為簡單有效的方法是采用DTW算法,該算法成功地運用動態規劃思想解決了發音長短不一的模板匹配問題。在孤立詞語的識別方面與其他算法的識別效果相差很小,而且由于DTW算法計算量較小,無需前期的長期訓練,便于算法的移植,并且易于在微處理器上實現并保證其實時性[7]。本設計采用DTW算法實現,其識別原理圖如圖2所示。

圖2 語音識別原理圖Fig 2 Principle diagram of voice recognition
預處理部分主要包括:分幀和預加重兩部分。分幀主要是利用語音信號短時間內頻譜的平穩特性,將一段語音信號劃分為若干連續的時間小段來進行處理。預加重的主要目的是消除低頻干擾,對有用的高頻部分進行加強,一般常用一個高通濾波器進行預加重。
對于特征提取部分主要包括:端點檢測和MFCC系數生成。利用式(1)~式(3)實現對于語音信號的端點檢測
公式(1)表示相鄰2個時間點的語音信號的幅度值經過零值,公式(2)表示相鄰的語音信號幅值之差大于某固定門限(這里delta取經驗值為語音信號最大幅值的0.02),公式(3)實現對于語音信號短時能量的累加,以上的整個檢測過程稱為端點檢測。利用公式(4)生成MFCC系數,公式中bmel表示mel濾波器組系數,bDCT表示其DCT系數。

對于語音識別部分,采用比較模板特征與輸入語音的特征的相似程度來實現。根本思想是尋找一個最佳函數?(in),使得該函數滿足模板特征與輸入語音的特征的累積距離最短[7],如公式(5)所示

其中,(d(T(in),R(?(in))表示待測矢量第in幀與訓練模板中第in幀之間的距離。
整個系統的軟件實現流程框圖如圖3所示。首先系統使用片上支持庫初始化語音編解碼芯片、存儲器、無線收發模塊、時鐘等片上資源。然后打開多通道緩沖串口完成對語音信號的采集,并將采集到的信號傳遞給DSP芯片,以完成語音信號的端點檢測、訓練模板生成等操作。在訓練模板生成之后,通過DSP的EMIF口將訓練模板存儲到存儲器中,然后利用MCBSP串口實現對于語音信號的再次采樣、特征提取等操作。之后將訓練模板中的特征分量與本次采樣的結果進行比較,以達到語音命令識別的目的[8]。
語音編解碼芯片TLV320AIC23芯片與DSP通過I2C總線互聯。系統啟動語音芯片時,首先利用I2C總線完成對于語音芯片控制寄存器的配置,例如:設置語音采樣速率、音量調節、增益倍數等。在程序的具體實現中DSP主要采用CSL片上支持庫來完成對于語音芯片的配置。然后通過MCBSP串口完成對于語音編解碼芯片的讀寫操作。
同步動態存儲器大小為4M×16 bit,通過DSP的EMIF口與DSP實現雙向通信,可尋址范圍為0x40 000~0x7fffff。主要實現對于訓練模板的存儲。對于擴展存儲器的接口配置方法與AIC類似,這里不贅述。
無線收發模塊采用的是PTR2000模塊,它是一種超小型、低功耗、高速率的無線收發數據傳輸模塊,使用的是nRF401無線通信芯片作為內核芯片。整體是一個封裝好的模塊結構,不需要進行具體的配置,使用起來極其簡單方便。整個模塊有:VCC電源引腳、GND電源地、PWR低功耗控制、TXEN收發模式切換、CS頻道選擇引腳、DO/DI數據輸入輸出共7個引腳。使用時僅需要簡單地通過DSP的IO口設置其收發方式、頻道等簡單的配置引腳就可以保證其正常工作。
整個軟件設計流程的片上外設均采用DSP片上支持庫來編寫,使用了一組標準化的方法來訪問和控制片上資源,整個系統的可裁剪性較好,易于移植。軟件流程如圖3。

圖3 系統的軟件實現流程框圖Fig 3 Flow chart of system software realization
如圖4所示為輸入語音命令和模板信號動態波形。可以看到語音信號的兩次比較結果是有很大差異的,然而,利用語音信號在短時時間內的語音頻譜的平穩性和不同發音在信號頻譜分析中出現的先后順序,是可以有效地將待測信號檢測出來的。表1是系統檢測仿真實驗結果,可以看出:數字2對應著2號檢測結果,8對應著8號檢測結果。這里取差異最小的檢測值所對應的模板信號為檢測結果。實驗結果證明了此方法的可行性。

圖4 輸入信號與模板信號動態波形圖Fig 4 Dynamic waveforms of input sygnal and template signal

表1 待測信號實驗檢測結果Tab 1 Experimental results of the tested signal
在實際應用中,利用語音命令來實現與設備的交互,讓機器根據人的指令完成相應的操作有著廣泛的實用意義。智能人機交互系統可以克服在一些比較復雜的環境下,人們無法與設備直接接觸來控制設備的情況,可以很好地滿足復雜工業現場的需要。整個系統的設計基于DSP強大的實時運算功能和豐富的片上外設資源,采用片上支持庫(CSL)方便地實現對于液晶顯示、AIC、外部擴展存儲器、無線收發等模塊的控制,完成對于語音命令的采集、處理,以達到與遠程智能設備交互的目的。整個系統的設計實時性較好、功能集成度較高,具有一定的通用性。另外,由于系統核心處理芯片具有豐富的片上資源以及擴展接口,易與其他設備互聯同時也方便整個系統的升級。
[1]Hok,Yang T Y,Par K K J,et al.Robustvoice activity detection algorithm for estimating noise spectrum[J].IEEE Electronics Letters,2002,36(2):180 -181.
[2]黃程韋,趙 艷,于寅驊,等.用語音情感的特征分析與識別的研究[J].電子與信息學報,2011(33):112-116.
[3]宋 輝,劉 加.基于微分麥克風陣列的自適應語音增強算法研究及 DSP實現[J].自動化學報,2009,35(9):1240-1244.
[4]曹曉琳,吳 平,丁鐵夫.基于DSP的語音處理系統設計[J].儀器儀表學報,2005,26(8):583 -588.
[5]Campbell J P.Speaker recognition:A tutorial[C]//Proc of IEEE,1997:1437-1462.
[6]姜干新,陳 偉.嵌入式語音識別系統中的DTW在線并行算法[J].計算機應用研究,2010,27(3):977 -980.
[7]Rohit S,Umesh S.A shift-based approach to speaker normalization using non-linear frequeney scaling model[J].Speech Communication,2008,50(3):191 -202.
[8]郭良濤,黃建國,韓 晶,等.基于DSP的小型數字語音通信平臺設計[J].計算機測量與控制2009,17(6):1209 -1214.