新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于DSP的語音識別計算器電路設計

基于DSP的語音識別計算器電路設計

作者: 時間:2016-12-21 來源:網(wǎng)絡 收藏

隨著電子技術(shù)的高速發(fā)展,現(xiàn)代普通民用計算器在保留基本的加減乘除等運算外,加入了大量如三角函數(shù)、冪函數(shù)等比較復雜的運算。但是其基本的操作沒有發(fā)生變化,依然是運用手指操作,對于需要進行實時數(shù)字計算的一些特殊人群(殘疾人士)或是在一些特殊場合在無法手動操作計算器的情況下,用加入了語音識別模塊的計算器來進行實時數(shù)字計算就有相當?shù)谋匾?br> 語音識別技術(shù)是人機最自然、最簡潔的交流方式,它就是讓機器能夠自動識別并理解說話人要表達的意思,將語音信號轉(zhuǎn)變?yōu)檎_的文本或者命令的高科技技術(shù)。根據(jù)實際的應用,語音識別可以分為:特定人與非特定人的識別、孤立詞與連續(xù)詞的識別、中小詞匯量與無限詞匯量的識別。
考慮到成本及使用范圍因素,本文中應用的是基于TMS320VC5509 DSP的非特定人、孤立詞、小詞匯量的語音識別系統(tǒng)。通過實際測試,使用該DSP的語音識別系統(tǒng)有著較高的實時性、識別率,基于該系統(tǒng)的計算器對實時數(shù)字計算有較高準確性,基本能解決特殊群體和特殊地點使用計算器困難的情況。

本文引用地址:http://butianyuan.cn/article/201612/332387.htm

1 系統(tǒng)硬件設計
1.1 語音識別系統(tǒng)
語音識別的基本原理框圖如圖l所示。語音識別過程主要包括語音信號前處理、特征提取、模式匹配等部分。語音信號輸入之后,預處理和數(shù)字化是進行語音識別的前提條件。特征提取是進行語音信號訓練和識別必不可少的步驟,本文采用的是提取每幀的Mel系數(shù)的倒譜參數(shù)作為語音信號的特征值。模板匹配算法目前有DTW算法、HMM隱馬爾科夫模型、ANN人工神經(jīng)網(wǎng)絡等。本文采用HMM隱馬爾科夫模型的方法,提取出的特征值存入?yún)⒖寄J綆熘?,用來匹配待識別語音信號的特征值。匹配計算是進行語音識別的核心部分,由待識別人的語音經(jīng)過特征提取后,與系統(tǒng)訓練時產(chǎn)生的模板進行匹配,在說話人辨認中,取與待識別語音相似度最大的模型所對應的語音作為識別結(jié)果。


1.2 系統(tǒng)硬件結(jié)構(gòu)
圖2為系統(tǒng)硬件結(jié)構(gòu)框圖。此系統(tǒng)的核心器件是TI公司的TMS320VC5509定點DSP。在本系統(tǒng)中,它不僅是語音識別的核心,還負責計算器的運算部分。TMS320VC5509是系統(tǒng)的運算處理單元,具有2個乘法器(MAC),4個累加器(ACC);40位、16位的算術(shù)邏輯單元(ALU)各一個,這大大增強了DSP的運算能力;指令字長不只單一的16位,可擴展到最高48位,數(shù)據(jù)字長16位;可通過USB接口對TMS320VC5509燒寫程序而不必借助仿真器。正是基于這些優(yōu)點,選擇該器件可節(jié)省開發(fā)資金,減小電路板面積。DSP與TLV320AIC23的接口電路如圖3所示。

TLV320AIC23是Tl公司的一款低成本、低功耗的音頻編解碼器(CODEC),在本系統(tǒng)中負責采集語音信號。它與本系統(tǒng)相關(guān)的性能參數(shù)有:支持8~96 kHz可調(diào)采樣率;可調(diào)1~5dB的完整緩存放大系統(tǒng)等。圖4是TLV320AIC23的電路圖。


