解析設(shè)計ARM語音識別系統(tǒng)的步驟
伴著高新技能在軍事范疇的大范圍利用,武器裝備逐漸向高、精、尖方面開展。傳統(tǒng)的軍事練習因為練習時刻長、練習費用高、練習空間窄,常常不能到達預期的練習作用,已不能滿意現(xiàn)代軍事練習的需求。為解決上述問題,模仿練習應(yīng)運而生。
本文引用地址:http://m.butianyuan.cn/article/201808/385420.htm為進一步提高練習作用,這篇文章利用智能語音交互芯片規(guī)劃了某模仿練習器的示教與回放系統(tǒng)。示教系統(tǒng)為操作人員生動的演示規(guī)范操作流程及相應(yīng)的操作表象,極大地縮短了對操作人員的練習時刻,提高了練習作用?;胤畔到y(tǒng)經(jīng)過記載操作練習進程中各操作人員的口令、聲響強度、動作、時刻、操作表象等,待操作練習結(jié)束后經(jīng)過重演練習進程,以便操作者及時糾正自個的問題。示教系統(tǒng)也可理解為對規(guī)范操作練習進程的回放。該系統(tǒng)不需求虛擬現(xiàn)實技能的撐持,在小型的嵌入式系統(tǒng)上就能夠完結(jié)。
1 系統(tǒng)原理
該模仿練習器由一臺測控計算機和多臺從設(shè)備構(gòu)成。如圖1所示。在此僅對一臺從設(shè)備進行介紹,其硬件系統(tǒng)主要由測控計算機、Arduino mega2560 操控器、語音辨認單元、聲強檢測單元、語音組成單元、面板操控單元、儀器面板等構(gòu)成。面板操控單元較為復雜,包含多種操控電路,在模仿練習中擔任該從設(shè)備在Arduino mega2560 操控器的操控下完結(jié)整個練習進程,在示教與回放系統(tǒng)中完結(jié)對方才操作練習操作表象的重演,其詳細電路規(guī)劃在此不做介紹。
語音辨認單元擔任辨認操作人員的操作口令;聲強檢測單元擔任檢測聲強巨細并以此作為判別是哪臺從設(shè)備操作人員口令的依據(jù);Arduino mega2560操控器擔任監(jiān)督儀器面板各元件的狀況來辨認操作人員的動作,然后完結(jié)對操作練習進程的記載。各儀器的操作表象依據(jù)操作動作事前編制無需記載。在操作回放進程中,測控計算機依據(jù)所記載的數(shù)據(jù),經(jīng)過操控相應(yīng)從設(shè)備的Arduino mega2560操控器重現(xiàn)所記載的操作進程。
2 單元系統(tǒng)規(guī)劃
2.1 語音辨認單元規(guī)劃
當時,語音辨認技能的開展十分迅速,依照辨認目標的類型能夠分為特定人和非特定人語音辨認。特定人是指辨認目標為專門的人,非特定人是指辨認目標是針對大多數(shù)用戶,通常需求收集多自己的語音進行錄音和練習,經(jīng)過學習,然后到達較高的辨認率。
這篇文章選用的LD3320語音辨認芯片是一顆依據(jù)非特定人語音辨認(Speaker Independent Automatic SpeechRecognition,SI ASR)技能的芯片。該芯片上集成了高精度的A/D 和D/A 接口,不再需求外接輔佐的FLASH 和RAM,即能夠完結(jié)語音辨認、聲控、人機對話功用,供給了真實的單芯片語音辨認解決方案。而且,辨認的要害詞語列表是能夠動態(tài)編輯的。
語音辨認單元選用ATmega168 作為MCU,擔任操控LD3320完結(jié)一切和語音辨認有關(guān)的作業(yè),并將辨認成果經(jīng)過串口上載至Arduino mega2560 操控器。對LD3320芯片的各種操作,都必須經(jīng)過寄存器的操作來完結(jié),寄存器讀寫操作有2種方法(規(guī)范并行方法和串行SPI方法)。在此選用并行方法,將LD3320的數(shù)據(jù)端口與MCU的I/O口相連。
語音辨認流程選用中止方法作業(yè),其作業(yè)流程分為初始化、寫入要害詞、開端辨認和呼應(yīng)中止等。MCU的程序選用ARDUINO IDE編寫,調(diào)試完結(jié)后經(jīng)過串口進行燒錄,操控LD3320完結(jié)語音辨認,并將辨認成果上載至Arduino mega2560操控器。
2.2 聲強檢測單元規(guī)劃
在進行語音辨認時需求判別是某一臺從設(shè)備操作人員的口令,為此規(guī)劃聲強檢測單元電路,該電路僅需能夠判別出相對聲強的巨細,無需檢測聲級,對檢測精度需求較低。
電容式MIC聲響傳感器將外部聲響信號變換成電信號,經(jīng)NE5532擴大電路進行擴大,將輸入的微弱音頻信號變換為具有一定幅值的電壓信號,該電壓信號經(jīng)AC/DC有效值變換電路進行裝換后進行再次擴大,最終由Arduino mega2560操控器的A/D進行采樣。其間D1 端接Arduinomega2560操控器的A/D,INT1端接Arduino mega2560操控器的外部中止1.當外界聲響信號大于預設(shè)的閾值時,三極管導通INT1端由高電平變?yōu)榈碗娖桨l(fā)作外部中止,操控器呼應(yīng)中止并進行A/D 采樣,采樣數(shù)據(jù)經(jīng)均值濾波后保留,待測控計算機查詢時上載該聲強數(shù)據(jù)。
2.3 語音組成單元規(guī)劃
TTS(Text To Speech)文本轉(zhuǎn)語音技能是人機智能對話開展的趨勢。依據(jù)TTS技能的語音系統(tǒng)無需事前錄音就能夠隨時依據(jù)查詢條件查出并組成語音進行播報,然后大大減少了系統(tǒng)維護的作業(yè)量。利用此技能,經(jīng)過MCU或許PC機就能操控語音芯片發(fā)音。
這篇文章選用SYN6658中文語音組成芯片進行語音組成。SYN6658 經(jīng)過UART 接口或SPI接口通訊方法,接納待組成的文本數(shù)據(jù),完結(jié)文本到語音(或TTS語音)的變換。操控器和SYN6658 語音組成芯片之間經(jīng)過UART接口銜接,操控器經(jīng)過串口通訊向SYN6658語音組成芯片發(fā)送操控指令和文本,SYN6658語音組成芯片把接納到的文本組成為語音信號輸出,輸出的信號經(jīng)LM386 功率擴大器進行擴大后銜接到喇叭進行播映。
SYN6658語音組成電路選用芯片硬件數(shù)據(jù)手冊供給的典型使用電路進行規(guī)劃,在此不做介紹,功率擴大電路選用美國國家半導體出產(chǎn)的音頻功率擴大器LM386進行擴大。
在進行語音組成時首要進行初始化,包含發(fā)音人挑選、數(shù)字處理策略、語速調(diào)理、語調(diào)調(diào)理、音量調(diào)理等。
因為該系統(tǒng)要模仿多人發(fā)音,所以不一樣的從設(shè)備設(shè)置不一樣的發(fā)音人及語調(diào)與語速以便于區(qū)別。初始化后等待測控計算機的語音組成指令,待收到指令后芯片會向上位機發(fā)送1字節(jié)的狀況回傳,上位機可依據(jù)這個回傳來判別芯片當時的作業(yè)狀況。
3 系統(tǒng)軟件規(guī)劃
示教與回放系統(tǒng)的軟件規(guī)劃包含測控計算機的軟件規(guī)劃和各從設(shè)備Arduino mega260操控器的軟件規(guī)劃。
測控計算機是整個系統(tǒng)的操控中心,其軟件選用C#進行編寫,在示教與回放系統(tǒng)中主要是對操作數(shù)據(jù)的記載以便依據(jù)所記載的數(shù)據(jù)對操作進程進行準確回放,需求記載的數(shù)據(jù)包含:各從設(shè)備操作人員的操作口令,操作動作,口令及動作時刻,各操作對應(yīng)的操作表象。為簡化記載數(shù)據(jù),事前編制好各事情代碼,記載進程只記載代碼,大大提高程序效率。
在操作練習進程中測控計算機每隔50 ms 對下位機進行操控及輪詢,并記載反應(yīng)數(shù)據(jù),在數(shù)據(jù)記載時以50 ms 為一個單位。選用定時器對時刻進行操控。在回放進程中首要比對當時時刻和所記載的時刻,當所記載的時刻與當時時刻吻合時測控計算機操控下位機履行該事情,完結(jié)事情回放。
Arduino mega2560操控器擔任接納測控計算機的操控指令并履行指令,讀取語音辨認成果,對聲強數(shù)據(jù)收集和處理,操控語音組成單元進行語音組成等。Arduinomega2560 操控器選用串口中止的方法進行指令接納。
只要正確接納到指令才會履行并回傳成果,若測控計算機在限制時刻內(nèi)未收到回傳成果則標明發(fā)作錯誤,測控計算機需從頭發(fā)送。
這篇文章利用智能語音芯片規(guī)劃了某模仿練習器的示教與回放系統(tǒng),該系統(tǒng)不需求如今盛行的虛擬現(xiàn)實技能的撐持,僅在MCU的操控下就能夠運轉(zhuǎn)。該系統(tǒng)也能夠在小型的便攜式設(shè)備上完結(jié),具有杰出的使用遠景。
評論