嵌入式實(shí)時(shí)音樂(lè)語(yǔ)音識(shí)別系統(tǒng)的實(shí)現(xiàn)
引言
本文引用地址:http://www.ex-cimer.com/article/152533.htm隨著電子音樂(lè)的快速發(fā)展, 迫切需要一種更智能、更便捷的用戶操作系統(tǒng)。自動(dòng)音樂(lè)語(yǔ)音識(shí)別系統(tǒng)能夠提供便利的人機(jī)交互[1],方便人們自己學(xué)習(xí)音樂(lè)知識(shí), 將成為一種主要方法,也是一個(gè)發(fā)展的方向。目前, 實(shí)驗(yàn)室環(huán)境中自動(dòng)語(yǔ)音識(shí)別系統(tǒng)已經(jīng)取得了很好的效果, 但是應(yīng)用于電子音樂(lè)方面的自動(dòng)音樂(lè)語(yǔ)音識(shí)別卻很少。當(dāng)自動(dòng)語(yǔ)音識(shí)別應(yīng)用于電子音樂(lè)時(shí), 必須對(duì)識(shí)別方法進(jìn)行相應(yīng)改進(jìn), 才能滿足其對(duì)運(yùn)算速度、內(nèi)存資源等方面的要求。為了解決這個(gè)問(wèn)題, 本文將結(jié)合音樂(lè)語(yǔ)音的特點(diǎn),設(shè)計(jì)并實(shí)現(xiàn)嵌入式音樂(lè)語(yǔ)音識(shí)別系統(tǒng)。
1系統(tǒng)硬件電路設(shè)計(jì)系統(tǒng)
硬件電路設(shè)計(jì)的原理框圖如圖1所示,它主要由音樂(lè)語(yǔ)音信息采集部分、音樂(lè)語(yǔ)音處理DSP部分、程序數(shù)據(jù)存儲(chǔ)器FLASH部分、數(shù)據(jù)存儲(chǔ)器SRAM部分、鍵盤(pán)管理部分、音源芯片語(yǔ)音輸出部分、以及電源部分組成。音樂(lè)語(yǔ)音信息采集部分主要由MCU GPL162001來(lái)完成,該芯片自帶12bit ADC和72個(gè)I/O口,方便鍵盤(pán)管理,。音樂(lè)語(yǔ)音處理DSP部分選用了目前通用的TI公司的TMS320VC5402 16位微處理器,處理速度快,最快運(yùn)行速度可達(dá)100MIPS,功耗低,是一款理想的DSP處理器??紤]到速度要求較快,DSP的晶振選用100MHZ的晶振。另外,由于音樂(lè)輸出要求有專業(yè)的樂(lè)音效果,電路中選擇了由中芯微公司提供的64和弦MIDI音頻處理芯片。此外,TMS320VC5402片上沒(méi)有FLASH且片內(nèi)RAM只有16K,考慮到語(yǔ)音數(shù)據(jù)比較大,我們外擴(kuò)了1M的FLASH芯片和64K的SRAM芯片。 DSP(TMS320VC5402) 是整個(gè)硬件系統(tǒng)的信號(hào)處理中心,完成音樂(lè)語(yǔ)音識(shí)別工作, 進(jìn)行RAM及FLASH 存儲(chǔ)芯片的數(shù)據(jù)管理與調(diào)度, 并向主控芯片 MCU 提供反饋信息。電源的工作電壓為3.3V。
圖1 系統(tǒng)原理圖
2系統(tǒng)的軟件實(shí)現(xiàn)
和大部分語(yǔ)音識(shí)別系統(tǒng)一樣,音樂(lè)語(yǔ)音識(shí)別系統(tǒng)本質(zhì)也是一種模式識(shí)別系統(tǒng)。它的基本流程圖如圖2所示,主要包括語(yǔ)音信號(hào)預(yù)處理,端點(diǎn)檢測(cè),特征參數(shù)求取和語(yǔ)音識(shí)別等幾個(gè)步驟。
圖2 系統(tǒng)識(shí)別算法流程圖
2.1語(yǔ)音信號(hào)預(yù)處理
語(yǔ)音信號(hào)預(yù)處理主要是對(duì)語(yǔ)音信號(hào)進(jìn)行前期的優(yōu)化處理,方便后面的端點(diǎn)檢測(cè)和語(yǔ)音識(shí)別,語(yǔ)音信號(hào)預(yù)處理主要包括分幀處理、預(yù)加重處理、加窗處理、濾波和消除毛刺處理等。
2.1.1語(yǔ)音信號(hào)的分幀
語(yǔ)音信號(hào)的特征是隨著時(shí)間而變化的,只有在一段短的時(shí)間間隔中,語(yǔ)音信號(hào)才保持相對(duì)穩(wěn)定一致的特征, 通常這段時(shí)間取5~50ms。在程序中取200個(gè)采樣點(diǎn),對(duì)于8k的采樣頻率,即相當(dāng)于25ms。幀間重疊為100個(gè)采樣點(diǎn),亦即12.5ms。
2.1.2預(yù)加重
由于語(yǔ)音信號(hào)平均功率譜受聲門(mén)激勵(lì)和口鼻輻射影響,800HZ以上的高頻信號(hào)按6DB/倍頻跌落,所以求語(yǔ)音信號(hào)頻譜時(shí),頻率越高相應(yīng)成分越少,高頻部分的頻譜比低頻部分難求,所以要進(jìn)行預(yù)加重處理。在數(shù)字語(yǔ)音信號(hào)處理中,數(shù)字語(yǔ)音信號(hào)通常都通過(guò)一個(gè)低階的系統(tǒng)(典型的是一個(gè)一階的濾波器),即 式中, 為預(yù)加重系數(shù),通常 最為常用的取值是在0.95附近。由于本系統(tǒng)采用的是 =0.94
2.1.3加窗
對(duì)每一幀語(yǔ)音進(jìn)行加窗實(shí)質(zhì)是語(yǔ)音波形乘窗函數(shù),為減少時(shí)間窗兩端的坡度,使窗口邊緣兩端平滑過(guò)渡到零,減小語(yǔ)音幀的截?cái)嘈?yīng), 這里采用典型的應(yīng)用在語(yǔ)音識(shí)別系統(tǒng)中加hamming窗。
2.1.4濾波、消除毛刺
由于語(yǔ)音信號(hào)包含很多噪聲信號(hào),這些噪聲信號(hào)在時(shí)域中表現(xiàn)出高頻隨機(jī)、毛刺等信號(hào),這些信號(hào)很可能影響識(shí)別的效果,所以,對(duì)信號(hào)進(jìn)行帶通濾波和消除毛刺處理能很好提高識(shí)別的精度。由于人聲主要在60-1000HZ ,采用50-1000HZ的FIR帶通濾波器對(duì)原信號(hào)進(jìn)行濾波,即可獲得良好的效果。 消除毛刺影響主要采用語(yǔ)音信號(hào)峰谷值檢測(cè)的方法,把相鄰兩峰值之間很不明顯的谷值和相鄰兩谷值之間很不明顯的峰值去掉,對(duì)語(yǔ)音曲線中一些較小的毛刺進(jìn)行曲線整形,消除那些明顯的毛刺!
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論