關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于LD332O語音識別專用芯片實現(xiàn)的語音控制

基于LD332O語音識別專用芯片實現(xiàn)的語音控制

作者: 時間:2012-02-16 來源:網(wǎng)絡(luò) 收藏

b.jpg


主控MCU與LD3320的連接關(guān)系如圖2所示,MCU的P0端口的8根線和LD3320并行方式連接,線也分別連接。此外還連接了復(fù)位信號和中斷信號。對LD3320來說,復(fù)位信號(RSTB)由MCU發(fā)出,而中斷信號由LD3320發(fā)出,MCU負責(zé)接收。
另外,還有一些輔助電路,比如麥克風(fēng)的偏置、喇叭音量的,以及電源的去耦等,這里不作詳細介紹。

3 LD3320的軟件編程
3.1 編程模式
主控MCU通過讀/寫LD3320的寄存器完成操作。用戶有兩種編程模式:“中斷模式”和“輪詢模式”。
所謂中斷模式,就是系統(tǒng)的主控MCU在接收到外界一個觸發(fā)后(比如用戶按動某個按鍵),啟動LD3320的一個定時過程(比如5s),要求用戶在這個定時過程中說出要關(guān)鍵詞語。過了這個過程后,需要用戶再次觸發(fā)才能再次啟動一個過程。
所謂輪詢模式,就是系統(tǒng)的主控MCU反復(fù)啟動識別過程。如果沒有人說話沒有識別結(jié)果,則每次識別過程的定時到時后再啟動一個識別過程;如果有識別結(jié)果,則根據(jù)識別作相應(yīng)處理后(比如播放某個聲音作為回答)再啟動一個識別過程。
3.2 程序流程
識別的操作流程是:
(1)識別用初始化(包括通用初始化)。在此步驟中,對各寄存器進行初始化設(shè)置。
(2)寫入識別列表。LD3320是一個詞庫的語音識別,在此步驟中,應(yīng)將待識別的短語寫入識別列表。列表的規(guī)則是,每個識別條目對應(yīng)一個特定的編號(1個字節(jié)),不同的識別條目的編號可以相同,而且不用連續(xù),但是數(shù)值要小于256(00H~FFH)。
(3)開始識別,并準備好中斷響應(yīng)函數(shù),打開中斷允許位。
(4)響應(yīng)中斷。如果麥克風(fēng)采集到聲音,不管是否以別出正常結(jié)果,都會產(chǎn)生一個中斷信號。而中斷程序要根據(jù)寄存器的值分析結(jié)果。讀取BA寄存器的值,可以知道有幾個候選答案,而C5寄存器里的答案是得分最高、最可能正確的答案。
如果不用中斷方式,也可以通過查詢方式工作。在“開始識別”后,讀取寄存器B2H的值,如果為21H就表示有識別結(jié)果產(chǎn)生。在此之后讀取候選項等操作與中斷方式相同。
LD3320還具有MP3播放的功能,在這里不再進行介紹。

4 結(jié)論
LD3320的功能是完成有限詞組的非特定人語音識別,我們將其應(yīng)用在一個虛擬環(huán)境下戰(zhàn)術(shù)訓(xùn)練課題中。戰(zhàn)術(shù)訓(xùn)練中,常常需要下達一些短口令,而在我們所設(shè)計的訓(xùn)練環(huán)境中,如果口令采用鍵盤或鼠標的方式進行輸入,顯然有違設(shè)計的初衷。所以,我們使用LD3320設(shè)計VUI電路,用語音識別的方式,將獲得的識別結(jié)果再轉(zhuǎn)換成串口信號,輸入計算機,達到語音控制的目的。
實踐證明,這種方式可以滿足語音控制的要求,但是語音識別的速度,即實時性還有待改進。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