AM29LV800B存儲器又稱閃存(Flash),它具有在線電擦寫、低功耗、大容量等特點,其存儲容量為8Mbit。上電后,DSP從外部Flash加載并執(zhí)行程序代碼,使系統(tǒng)能夠脫機運行。在本系統(tǒng)中,它主要用來存儲程序代碼、語音模型、以及壓縮后的語音數(shù)據(jù)。
HY57V641620同步動態(tài)存儲器(SDRAM),容量為4 M×16 bit。作為RAM的擴展,它大大增強了DSP的存儲與運算能力。在系統(tǒng)初始化的時候,用來裝載放在Flash中的聲學模型。這樣在語音識別的過程中可以通過片外的SDRAM來訪問聲學模型,比直接訪問Flash來獲取聲學模型數(shù)據(jù)要快。LCD顯示器用來實時顯示經(jīng)過語音識別后的數(shù)字、運算符號,并在得到需要顯示最終結(jié)果的提示后顯示答案。

2 系統(tǒng)軟件設計
2.1 系統(tǒng)軟件流程
圖5為系統(tǒng)的軟件流程。整個系統(tǒng)開始運行后,初始化DSP及TLV320AIC23,以使各個寄存器的初值符合要求。在系統(tǒng)通過TLV320AIC23采集語音信號后,首先要進行預濾波和預加重;接著將語音信號進行分幀;然后計算每幀信號的短時能量與短時平均過零率,為接下來的門限判決提供依據(jù);利用門限判決進行端點檢測后,提取每幀的Mel倒譜參數(shù)(MFCC),作為該幀信號的特征值;最后,用處理后的語音信號的特征值與模板進行匹配,這一部分是系統(tǒng)的重點。以相似度最大的模板鎖對應的語音信號為識別結(jié)果。根據(jù)識別的結(jié)果在顯示器上顯示數(shù)字和運算符號,由運算規(guī)則得出結(jié)果并顯示。


2.2 前處理
前處理是對語音信號采樣、A/D轉(zhuǎn)換、預濾波和預加重、分幀等。以8 kHz和16位的采樣頻率采集的語音模擬信號。本系統(tǒng)使用帶通濾波器來濾波,上截頻率為3.4 kHz。下截頻率為60 Hz。由于語音信號具有極強的相關(guān)性,因此,分幀時要考慮幀重復的問題。本文將語音信號以256個采樣點為一幀,兩頓之間的重復點數(shù)為80,通過一個一階的濾波器H(z)=1-a/z對采集的信號進行處理。
端點檢測就是從說話人的語音命令中,檢測出孤立詞的語音開始和結(jié)束的始點。端點檢測是語音識別過程的一個重要環(huán)節(jié),只有將孤立詞從說話人的背景噪聲中分割出來,才能夠進一步進行語音識別工作。本文采用短時能量和過零率檢測端點。語音信號的短時能量分析給出了反應其幅度變化的一個合適描述方法。
短時過零率,即指每幀內(nèi)信號通過零值的次數(shù),能夠在一定程度上反映信號的頻譜特性。一幀語音信號內(nèi)短時平均過零率定義為:

用短時能量參數(shù)檢測結(jié)束點,信號{x(n)}的短時能量定義為:

式中,{x(n)}為輸入信號序列。
在正式端點檢測開始后,短時能量與短時過零率作為門限來判決說話人命令字的開始與結(jié)束;連續(xù)5幀語音信號超過門限值視為說話人命令字的開始,連續(xù)8幀語音信號低于門限值視為說話人命令字的結(jié)束。
2.3 特征值提取
提取每幀的Mel倒譜參數(shù)(MFCC)為該幀信號的特征值。由倒譜特征是用于說話人個性特征和說話人識別的最有效的特征之一,它是基于人耳模型而提出的。其提取過程如下:
1)原始語音信號S(n)經(jīng)過預加重、加窗等處理,得到每個語音幀的時域信號x(n)。然后經(jīng)過離散傅里葉變換(DFT)后得到離散頻譜X(k)。


