<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于非特定人語(yǔ)音識別芯片的技術(shù)方案

基于非特定人語(yǔ)音識別芯片的技術(shù)方案

作者: 時(shí)間:2016-10-15 來(lái)源:網(wǎng)絡(luò ) 收藏

0 引言

本文引用地址:http://dyxdggzs.com/article/201610/307596.htm

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

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

1 系統原理

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

系統硬件結構框圖

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

2 單元系統設計

2.1 單元設計

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

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

語(yǔ)音識別過(guò)程

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

LD3320與ATmega168連接圖

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

軟件流程圖

2.2 聲強檢測單元設計

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

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

聲強檢測電路原理

2.3 語(yǔ)音合成單元設計

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

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

如圖6所示。

語(yǔ)音合成電路原理框圖

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

在進(jìn)行語(yǔ)音合成時(shí)首先進(jìn)行初始化,包括發(fā)音人選擇、數字處理策略、語(yǔ)速調節、語(yǔ)調調節、音量調節等。

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

語(yǔ)音合成流程圖

3 系統軟件設計

示教與回放系統的軟件設計包括測控計算機的軟件設計和各從設備Arduino mega260控制器的軟件設計。

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

結構體程序

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

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

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

數據接收流程圖

4 總結

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



關(guān)鍵詞: ATmega168 語(yǔ)音識別 MCU

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>