<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 一種ARM處理器非特定人語音識別系統(tǒng)的設(shè)計方案

          一種ARM處理器非特定人語音識別系統(tǒng)的設(shè)計方案

          作者: 時間:2016-10-22 來源:網(wǎng)絡(luò) 收藏

          0 引言

          本文引用地址:http://www.ex-cimer.com/article/201610/309236.htm

          隨著高新技術(shù)在軍事領(lǐng)域的廣泛運用,武器裝備逐步向高、精、尖方向發(fā)展。傳統(tǒng)的軍事訓(xùn)練由于訓(xùn)練時間長、訓(xùn)練費用高、訓(xùn)練空間窄,常常不能達到預(yù)期的訓(xùn)練效果,已不能滿足現(xiàn)代軍事訓(xùn)練的需要。為解決上述問題,模擬訓(xùn)練應(yīng)運而生。

          為進一步提高訓(xùn)練效果,本文利用智能語音交互芯片設(shè)計了某模擬訓(xùn)練器的示教與回放系統(tǒng)。示教系統(tǒng)為操作人員生動的演示標準操作流程及相應(yīng)的操作現(xiàn)象,極大地縮短了對操作人員的培訓(xùn)時間,提高了培訓(xùn)效果?;胤畔到y(tǒng)通過記錄操作訓(xùn)練過程中各操作人員的口令、聲音強度、動作、時間、操作現(xiàn)象等,待操作訓(xùn)練結(jié)束后通過重演訓(xùn)練過程,以便操作者及時糾正自己的問題。示教系統(tǒng)也可理解為對標準操作訓(xùn)練過程的回放。該系統(tǒng)不需要虛擬現(xiàn)實技術(shù)的支持,在小型的嵌入式系統(tǒng)上就可以實現(xiàn)。

          1 系統(tǒng)原理

          該模擬訓(xùn)練器由一臺測控計算機和多臺從設(shè)備組成。如圖1所示。在此僅對一臺從設(shè)備進行介紹,其硬件系統(tǒng)主要由測控計算機、Arduino mega2560 控制器、語音識別單元、聲強檢測單元、語音合成單元、面板控制單元、儀器面板等組成。面板控制單元較為復(fù)雜,包含多種控制電路,在模擬訓(xùn)練中負責(zé)該從設(shè)備在Arduino mega2560 控制器的控制下完成整個訓(xùn)練過程,在示教與回放系統(tǒng)中完成對剛才操作訓(xùn)練操作現(xiàn)象的重演,其具體電路設(shè)計在此不做介紹。

          圖1 系統(tǒng)硬件

          圖1 系統(tǒng)硬件

          語音識別單元負責(zé)識別操作人員的操作口令;聲強檢測單元負責(zé)檢測聲強大小并以此作為判斷是哪臺從設(shè)備操作人員口令的依據(jù);Arduino mega2560控制器負責(zé)監(jiān)視儀器面板各元件的狀態(tài)來識別操作人員的動作,從而完成對操作訓(xùn)練過程的記錄。各儀器的操作現(xiàn)象根據(jù)操作動作事先編制無需記錄。在操作回放過程中,測控計算機根據(jù)所記錄的數(shù)據(jù),通過控制相應(yīng)從設(shè)備的Arduino mega2560控制器重現(xiàn)所記錄的操作過程。

          2 單元系統(tǒng)設(shè)計

          2.1 語音識別單元設(shè)計

          目前,語音識別技術(shù)的發(fā)展十分迅速,按照識別對象的類型可以分為特定人和非特定人語音識別。特定人是指識別對象為專門的人,非特定人是指識別對象是針對大多數(shù)用戶,一般需要采集多個人的語音進行錄音和訓(xùn)練,經(jīng)過學(xué)習(xí),從而達到較高的識別率。

          本文采用的LD3320語音識別芯片是一顆基于非特定人語音識別(Speaker Independent Automatic SpeechRecognition,SI ASR)技術(shù)的芯片。該芯片上集成了高精度的A/D 和D/A 接口,不再需要外接輔助的FLASH 和RAM,即可以實現(xiàn)語音識別、聲控、人機對話功能,提供了真正的單芯片語音識別解決方案。并且,識別的關(guān)鍵詞語列表是可以動態(tài)編輯的。其語音識別過程如圖2所示。

          圖2 語音識別過程

          圖2 語音識別過程

          語音識別單元采用ATmega168 作為MCU,負責(zé)控制LD3320完成所有和語音識別相關(guān)的工作,并將識別結(jié)果通過串口上傳至Arduino mega2560 控制器。對LD3320芯片的各種操作,都必須通過寄存器的操作來完成,寄存器讀寫操作有2種方式(標準并行方式和串行SPI方式)。在此采用并行方式,將LD3320的數(shù)據(jù)端口與MCU的I/O口相連。其硬件連接圖如圖3所示。

          圖3 LD3320與ATmega168連接圖

          圖3 LD3320與ATmega168連接圖

          語音識別流程采用中斷方式工作,其工作流程分為初始化、寫入關(guān)鍵詞、開始識別和響應(yīng)中斷等。MCU的程序采用ARDUINO IDE編寫,調(diào)試完成后通過串口進行燒錄,控制LD3320完成語音識別,并將識別結(jié)果上傳至Arduino mega2560控制器。其軟件流程如圖4所示。

          圖4 軟件流程

          圖4 軟件流程

          2.2 聲強檢測單元設(shè)計

          在進行語音識別時需要判斷是某一臺從設(shè)備操作人員的口令,為此設(shè)計聲強檢測單元電路,該電路僅需能夠判斷出相對聲強的大小,無需檢測聲級,對檢測精度要求較低。

          電容式MIC聲音傳感器將外部聲音信號轉(zhuǎn)換成電信號,經(jīng)NE5532放大電路進行放大,將輸入的微弱音頻信號轉(zhuǎn)換為具有一定幅值的電壓信號,該電壓信號經(jīng)AC/DC有效值轉(zhuǎn)換電路進行裝換后進行再次放大,最終由Arduino mega2560控制器的A/D進行采樣。圖5給出了聲強檢測單元的電路原理圖,其中D1 端接Arduinomega2560控制器的A/D,INT1端接Arduino mega2560控制器的外部中斷1.當外界聲音信號大于預(yù)設(shè)的閾值時,三極管導(dǎo)通INT1端由高電平變?yōu)榈碗娖疆a(chǎn)生外部中斷,控制器響應(yīng)中斷并進行A/D 采樣,采樣數(shù)據(jù)經(jīng)均值濾波后保存,待測控計算機查詢時上傳該聲強數(shù)據(jù)。

          圖5 聲強檢測電路原理

          圖5 聲強檢測電路原理

          2.3 語音合成單元設(shè)計

          TTS(Text To Speech)文本轉(zhuǎn)語音技術(shù)是人機智能對話發(fā)展的趨勢?;赥TS技術(shù)的語音系統(tǒng)無需事先錄音就能夠隨時根據(jù)查詢條件查出并合成語音進行播報,從而大大減少了系統(tǒng)維護的工作量。利用此技術(shù),通過MCU或者PC機就能控制語音芯片發(fā)音。

          本文采用SYN6658中文語音合成芯片進行語音合成。SYN6658 通過UART 接口或SPI接口通信方式,接收待合成的文本數(shù)據(jù),實現(xiàn)文本到語音(或TTS語音)的轉(zhuǎn)換??刂破骱蚐YN6658 語音合成芯片之間通過UART接口連接,控制器通過串口通信向SYN6658語音合成芯片發(fā)送控制命令和文本,SYN6658語音合成芯片把接收到的文本合成為語音信號輸出,輸出的信號經(jīng)LM386 功率放大器進行放大后連接到喇叭進行播放。如圖6所示。

          圖6 語音合成電路原理

          圖6 語音合成電路原理

          SYN6658語音合成電路采用芯片硬件數(shù)據(jù)手冊提供的典型應(yīng)用電路進行設(shè)計,在此不做介紹,功率放大電路采用美國國家半導(dǎo)體生產(chǎn)的音頻功率放大器LM386進行放大。

          在進行語音合成時首先進行初始化,包括發(fā)音人選擇、數(shù)字處理策略、語速調(diào)節(jié)、語調(diào)調(diào)節(jié)、音量調(diào)節(jié)等。

          由于該系統(tǒng)要模擬多人發(fā)音,所以不同的從設(shè)備設(shè)置不同的發(fā)音人及語調(diào)與語速以便于區(qū)分。初始化后等待測控計算機的語音合成命令,待收到命令后芯片會向上位機發(fā)送1字節(jié)的狀態(tài)回傳,上位機可根據(jù)這個回傳來判斷芯片目前的工作狀態(tài)。語音合成流程圖如圖7所示。

          圖7 語音合成

          圖7 語音合成

          3 系統(tǒng)軟件設(shè)計

          示教與回放系統(tǒng)的軟件設(shè)計包括測控計算機的軟件設(shè)計和各從設(shè)備Arduino mega260控制器的軟件設(shè)計。

          測控計算機是整個系統(tǒng)的控制核心,其軟件采用C#進行編寫,在示教與回放系統(tǒng)中主要是對操作數(shù)據(jù)的記錄以便根據(jù)所記錄的數(shù)據(jù)對操作過程進行精確回放,需要記錄的數(shù)據(jù)包括:各從設(shè)備操作人員的操作口令,操作動作,口令及動作時間,各操作對應(yīng)的操作現(xiàn)象。為簡化記錄數(shù)據(jù),事先編制好各事件代碼,記錄過程只記錄代碼,大大提高程序效率。建立結(jié)構(gòu)體如下:

          圖8 建立結(jié)構(gòu)體

          圖8 建立結(jié)構(gòu)體

          在操作訓(xùn)練過程中測控計算機每隔50 ms 對下位機進行控制及輪詢,并記錄反饋數(shù)據(jù),在數(shù)據(jù)記錄時以50 ms 為一個單位。采用定時器對時間進行控制。在回放過程中首先比對當前時間和所記錄的時間,當所記錄的時間與當前時間吻合時測控計算機控制下位機執(zhí)行該事件,完成事件回放。

          Arduino mega2560控制器負責(zé)接收測控計算機的控制指令并執(zhí)行指令,讀取語音識別結(jié)果,對聲強數(shù)據(jù)采集和處理,控制語音合成單元進行語音合成等。Arduinomega2560 控制器采用串口中斷的方式進行命令接收。

          只有正確接收到命令才會執(zhí)行并回傳結(jié)果,若測控計算機在限定時間內(nèi)未收到回傳結(jié)果則表明發(fā)生錯誤,測控計算機需重新發(fā)送。數(shù)據(jù)接收流程圖如圖8所示。

          圖9 數(shù)據(jù)接收

          圖9 數(shù)據(jù)接收

          4 總結(jié)

          本文利用智能語音芯片設(shè)計了某模擬訓(xùn)練器的示教與回放系統(tǒng),該系統(tǒng)不需要現(xiàn)在流行的虛擬現(xiàn)實技術(shù)的支持,僅在MCU的控制下就可以運行。該系統(tǒng)也可以在小型的便攜式設(shè)備上實現(xiàn),具有良好的應(yīng)用前景。



          關(guān)鍵詞: ARM 人語音識別系統(tǒng)

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();