式中,N表示傅里葉變換的點數(shù)。 2)將離散譜X(k)通過M個Mel頻率濾波器組可得到Mel頻譜并通過對數(shù)能量的處理,得到對數(shù)頻譜S(n)。計算S(n)通過每一個濾波器的輸出,得到M個h(m)參數(shù)。


3)對所有濾波器輸出進行對數(shù)運算,再進一步進行離散余弦變換(DCT),即可得到MFCC參數(shù)。

一般在Mel濾波器的選擇中。Mel濾波器組都選擇三角形的濾波器,但也可以是其他形狀,如正弦形的濾波器組等。
2.4 模板匹配(HMM算法)
本文采用隱馬爾科夫模型(HMM算法)進行模式匹配。它將特征矢量作為模板,在語音識別模式匹配時,對輸人的語音與模板庫中的模板進行比較,最后將相似度最高的作為輸出結(jié)果。HMM算法解決由于說話人語速不同和連續(xù)說話的而帶來的失真問題,還能大大減少運算時間,提高識別率。
隱馬爾可夫模型是一個雙重隨機過程的統(tǒng)計模型,其基本隨機過程是隱藏起來觀測不到的,另一個隨機過程則產(chǎn)生觀測序列。對于語音識別系統(tǒng),觀測序列0就是矢量量化后的結(jié)果序列,模型λ就是由訓練語音得到的模板。語音的訓練過程就是產(chǎn)生模板λ的過程,而語音的識別過程就是求出在模板λ下,待識別語音的結(jié)果序列0的條件概率P[O/λ]。
由α(i)和β(i)的定義可直接得到:P[O/λ]=αt(i)βt(i)。而語音的訓練算法則較復雜,目前都采用迭代的方法得到a和b的近似解,其迭代公式如:

在實際應用中,僅對詞條的少數(shù)次發(fā)音進行訓練的語音識別系統(tǒng)。不可能對各種復雜語境下的不同發(fā)音都有較高的識別率。某些較陳舊的識別算法如動態(tài)時間彎曲法,只能把單詞的多次訓練發(fā)音形成多個模板,造成模板數(shù)量成倍增加,影響系統(tǒng)的實時性。而HMM能夠?qū)σ粋€詞的多個訓練序列進行有效的融合而形成一個模板。當訓練發(fā)音的數(shù)量增多時,只會造成訓練過程的計算量增大。而不會使識別過程的計算量有絲毫增加,這對系統(tǒng)的實時性是相當有利的。

3 系統(tǒng)測試
針對計算器的使用特點和環(huán)境,分別在2個地點測試系統(tǒng)的性能。1)封閉的實驗室(地點1),噪聲較小,采集的信號較為良好,缺點是有回聲。2)課間休息的教室(地點2),噪聲及大,干擾很強,信號的采集質(zhì)量很差。
因為整個系統(tǒng)的設計是實現(xiàn)計算器的計算功能,因此本次的實驗是在系統(tǒng)識別數(shù)字和運算符號等語音后在顯示器上顯示數(shù)學運算公式,并在識別出“等于”或“得出”2個詞組的語音后顯示出“=”和最后的計算結(jié)果。
在測試前預先采集5男5女共1 000個語音樣本(內(nèi)容為數(shù)字0到100,加、減、乘、除、等于和十、百、千、萬等基本計算所需要的數(shù)字和運算符號讀音),并且對所有樣本進行訓練。另外找10人(4女,6男)在各實驗地點進行實時測試,每人10個,共100個未經(jīng)訓練的樣本。用這些樣本對系統(tǒng)進行測試,其測試結(jié)果如表1所示。



關(guān)鍵詞: DSP語音識

評論


技術(shù)專區(qū)

關(guān)閉