SPCE061A在語音遙控器中的應(yīng)用
凌陽科技公司的最新產(chǎn)品SPCE061A,不但具有微控制器的功能,還具有DSP運算功能,可以用來進(jìn)行數(shù)字語音(音樂)信號處理。根據(jù)此特點,我們設(shè)計了一款語音遙控器,她可以語音識別常用電臺及控制命令,如“開機”、“關(guān)機”、“頻道增加”、“頻道減少”等遙控功能命令及“中央一臺”、“北京二臺”等電臺命令功能,對于這些電臺,用戶可以“直呼其名”切換到相應(yīng)電臺,不用每次搜索而煩惱;也方便用戶在晚上光線較暗的情況下的使用;更是視力較差、盲人的福音。
我們還加入了溫度采集、語音報溫的功能,通過按鍵控制,她采集當(dāng)前溫度,并用優(yōu)美的聲音播報“當(dāng)前溫度是xx攝氏度”。
在不增加成本的情況下,給語音遙控器加入了萬年歷計算、語音報時功能,通過按鍵,她會播報“xxxx年xx月xx日”或“上午(下午、晚上)x點x分”。
1 系統(tǒng)組成
目前所設(shè)計的空調(diào)語音遙控器,主要由鍵盤輸入、MIC輸入、溫度采集、語音輸出、紅外發(fā)射電路組成。按鍵用來完成按鍵遙控功能------保留按鍵功能、語音報溫、報時; SPCE061A有一路專用于語音信號采集的A/D轉(zhuǎn)換電路(MIC輸入),可以用來進(jìn)行語音識別、錄音等的語音信號輸入,本遙控器用來采集語音信號,進(jìn)行語音識別;SPCE061A有7路A/D,選其中1路進(jìn)行溫度采集,由按鍵控制溫度播報;SPCE061A有豐富的時基信號,采用2Hz進(jìn)行計數(shù),并進(jìn)行萬年歷計算,由按鍵控制播報時間。系統(tǒng)組成如圖1所示。
2 硬件組成
硬件電路如圖2所示:
共設(shè)計了13個按鍵,采用4×4的行列式鍵盤輸入,IOA0---IOA3設(shè)置成輸入口,IOA8---IOA11設(shè)置成輸出口,預(yù)留3個按鍵作為備用。
語音識別的硬件電路比較簡單,MIC選用駐極體話筒,駐極體話筒具有結(jié)構(gòu)簡單、重量輕、體積小、無方向性、頻率響應(yīng)寬、保真度好等優(yōu)點。駐極體話筒的偏壓由SPCE500A的VMIC腳提供。
SPCE061A提供雙通道10位D/A輸出AUD1、AUD2,其中每個DAC通道的輸出能力為3mA,用于輸出語音信號,考慮功耗問題,采用單通道AUD1輸出。
利用SPCE061A的IOB8輸出的PWM信號(IOB8、IOB9口的特殊功能)可以作為紅外載波信號,載波頻率由可編程定時器TimerA(或TimerB)的溢出頻率決定。本遙控器用IOB8產(chǎn)生紅外載波信號。
溫度傳感器采用普通負(fù)溫度系數(shù)熱敏電阻,熱敏電阻靈敏度高、價格便宜。('nSP(tm)內(nèi)核是一個通用的核結(jié)構(gòu)。除此之外的其它功能模塊均為可選結(jié)構(gòu),亦即這種結(jié)構(gòu)可大可小或可有可無。借助這種通用結(jié)構(gòu)附加可選結(jié)構(gòu)的積木式的構(gòu)成,便可形成各種不同系列派生產(chǎn)品,以適合不同的應(yīng)用場合。這樣做無疑會使每一種派生產(chǎn)品具有更強的功能和更低的成本。
3 軟件設(shè)計
軟件采用模塊化程序結(jié)構(gòu),程序模塊包括初始化、鍵盤掃描、溫度采集、溫度播報、萬年歷時間計算、萬年歷播報、紅外發(fā)射、語音識別、語音播放模塊等,程序流程見圖3所示:
圖3 流程圖
系統(tǒng)初始化包括系統(tǒng)時鐘、IO口、萬年歷初始值、中斷(打開按鍵喚醒和2Hz中斷),然后掃描按鍵,有按鍵進(jìn)行相應(yīng)處理,無按鍵進(jìn)入睡眠,萬年歷計算在2Hz中斷服務(wù)程序中進(jìn)行。
語音播放采用凌陽科技公司提供的音頻編碼算法,先在PC機上錄好提示語音文件(WAV文件),并經(jīng)凌陽公司提供的壓縮工具壓縮處理成二進(jìn)制文件加載到用戶程序,編譯鏈接后存儲到單片機FLASH中,播放時再解壓縮送D/A還原出語音。用于u'nSPTM內(nèi)核的SPCE系列芯片,凌陽科技公司提供三種不同壓縮率的算法,下表是各種壓縮算法名稱及編碼率類型。
壓縮算法名稱 |
語音壓縮編碼率類型 |
SACM_A2000 | 16KBits/s、20KBits/s、24KBits/s |
SACM_S480 | 4.8KBits/s、7.2KBits/s |
SACM_S240 | 2.4KBits/s |
這三種壓縮算法的區(qū)別在于壓縮率不同、音質(zhì)也不同。SACM_A2000壓縮率相對較小,音質(zhì)較好,相應(yīng)的資源占用較多。SACM_S240的壓縮率最大,音質(zhì)相對較差。SACM_S480介于這兩者之間。每種算法都有完整的庫函數(shù)供程序調(diào)用,軟件編寫非常方便。本語音遙控器采用SACM_S480算法。
語音識別分為特定發(fā)音人識別(Speaker Dependent)和非特定發(fā)音人識別(Speaker Independent)兩種方式。
特定發(fā)音人識別是指語音樣板由單個人訓(xùn)練,對訓(xùn)練人的語音命令識別準(zhǔn)確率較高,而其他人的語音命令識別準(zhǔn)確率較低或不識別。非特定發(fā)音人識別是指語音樣板由不同年齡、不同性別、不同口音的人進(jìn)行訓(xùn)練,可以識別一群人的命令。語音樣板的提取非常重要。語音遙控器就是采用非特定發(fā)音人識別方式。
語音識別分為語音樣板訓(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所示:
上面介紹了采用SPCE061A來完成紅外遙控、語音識別、語音報溫、報時等綜合功能的語音遙控器,系統(tǒng)只用了單顆芯片來完成語音處理和控制功能,與專用的語音處理芯片相比,具有結(jié)構(gòu)簡單、成本低、易實現(xiàn)的特點,并且凌陽科技公司提供了豐富的C函數(shù)庫和語音處理函數(shù)庫,供用戶調(diào)用,縮短了開發(fā)周期。本品稍作改動,就可用來控制空調(diào)機、錄像機等電器;利用SPCE061A的語音處理優(yōu)勢可組成語音應(yīng)答系統(tǒng)、語音合成系統(tǒng)、互動式玩具等,具有廣闊的市場前景。