肖武 唐雅媛 胡蓉 潘學文



摘要:該文設計了基于嵌入式的語音識別系統。系統硬件需要實現與服務器連接生成二維碼,對Led的驅動調用。系統軟件則包括App應用的設計,科大訊飛語音識別技術的SDK移植、服務器的搭建以及TCP/IP協議與Socket通信機制進行網絡通信交互的設計。App里的語音系統對A23中的Led具有高效的控制力,通過服務器的轉發,Led能夠對接收到的語音命令作出迅速的反應,從而進行相應的開燈或者關燈的操作。
關鍵詞:A23;TCP/IP;App;語音識別
中圖分類號:TN911-4;G434文獻標識碼:A
文章編號:1009-3044(2021)09-0193-02
開放科學(資源服務)標識碼(OSID):
Speech Recognition System based on Embedded
XIAO Wu, TANG Ya-yuan, HU Rong, PAN Xue-wen
(School of Electronics and Information Engineering , Hunan University of Science and Engineering , Yongzhou 425199, China)
Abstract: This paper designs a speech recognition system based on embedded system.System hardware needs to be connected with the server to generate QR code, the LED driver call, the system software includes the design of App application, the SDK transplantation of iFlytek speech recognition technology, the construction of server and the design of network communication interaction between TCP/IP protocol and Socket communication mechanism.The voice system in the App has efficient control over the LED in A23. Through the forwarding of the server, the LED can make a quick response to the voice command received, so as to turn on or turn off the light accordingly.
Key words:A23; TCP/IP; App; Speech Recognition
在近幾年來,隨著物聯網的發展,嵌入式技術的也開始更多的應用到了人類世界的方方面面,大家開始通過使用這項技術,讓人類的生活越來越智能、高效、便捷。本文中的主要技術“語音識別”,就是一項能讓人類智能生活變得更加智能的一項技術[1-4]。本文就是以嵌入式技術為基礎,采用全志科技的A23主芯片和科大訊飛語音識別技術構建語音識別系統,應用于家居生活中,通過人說話實現對家中如臥室、廁所、廚房燈等的開關的遠程控制,解放雙手,實現人與機器之間交流。
1功能需求分析
本文旨在設計實現一個完整的語音識別系統,即用戶可通過App中的智能語音模塊對硬件端中的Led燈進行操控,實現其開燈或關燈的操作。本設計分為三個模塊,即服務器、手機App端、硬件端,現對這三個模塊功能的分析如下:
(1)服務器:采用技術成熟的C/S架構,同時在服務器中裝載Sqlite3數據庫存儲用戶信息,方便數據的交互;json自定義協議,為服務器處理上行和下行數據提供便捷;同時多線程的使用,也方便了大量數據的接收和發送;總而言之服務器在這期間是一個中轉站的作用。
(2)手機App端:對自身信息存儲處理,實現一人一賬號的特點,保證其用戶信息的隱私性和安全性;設計不同UI界面,具有注冊、登錄、刷新設備、掃描設備、命名設備、控制設備等六個界面;同時也是采用Socket通信方式與服務器建立連接,Json協議進行數據上下行傳輸,通過掃描上FSPAD-723的二維碼綁定該設備;可通過語音或者按鍵觸發的方式控制Led。
(3)硬件端:采用全志A23處理器,其性能穩定、功耗低,經過二度開發的FSPAD-723平板操作簡單,節省了開發步驟。可在App應用中寫入socket通信機制方便與服務器通信;同時添加生成二維碼的功能,以便APP對其掃描和綁定;且該芯片已具備linux內核驅動,對LED的jni層與其應用層建立本地連接,方便對其驅動的調用。
2系統總體方案
該系統以C/S構架服務器作為數據中轉站,App端和全志A23硬件端與服務器之間采用 SOCKET進行連接通信,各模塊遵循 JSON協議從服務器接收指令和上傳數據信息,這樣各模塊就能與服務器進行數據傳輸了,如圖1所示。
首先服務器通過連接家用路由器的WiFi熱點通網,搭建本地局域網,將其他模塊連接進來。服務器可以將各個模塊的數據匯集和作為轉發中心可對接收的數據處理,從而在服務器后臺上可顯示各模塊數據。用戶使用手機App連接到服務器,在識別語音命令后,將其發送給服務器,服務器將命令轉發給向全志A23芯片,芯片上的LED燈根據命令執行相應操作。
3系統關鍵技術
3.1語音識別技術
由于語音識別算法的復雜性,為了開發工作盡可能的簡潔、方便、易理解,決定使用科大訊飛完備的語音識別技術。
首先需要在科大訊飛服務器上申請語音識別的應用,并獲取它的APPID;然后下載其SDK,每個應用根據不同的功能會產生不同的SDK和對應的APPID,不匹配則不會成功;將SDK中的源碼關于APPID的部分替換成自己的ID。SDK中會有已經訓練好的語音轉換成字符串的模型。在activity文件中設置“開燈”與“關燈”的語音模型,App應用需要在聯網的情況下,長按語音的Button的按鍵進行對聲音的監聽,通過人說話的“開燈”或者“關燈”聲音的捕捉,將語音信息上傳至訊飛云端服務器中,按照規定的語法標準獲取語音中的關鍵字,并形成Json字符串返回至App中,并Toast出來。最后將其Json字符串的命令通過標志位發送給服務器,再由服務器進行轉發給硬件端,以此實現控制LED燈,具體流程如圖2所示。
3.2二維碼生成技術
在mainActivity中直接調用Zxing庫的方法傳入url參數即可生成二維碼,具體流程為:首先創建QR二維碼圖片方法(設置QR二維碼參數、編碼方式、二維碼的內容、生成一個由true和false組成的QR二維碼數據),二維碼的參數為:編碼內容url地址、編碼類型、生成圖片寬度、生成圖片高度;然后將輸入EditText的字符串進行編碼,將其轉化成bitmap格式;然后運用二維碼數據創建Bitmap圖片;將創建的bitmap圖片用最高的效果顯示;將顏色數組生成bitmap圖片顏色。
3.3用戶App界面和功能設計
UI 是一個應用程序展現給用戶的界面,也就是layout。本文設計了六個界面,分別是登錄、注冊、掃描、添加設備名稱、刷新設備、控制界面。
每一個XML文件都會自動跟隨一個Activity文件,Activity文件內的Intent 可以實現不同 Activity 之間的切換和數據傳遞。這里采用的Socket通信機制與服務器連接,JSON協議內容與服務器一致,同時在Handle處理函數中添加線程方便接收和發送消息。手機端App的功能分為登錄、注冊、設備、掃描和控制等。登錄流程如圖3所示。
(1)注冊:有設置用戶名、密碼和確認密碼的功能,保證用戶的安全性;還有確認按鈕和返回按鈕;若設置的用戶名和密碼是之前注冊過的,點擊確認按鈕后,則提示該用戶已存在,界面不跳轉,需要重新注冊新用戶信息;如填寫錯誤或不填,則會提示用戶賬號或密碼輸入不正確或為空,界面不跳轉;只有填寫正確才會跳轉到登錄界面;除此之外,點擊返回按鈕,即可跳轉到上一個界面。
(2)設備:登錄成功后跳轉到設備端,界面有掃描和刷新設備的按鍵;點擊掃描會跳轉到掃描界面,點擊刷新設備,則會顯示可控設備;除此之外,點擊返回按鈕,即可跳轉到上一個界面;
(3)掃描:進入界面后,自動打開手機攝像頭掃描二維碼,識別成功后給設備取個名字,便于區別各個受控設備,然后回到設備界面;
(4)控制:點擊選定的要控制開關的設備名稱,則會跳轉到控制界面,有語音按鈕和開關燈按鈕;點擊語音按鈕,人開口說“開燈”或“關燈”,系統自動識別后,硬件設備端的LED燈會做出相應反應,開光按鈕同理;開關燈流程圖如圖4-9所示:
4結論
本文先根據系統需求,定好系統的框架結構,對系統的服務器和Android的框架、全志A23硬件平臺的Led的驅動調用等進行設計。系統以 Socket進行網絡通信,將json協議作為上下行數據的交換格式,sqlite3數據庫,可以通過服務器實現消息的接收和轉發和用戶信息的存儲并顯示在后臺。利用App中的Socket通信機制連接服務器,實現功能界面的跳轉,通過語音和按鈕控制硬件的Led設備。系統經測試,能完成該語音識別系統的基本功能,具有應用到實際生活中的價值。
參考文獻:
[1] 張紅艷.一種嵌入式短詞語音識別系統的研究與設計[D].上海:華東師范大學,2018.
[2] 袁毅,陳勝勇.基于Cortex-A9的嵌入式語音識別系統設計[J].現代信息科技,2019,3(14):166-168.
[3] 陳春玲,李雯雯,余瀚.嵌入式語音識別系統的測試方法研究[J].計算機技術與發展,2019,29(7):108-113.
[4] 張洪.基于Sphinx語音識別的智能家庭管家機器人的設計[D].武漢:武漢工程大學,2018.
【通聯編輯:代影】