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