基于DSP的語音識別計(jì)算器設(shè)計(jì)
TLV320AIC23是Tl公司的一款低成本、低功耗的音頻編解碼器(CODEC),在本系統(tǒng)中負(fù)責(zé)采集語音信號。它與本系統(tǒng)相關(guān)的性能參數(shù)有:支持8~96 kHz可調(diào)采樣率;可調(diào)1~5dB的完整緩存放大系統(tǒng)等。圖4是TLV320AIC23的電路圖。本文引用地址:http://butianyuan.cn/article/166656.htm
AM29LV800B存儲器又稱閃存(Flash),它具有在線電擦寫、低功耗、大容量等特點(diǎn),其存儲容量為8Mbit。上電后,DSP從外部Flash加載并執(zhí)行程序代碼,使系統(tǒng)能夠脫機(jī)運(yùn)行。在本系統(tǒng)中,它主要用來存儲程序代碼、語音模型、以及壓縮后的語音數(shù)據(jù)。
HY57V641620同步動態(tài)存儲器(SDRAM),容量為4 M×16 bit。作為RAM的擴(kuò)展,它大大增強(qiáng)了DSP的存儲與運(yùn)算能力。在系統(tǒng)初始化的時(shí)候,用來裝載放在Flash中的聲學(xué)模型。這樣在語音識別的過程中可以通過片外的SDRAM來訪問聲學(xué)模型,比直接訪問Flash來獲取聲學(xué)模型數(shù)據(jù)要快。LCD顯示器用來實(shí)時(shí)顯示經(jīng)過語音識別后的數(shù)字、運(yùn)算符號,并在得到需要顯示最終結(jié)果的提示后顯示答案。
2 系統(tǒng)軟件設(shè)計(jì)
2.1 系統(tǒng)軟件流程
圖5為系統(tǒng)的軟件流程。整個(gè)系統(tǒng)開始運(yùn)行后,初始化DSP及TLV320AIC23,以使各個(gè)寄存器的初值符合要求。在系統(tǒng)通過TLV320AIC23采集語音信號后,首先要進(jìn)行預(yù)濾波和預(yù)加重;接著將語音信號進(jìn)行分幀;然后計(jì)算每幀信號的短時(shí)能量與短時(shí)平均過零率,為接下來的門限判決提供依據(jù);利用門限判決進(jìn)行端點(diǎn)檢測后,提取每幀的Mel倒譜參數(shù)(MFCC),作為該幀信號的特征值;最后,用處理后的語音信號的特征值與模板進(jìn)行匹配,這一部分是系統(tǒng)的重點(diǎn)。以相似度最大的模板鎖對應(yīng)的語音信號為識別結(jié)果。根據(jù)識別的結(jié)果在顯示器上顯示數(shù)字和運(yùn)算符號,由運(yùn)算規(guī)則得出結(jié)果并顯示。
2.2 前處理
前處理是對語音信號采樣、A/D轉(zhuǎn)換、預(yù)濾波和預(yù)加重、分幀等。以8 kHz和16位的采樣頻率采集的語音模擬信號。本系統(tǒng)使用帶通濾波器來濾波,上截頻率為3.4 kHz。下截頻率為60 Hz。由于語音信號具有極強(qiáng)的相關(guān)性,因此,分幀時(shí)要考慮幀重復(fù)的問題。本文將語音信號以256個(gè)采樣點(diǎn)為一幀,兩頓之間的重復(fù)點(diǎn)數(shù)為80,通過一個(gè)一階的濾波器H(z)=1-a/z對采集的信號進(jìn)行處理。
端點(diǎn)檢測就是從說話人的語音命令中,檢測出孤立詞的語音開始和結(jié)束的始點(diǎn)。端點(diǎn)檢測是語音識別過程的一個(gè)重要環(huán)節(jié),只有將孤立詞從說話人的背景噪聲中分割出來,才能夠進(jìn)一步進(jìn)行語音識別工作。本文采用短時(shí)能量和過零率檢測端點(diǎn)。語音信號的短時(shí)能量分析給出了反應(yīng)其幅度變化的一個(gè)合適描述方法。
短時(shí)過零率,即指每幀內(nèi)信號通過零值的次數(shù),能夠在一定程度上反映信號的頻譜特性。一幀語音信號內(nèi)短時(shí)平均過零率定義為:
用短時(shí)能量參數(shù)檢測結(jié)束點(diǎn),信號{x(n)}的短時(shí)能量定義為:
式中,{x(n)}為輸入信號序列。
在正式端點(diǎn)檢測開始后,短時(shí)能量與短時(shí)過零率作為門限來判決說話人命令字的開始與結(jié)束;連續(xù)5幀語音信號超過門限值視為說話人命令字的開始,連續(xù)8幀語音信號低于門限值視為說話人命令字的結(jié)束。
2.3 特征值提取
提取每幀的Mel倒譜參數(shù)(MFCC)為該幀信號的特征值。由倒譜特征是用于說話人個(gè)性特征和說話人識別的最有效的特征之一,它是基于人耳模型而提出的。其提取過程如下:
1)原始語音信號S(n)經(jīng)過預(yù)加重、加窗等處理,得到每個(gè)語音幀的時(shí)域信號x(n)。然后經(jīng)過離散傅里葉變換(DFT)后得到離散頻譜X(k)。
式中,N表示傅里葉變換的點(diǎn)數(shù)。
評論