傅大梅+盛彬



摘 要:為了利用語音識別技術來操控無線控制設備的運轉,設計一種用語音無線控制開、關設備(白熾燈等)的裝置。該裝置利用LD3320作為語音數據采集和處理芯片,STC12C5A60S2單片機作為語音采樣對比模塊的微控制器,STC15F104E單片機作為接收、控制微控制器,利用無線通信模塊HC?12實現數據信號發射和接收。結果表明,該裝置在語音識別和無線傳輸上表現出良好的性能,識別率達到97%左右,且實現了語音控制燈的開關動作。
關鍵詞: 語音識別; STC15F104E; 開關控制裝置; LD3320
中圖分類號: TN915?34; TN802 文獻標識碼: A 文章編號: 1004?373X(2017)14?0033?03
Abstract: In order to realize the operation of the wireless control device based on speech recognition technology, a device for controlling the on/off unit (such as an incandescent lamp) was designed. The chip LD3320 is used in the device as the data acquisition and processing module, the single chip microcomputer STC12C5A60S2 as the microcontroller of voice sampling comparison module, and the single chip microcomputer SCM STC15F104E as receiving and controlling microcontroller. The wireless communication module HC?12 is adopted to realize data signal transmission and reception. The device shows its perfect performances in speech recognition and wireless transmission. Its recognition rate is about 97%. The switch action of voice control lamp was realized by the device in the experiment.
Keywords: speech recognition; STC15F104E; switch control device; LD3320
語言是人們生活中最自然、有效、便捷的交流方式[1],因此語音控制裝置的研究與設計,會給生產、醫療、生活帶來很多便捷。本文設計了一種基于語音識別的控制裝置,該裝置可以在20 m內控制既定電器設備(燈等)的開與關,誤差不大于2%;在接收普通話指令的過程中,男女老少語音均可識別,誤差不大于3%。
1 總體方案
本系統建立在 2.4 GHz射頻技術、語音采樣對比的理論基礎之上,實現一種語音識別無線控制的軟、硬件設計。以控制一支白熾燈為例,整體系統結構框圖如圖1所示。利用專用芯片LD3320作為語音數據采集和處理芯片,選擇STC12C5A60S2單片機作為語音采樣對比模塊的微控制器,該單片機的內核為ARM 32位的Coertex?M3 CPU,帶有串行單線調試(SWD)接口和JTAG接口。接收端的微控制器選用了STC公司的STC15F104E單片機,該單片機只有8個引腳,可以進行串口通信。HC?12無線串口通信模塊在本系統中承擔了數據信號發射和接收的工作。
2 硬件設計
2.1 語音采樣對比模塊
LD3320語音識別芯片在集成語音識別處理器和外部電路的同時,還包括A/D和D/A轉換器、麥克風接口、聲音輸出接口等[2],該芯片在工作時最多可以每次識別50項候選句,在實際使用中用戶只需要把識別的關鍵詞語以字符串的形式存儲在芯片中,在重啟芯片后,即可在識別中立即生效。
在電路中,單片機P0端口的8根數據線作為數據總線與LD3320并口方式連接,控制線分別與P2端口連接。除此外還將兩個芯片的復位信號和中斷信號連接,在LD3320中,復位信號(RSTB) 由單片機發出,中斷信號由LD3320芯片發出。
在本設計中還使用了單片機的串口通信功能,語音識別部分核心電路設計如圖2所示。語音模塊與STC12C5A60S2單片機的串口2通信,無線通信模塊HC?12與串口1通信,在數據傳輸上,當STC12C5A60S2接收到串口2發來的信息時立刻將信息通過串口1發送給無線通信模塊HC?12,最終由HC?12將處理后的語音信號在空中發送。
2.2 無線通信模塊
無線通信選用HC?12無線單片機串口模塊作為本次設計的無線通信模塊。HC?12無線串口模塊在實際使用中類似于將普通的有線串口通信方式斷開,再通過兩塊HC?12無線串口模塊在空中搭建無線連接,從而實現物理上的連接,達到兩塊單片機即使在物理上沒有線路的連接也能進行一定距離內的串口通信。其工作原理和模塊與單片機的連線方式如圖3所示。
2.3 接收控制模塊
接收控制模塊電路圖如圖3所示,STC15F104E單片機通過串口與HC?12信號通信,并發出信號控制繼電器驅動電路。
3 關鍵部分軟件分析與設計
本系統關鍵軟件的設計是語音識別程序設計,它由初始化程序、拼音表燒錄程序、中斷判斷程序、識別程序組成,語音識別程序流程圖如圖4所示。
3.1 拼音表寫入程序
拼音表寫入程序設計時,LD3320芯片對于所要設置的拼音表有個規定,就是每個拼音對應惟一一個代碼字符。對應的拼音串的編號可以不一樣,但是不能夠有重復的編號出現。就是說編號1可以存在兩個字符串對應,但是占用了2的編號的位置,就不能再有編號2的存在。LD3320A芯片支持的最大拼音串為50個拼音字符[3]。應用案例如表1所示。
識別列表中的編號可以相同,可以不連續,但數值[3]必須要小于256,例如“guan deng”和“xi deng”對應同一編號,說這兩個詞都會有相同的結果返回,拼音表寫入程序流程圖如圖5所示。
3.2 識別程序
在實際使用中只要設置幾個寄存器,就可以使用LD3320語音芯片進行語音識別。
LD3320的代碼大多都是使用全局變量來控制和指示寄存器的狀態,在代碼編寫的過程中,LD3320芯片開始工作之前必須設置識別拼音的句子寫在設置好的寄存器中[4]。關鍵程序如下:
4 調試、分析與電路改進
調試包括軟件、電源、各種人的語音和通信距離的性能調試與測試。
4.1 語音采樣對比模塊軟件調試
語音模塊的關鍵詞對應的指令代碼,如表2所示。
指令代碼由單片機通過無線發送模塊HC?12發出,由接收模塊HC?12接收指令代碼后通過內部設定的指令喚醒和控制相應裝置(比如:燈),系統調試窗口如圖6、圖7所示。
4.2 接收控制模塊軟件調試硬件電路改進
在接收模塊的調試中,將HC?12的發射端的通過串口轉USB線連接到電腦端,通過串口助手發送數據來調試接收控制模塊,在接收控制模塊的繼電器端接入一個白熾燈,例如通過串口助手發送A1,使白熾燈點亮,用串口助手發送A2,使白熾燈熄滅。調試時出現了一個問題,其現象是通過串口發送A1時,白熾燈點亮,但是馬上自動熄滅。分析產生的可能原因是繼電器閉合瞬間通過電流過大導致繼電器損壞或繼電器的電磁干擾。為了防止電路誤動作或系統崩潰等情況的發生,采用濾波、隔離措施,且PCB布局設計時將繼電器驅動電路跟控制電路分開。
4.3 結果測試
在整體調試中,通過不同音色的人說出指令:開燈,關燈,每個指令測試50次,根據接收控制模塊的響應(白熾燈的亮滅),得到表3中的數據。
本設計的實物在性能上很穩定,在語音識別和無線傳輸上也表現出良好的性能,在非特定人語音識別測試中,識別率達到97%左右。產生誤差的主要原因是發送指令人的普通話不標準。當然無線傳輸時,在隔了幾堵墻或者距離過遠時,誤差也會增大。
5 結 語
通過對非特定人語音識別技術和相關軟硬件知識的研究,設計了無線語音控制裝置,實現了語音控制燈的開關動作。從目前的使用狀況來看,控制裝置的性能和功能都相對穩定,今后可以進一步擴展對多種用電設備的控制。
參考文獻
[1] 趙奎兵,段富海.基于ZigBee節點的智能家居系統語音控制設計[J].現代電子技術,2012,35(20):5?8.
[2] 蘇建.非特定語音識別技術在現代家居控制系統中的應用[J].科技創新導報,2014(27):38?39.
[3] 陳喜春.基于LD3320語音識別專用芯片實現的語音控制[J].電子技術,2011(11):20?21.
[4] 付蔚,唐鵬光,李倩.智能家居語音控制系統的設計[J].自動化儀表,2014(1):46?50.
[5] 張曉丹,黃麗霞,張雪英.關于在噪聲環境下語音識別優化研究[J].計算機仿真,2016,33(8):172?176.
[6] 潘麗杰,徐本亮,朱琪,等.基于雙麥克風降噪技術的語音識別系統[J].現代電子技術,2016,39(2):137?139.
[7] 棠麗亞,趙國棟,張鵬.關于連續語音識別率優化仿真研究[J].計算機仿真,2016,33(3):395?400.