基于ARM的非特定人語音識(shí)別系統(tǒng)設(shè)計(jì)
0 引言
本文引用地址:http://butianyuan.cn/article/247359.htm隨著高新技術(shù)在軍事領(lǐng)域的廣泛運(yùn)用,武器裝備逐步向高、精、尖方向發(fā)展。傳統(tǒng)的軍事訓(xùn)練由于訓(xùn)練時(shí)間長(zhǎng)、訓(xùn)練費(fèi)用高、訓(xùn)練空間窄,常常不能達(dá)到預(yù)期的訓(xùn)練效果,已不能滿足現(xiàn)代軍事訓(xùn)練的需要。為解決上述問題,模擬訓(xùn)練應(yīng)運(yùn)而生。
為進(jìn)一步提高訓(xùn)練效果,本文利用智能語音交互芯片設(shè)計(jì)了某模擬訓(xùn)練器的示教與回放系統(tǒng)。示教系統(tǒng)為操作人員生動(dòng)的演示標(biāo)準(zhǔn)操作流程及相應(yīng)的操作現(xiàn)象,極大地縮短了對(duì)操作人員的培訓(xùn)時(shí)間,提高了培訓(xùn)效果。回放系統(tǒng)通過記錄操作訓(xùn)練過程中各操作人員的口令、聲音強(qiáng)度、動(dòng)作、時(shí)間、操作現(xiàn)象等,待操作訓(xùn)練結(jié)束后通過重演訓(xùn)練過程,以便操作者及時(shí)糾正自己的問題。示教系統(tǒng)也可理解為對(duì)標(biāo)準(zhǔn)操作訓(xùn)練過程的回放。該系統(tǒng)不需要虛擬現(xiàn)實(shí)技術(shù)的支持,在小型的嵌入式系統(tǒng)上就可以實(shí)現(xiàn)。
1 系統(tǒng)原理
該模擬訓(xùn)練器由一臺(tái)測(cè)控計(jì)算機(jī)和多臺(tái)從設(shè)備組成。如圖1所示。在此僅對(duì)一臺(tái)從設(shè)備進(jìn)行介紹,其硬件系統(tǒng)主要由測(cè)控計(jì)算機(jī)、Arduino mega2560 控制器、語音識(shí)別單元、聲強(qiáng)檢測(cè)單元、語音合成單元、面板控制單元、儀器面板等組成。面板控制單元較為復(fù)雜,包含多種控制電路,在模擬訓(xùn)練中負(fù)責(zé)該從設(shè)備在Arduino mega2560 控制器的控制下完成整個(gè)訓(xùn)練過程,在示教與回放系統(tǒng)中完成對(duì)剛才操作訓(xùn)練操作現(xiàn)象的重演,其具體電路設(shè)計(jì)在此不做介紹。
語音識(shí)別單元負(fù)責(zé)識(shí)別操作人員的操作口令;聲強(qiáng)檢測(cè)單元負(fù)責(zé)檢測(cè)聲強(qiáng)大小并以此作為判斷是哪臺(tái)從設(shè)備操作人員口令的依據(jù);Arduino mega2560控制器負(fù)責(zé)監(jiān)視儀器面板各元件的狀態(tài)來識(shí)別操作人員的動(dòng)作,從而完成對(duì)操作訓(xùn)練過程的記錄。各儀器的操作現(xiàn)象根據(jù)操作動(dòng)作事先編制無需記錄。在操作回放過程中,測(cè)控計(jì)算機(jī)根據(jù)所記錄的數(shù)據(jù),通過控制相應(yīng)從設(shè)備的Arduino mega2560控制器重現(xiàn)所記錄的操作過程。
2 單元系統(tǒng)設(shè)計(jì)
2.1 語音識(shí)別單元設(shè)計(jì)
目前,語音識(shí)別技術(shù)的發(fā)展十分迅速,按照識(shí)別對(duì)象的類型可以分為特定人和非特定人語音識(shí)別。特定人是指識(shí)別對(duì)象為專門的人,非特定人是指識(shí)別對(duì)象是針對(duì)大多數(shù)用戶,一般需要采集多個(gè)人的語音進(jìn)行錄音和訓(xùn)練,經(jīng)過學(xué)習(xí),從而達(dá)到較高的識(shí)別率。
本文采用的LD3320語音識(shí)別芯片是一顆基于非特定人語音識(shí)別(Speaker Independent Automatic SpeechRecognition,SI ASR)技術(shù)的芯片。該芯片上集成了高精度的A/D 和D/A 接口,不再需要外接輔助的FLASH 和RAM,即可以實(shí)現(xiàn)語音識(shí)別、聲控、人機(jī)對(duì)話功能,提供了真正的單芯片語音識(shí)別解決方案。并且,識(shí)別的關(guān)鍵詞語列表是可以動(dòng)態(tài)編輯的。其語音識(shí)別過程如圖2所示。
語音識(shí)別單元采用ATmega168 作為MCU,負(fù)責(zé)控制LD3320完成所有和語音識(shí)別相關(guān)的工作,并將識(shí)別結(jié)果通過串口上傳至Arduino mega2560 控制器。對(duì)LD3320芯片的各種操作,都必須通過寄存器的操作來完成,寄存器讀寫操作有2種方式(標(biāo)準(zhǔn)并行方式和串行SPI方式)。在此采用并行方式,將LD3320的數(shù)據(jù)端口與MCU的I/O口相連。其硬件連接圖如圖3所示。
語音識(shí)別流程采用中斷方式工作,其工作流程分為初始化、寫入關(guān)鍵詞、開始識(shí)別和響應(yīng)中斷等。MCU的程序采用ARDUINO IDE編寫[5],調(diào)試完成后通過串口進(jìn)行燒錄,控制LD3320完成語音識(shí)別,并將識(shí)別結(jié)果上傳至Arduino mega2560控制器。其軟件流程如圖4所示。
2.2 聲強(qiáng)檢測(cè)單元設(shè)計(jì)
在進(jìn)行語音識(shí)別時(shí)需要判斷是某一臺(tái)從設(shè)備操作人員的口令,為此設(shè)計(jì)聲強(qiáng)檢測(cè)單元電路,該電路僅需能夠判斷出相對(duì)聲強(qiáng)的大小,無需檢測(cè)聲級(jí),對(duì)檢測(cè)精度要求較低。
電容式MIC聲音傳感器將外部聲音信號(hào)轉(zhuǎn)換成電信號(hào),經(jīng)NE5532放大電路進(jìn)行放大,將輸入的微弱音頻信號(hào)轉(zhuǎn)換為具有一定幅值的電壓信號(hào),該電壓信號(hào)經(jīng)AC/DC有效值轉(zhuǎn)換電路進(jìn)行裝換后進(jìn)行再次放大,最終由Arduino mega2560控制器的A/D進(jìn)行采樣。圖5給出了聲強(qiáng)檢測(cè)單元的電路原理圖,其中D1 端接Arduinomega2560控制器的A/D,INT1端接Arduino mega2560控制器的外部中斷1.當(dāng)外界聲音信號(hào)大于預(yù)設(shè)的閾值時(shí),三極管導(dǎo)通INT1端由高電平變?yōu)榈碗娖疆a(chǎn)生外部中斷,控制器響應(yīng)中斷并進(jìn)行A/D 采樣,采樣數(shù)據(jù)經(jīng)均值濾波后保存,待測(cè)控計(jì)算機(jī)查詢時(shí)上傳該聲強(qiáng)數(shù)據(jù)。
手機(jī)電池相關(guān)文章:手機(jī)電池修復(fù)
聲控?zé)粝嚓P(guān)文章:聲控?zé)粼?/a>
評(píng)論