基于SPCE061A的語音識別技術(shù)
SPCE061A是凌陽公司設(shè)計的一種16位單片機(jī),該款單片機(jī)資源豐富,具有極高的性價比,該單片機(jī)內(nèi)置有2路DA轉(zhuǎn)換,8路AD轉(zhuǎn)換及在線仿真,并且有16×16位的乘法運(yùn)算和內(nèi)積運(yùn)算的DSP功能,這為它進(jìn)行復(fù)雜的語音數(shù)字信號的壓縮編碼與解碼提供了便利,還可以做數(shù)字濾波器。這些特點為我們進(jìn)行在語音處理尤其是語音識別領(lǐng)域的應(yīng)用提供了便利。
語音識別技術(shù)在各個層面均有廣泛的應(yīng)用前景。電腦軟件領(lǐng)域,例如:語音命令、語音輸入,對話系統(tǒng)、查詢系統(tǒng)、教學(xué)軟件、游戲軟件等;消費(fèi)性電子產(chǎn)品領(lǐng)域,例如:電子記事本、聲控玩具、語音拔號功能的手機(jī)等;工業(yè)產(chǎn)品領(lǐng)域,例如:車用移動電話、車用導(dǎo)航系統(tǒng)等;電話系統(tǒng)領(lǐng)域,例如:語音識別總機(jī)服務(wù)、語音拔號、語音訂票訂位等。
1 語音識別基本原理
語音識別就是讓機(jī)器聽得懂人們所講的話,基本框架如圖1和圖2所示。圖1是語音訓(xùn)練模型的部分:將已知的語音信號經(jīng)由端點偵測(End Point Detection)及特征參數(shù)求取(Feature Extraction)而產(chǎn)生標(biāo)準(zhǔn)的語音參考樣本。
圖2是語音識別的部分。將待測的語音信號,經(jīng)與圖1同樣的處理步驟求得特征參數(shù)后再與前述的標(biāo)準(zhǔn)語音參考樣本對比,找出最相似的參考樣本作為辨識的結(jié)果。
2 語音識別分類
若依使用者的限制而言可分為特定人語音與非特定人語音識別。
2.1 特定人語音識別
使用特定人語音識別系統(tǒng)前,須先把使用者的語音參考樣本存入當(dāng)成比對的資料庫,即特定人語音識別系統(tǒng)在使用前就必須先進(jìn)行圖1的訓(xùn)練學(xué)習(xí)步驟。
2.2 非特定人語音識別
使用本系統(tǒng)前根本不需要先學(xué)習(xí),便能直接使用。一套最佳的語音識別系統(tǒng)是不須經(jīng)過學(xué)習(xí)便能進(jìn)行語音識別,但通常辯識率都比較低。
另外以說話方式的連續(xù)是否又可分為非連續(xù)語音識別和連續(xù)語音識別。對于非連續(xù)語音來說,識別所說的每一個字必須分開辨認(rèn);而連續(xù)語音識別可以一般自然流利的說話方式來進(jìn)行人性化的語音識別,但由于關(guān)系到相連音的問題,很難達(dá)到好的辨認(rèn)效果。
3 SPCE061A芯片特性簡介
SPCE061A是一款基于μ′nSP內(nèi)核的16位單片機(jī),其芯片特性如下:(1)工作電壓:內(nèi)核工作電壓VDD為3.0~3.6V(CPU),I/O口工作電壓VDDH為2.4~5.5V(I/O);(2)CPU時鐘:0.32MHz~49.152MHz;(3)內(nèi)置2K字SRAM和32K閃存ROM;(4)系統(tǒng)處于備用狀態(tài)下(時鐘處于停止?fàn)顟B(tài)),耗電小于2μA@3.6V;(5)具備觸鍵喚醒的功能;(6)32位通用可編程輸入/輸出端口;(7)2個16位可編程定時器/計數(shù)器(可自動預(yù)置初始計數(shù)值);(8)7通道10位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器;(9)2個10位DAC(數(shù)-模轉(zhuǎn)換)輸出通道;(10)14個中斷源可來自定時器A/B,時基,2個外部時鐘源輸入,鍵喚醒;(11)具備串行設(shè)備接口;(12)低電壓復(fù)位(LVR)功能和低電壓監(jiān)測(LVD)功能;(13)內(nèi)置在線仿真(ICE,In-Circuit Emulator)接口。
SPCE061A的內(nèi)部結(jié)構(gòu)框圖如圖3所示。
4 SPCE061A的語音識別應(yīng)用
4.1 硬件電路簡述
SPCE061A的D/A轉(zhuǎn)換通道的硬件實現(xiàn)大致有兩類,一類是直接采用數(shù)/模轉(zhuǎn)換器(DAC)方式,另一類是直接采用脈寬調(diào)制(PWM)驅(qū)動方式,SPCE061A音頻輸出的結(jié)構(gòu)就是由兩個DAC通道或一個PWM驅(qū)動通道構(gòu)成。兩類實現(xiàn)方式實質(zhì)都為數(shù)/模轉(zhuǎn)換,都是將數(shù)字信號轉(zhuǎn)換成電流模擬信號輸出。SPCE061A的音頻輸出采用雙通道數(shù)/模轉(zhuǎn)換DAC方式,即數(shù)字信號通過10位DAC轉(zhuǎn)換成3mA驅(qū)動的電流模擬信號輸出。語音提示輸出直接采用DAC通道,經(jīng)信號放大后,由揚(yáng)聲器輸出。
語音識別電路比較簡單,MIC選用駐極體話筒。駐極體話筒具有結(jié)構(gòu)簡單、重量輕、體積小、無方向性、頻率響應(yīng)寬、保真度好等優(yōu)點,它的偏壓由SPCE061A的VMIC管腳提供。
4.2 系統(tǒng)軟件
語音識別分為語音樣板訓(xùn)練和語音識別兩個過程。我們將標(biāo)準(zhǔn)模式的存儲空間稱之為“詞庫”,而把標(biāo)準(zhǔn)模式稱之為“樣板”。所謂語音樣板訓(xùn)練,即將待識別的命令進(jìn)行頻譜分析,提取特征參數(shù)作為識別的標(biāo)準(zhǔn)模式。語音識別的過程是提取語音命令的特征參數(shù),與詞庫中的樣板比較,取相似度最好的樣板命令序號作為識別結(jié)果。凌陽科技公司提供語音樣板訓(xùn)練工具和語音識別庫函數(shù),每次可識別30條語音命令,命令較多可以分多組進(jìn)行,語音識別流程見圖4所示。
其中,BSR-GetResult函數(shù)為啟動辯識,當(dāng)無命令識別出來時,返回0;識別器停止、未初始化或識別未激活返回-1;當(dāng)識別不合格時返回-2;當(dāng)識別出來時返回命令的序號。部分程序源代碼如下。
以上程序代碼是SPCE061A在一種基于特定人智能語音識別電動小車上的應(yīng)用。經(jīng)大量實驗測試表明,將SPCE061A應(yīng)用于語音識別領(lǐng)域,系統(tǒng)性能穩(wěn)定、聲音質(zhì)量和識別效果較好。但在環(huán)境噪聲或干擾信號高于語音信號時,系統(tǒng)將無法進(jìn)行正確的語音識別,在背景噪聲處理及其工程實際上還要進(jìn)一步改進(jìn)。