鄒智敏 劉偉
(容桂職業(yè)技術(shù)學(xué)校 廣東省佛山市 528305)
2020年學(xué)校教師帶領(lǐng)學(xué)生開發(fā)“智享一家”項(xiàng)目參加廣東省“眾創(chuàng)杯”創(chuàng)業(yè)創(chuàng)新大賽,該項(xiàng)目是利用人工智能技術(shù)為孤寡老人提供智能控制家電,如開關(guān)、晾衣架、窗簾等的公益項(xiàng)目,該項(xiàng)目獲得市優(yōu)勝獎。在該項(xiàng)目中教師帶領(lǐng)學(xué)生實(shí)現(xiàn)了基于語音識別的智能家電控制手機(jī)APP。通過實(shí)現(xiàn)該手機(jī)APP,讓學(xué)生掌握語音識別、智能家電控制、手機(jī)APP 開發(fā)等技術(shù),緊跟人工智能時代發(fā)展方向。
語音實(shí)際上是一種波,如圖1 所示。要對聲音進(jìn)行分析,首先是對聲音分幀,也就是把聲音切開成一小段一小段,每一小段稱為一幀。然后,對幀進(jìn)行聲學(xué)特征提取,即將幀中的聲音頻率轉(zhuǎn)換為一系列數(shù)字,最常用的是梅爾倒譜系數(shù)(Mel-scale Frequency Cepstral Coefficients,簡稱MFCC)[1],它與頻率的關(guān)系如圖2 所示,式中f 為頻率。
語音分幀之后的處理單位是狀態(tài)、音素。單詞的發(fā)音由若干音素構(gòu)成,漢語一般用全部聲母和韻母作為因素集,一個因素又劃分成3 個狀態(tài),一個狀態(tài)包含若干幀。
語音識別就是將輸入的語音與聲學(xué)模型中的語音進(jìn)行匹配,從而給出可能性最大的對應(yīng)文本。聲學(xué)模型可以理解為語音庫,匹配算法一般采用隱馬爾可夫模型(Hidden Markov Model, HMM)[2],該算法簡單來說就是在構(gòu)建好的狀態(tài)網(wǎng)絡(luò)中尋找與語音最匹配的路徑的方法。語音識別過程如圖3 所示,輸入的語音會被分成幀,圖中的每個小豎條代表一幀,根據(jù)聲學(xué)模型,若干幀識別為狀態(tài),三個狀態(tài)識別為音素,若干音素識別為單詞。
實(shí)現(xiàn)手機(jī)無線控制智能家居的方法主要有Wi-Fi、藍(lán)牙兩種,相應(yīng)的需要在家電設(shè)備上集成Wi-Fi、藍(lán)牙模塊。藍(lán)牙5.0 于2016年6月正式宣布規(guī)范,對比上一版本藍(lán)牙4.2,具有更高的通信距離、傳輸速度。藍(lán)牙5.0 與Wi-Fi 比較如表1 所示。
本項(xiàng)目使用藍(lán)牙技術(shù)控制智能設(shè)備,藍(lán)牙技術(shù)是一種無線數(shù)據(jù)通信開放的全球規(guī)范,為固定和移動設(shè)備建立通信環(huán)境的一種近距離無線技術(shù)連接。藍(lán)牙技術(shù)的通信過程包括搜索、配對、通信三個步驟。搜索是藍(lán)牙主設(shè)備搜索附近藍(lán)牙從設(shè)備的過程,在本項(xiàng)目中即手機(jī)藍(lán)牙搜索附件的智能家居中的藍(lán)牙從設(shè)備,當(dāng)主設(shè)備找到從藍(lán)牙設(shè)備后,得到從藍(lán)牙設(shè)備的ID,服務(wù)ID、特征ID 等信息。配對是主設(shè)備與從設(shè)備建立有效連接的過程,配對時需要指定從設(shè)備的ID 等信息。通信是指主藍(lán)牙設(shè)備從藍(lán)牙設(shè)備特征讀取值,或者向從藍(lán)牙設(shè)備特征寫入值,通信時,需指定從藍(lán)牙設(shè)備的ID、服務(wù)ID、特征ID 等信息,讀取及寫入的值是16 進(jìn)制數(shù)據(jù)[3]。
表1:藍(lán)牙5.0 與Wi-Fi 比較
圖1:語音示例
圖2:MFCC 公式
圖3:語音識別過程
圖4:藍(lán)牙設(shè)備、服務(wù)、特征關(guān)系圖
藍(lán)牙設(shè)備、服務(wù)、特征的關(guān)系如圖4 所示,一個藍(lán)牙設(shè)備包含多個服務(wù),而一個服務(wù)又包含多個特征。每個藍(lán)牙設(shè)備、服務(wù)、特征都有一個48 位(6 個字節(jié))的唯一標(biāo)識,稱為ID 或地址,通信時,需指定藍(lán)牙ID、服務(wù)ID 及特征ID。
為了培養(yǎng)學(xué)生的開發(fā)能力,此手機(jī)APP 由教師指導(dǎo)學(xué)生完成,我校是中等職業(yè)技術(shù)學(xué)校,側(cè)重于技術(shù)應(yīng)用,所以開發(fā)時選擇易學(xué)易用的開發(fā)平臺和工具。
圖5:Wex5 開發(fā)平臺
圖6:科大訊飛語音插件使用示例
Wex5 是起步科技公司推出的可視化手機(jī)APP 開發(fā)平臺,其特點(diǎn)是為開發(fā)者提供良好的開發(fā)體驗(yàn),拖拽式頁面設(shè)計(jì),易學(xué)易用。而且提供豐富的組件體系及其示例,方便快捷,包括該程序需要的語音組件和藍(lán)牙組件[4]。如圖5 所示,左邊是項(xiàng)目文件列表,中間“設(shè)計(jì)”欄是可視化界面編輯,中間“JS”欄是Java 程序編輯,右邊是控件列表,包括數(shù)據(jù)、布局、表單、擴(kuò)展、高級等類別。
科大訊飛是知名的智能語音和人工智能上市企業(yè),長期從事語音及語言、自然語言理解、機(jī)器學(xué)習(xí)推理及自主學(xué)習(xí)等核心技術(shù)研究,并保持了國際前沿技術(shù)水平??拼笥嶏w多次在機(jī)器翻譯、自然語言理解、圖像識別、圖像理解、知識圖譜、知識發(fā)現(xiàn)、機(jī)器推理等各項(xiàng)國際評測中取得佳績。兩次榮獲“國家科技進(jìn)步獎”及中國信息產(chǎn)業(yè)自主創(chuàng)新榮譽(yù)“信息產(chǎn)業(yè)重大技術(shù)發(fā)明獎”,被任命為中文語音交互技術(shù)標(biāo)準(zhǔn)工作組組長單位,牽頭制定中文語音技術(shù)標(biāo)準(zhǔn)。
圖7:藍(lán)牙插件使用示例
圖8:APP 界面
科大訊飛語音插件可以將語音轉(zhuǎn)成文字、文字合成語音,向開發(fā)者提供先進(jìn)的轉(zhuǎn)寫,聽寫,命令詞識別等語音技術(shù),支持中文、英語、粵語等語種[5]。
Wex5 支持科大訊飛語音插件,在UI2/demo/plugin/iFlytek 中有插件使用示例及源碼,如圖6 所示,點(diǎn)擊“開始語音聽寫”按鈕,然后輸入語音,例如“晾衣架下降”,插件即可識別。
具體來說,使用科大訊飛語音插件首先要在js 文件中引入該插件,代碼如下[6]:
然后即可在js 中調(diào)用插件相關(guān)接口。調(diào)用語音識別接口代碼如下:
其中res 是語音識別文本,其為Json 格式,使用JSON.stringify方法轉(zhuǎn)換為字符串。
調(diào)用語音合成接口代碼如下:
Wex5 支持藍(lán)牙插件,在UI2/demo/plugin/BLECentral 中有插件使用示例及源碼,如圖7所示,打開手機(jī)藍(lán)牙,點(diǎn)擊“搜索藍(lán)牙設(shè)備”,手機(jī)藍(lán)牙就可以搜索到智能開關(guān)上的從藍(lán)牙設(shè)備,得到其id 信息。
使用藍(lán)牙插件首先要在js 文件中引入該插件,代碼如下[7]:
搜索藍(lán)牙設(shè)備的代碼如下,其中info 對象即搜索到的從藍(lán)牙設(shè)備信息,其id 屬性就是設(shè)備id,后面配對時需要此id 信息。
搜索到從藍(lán)牙設(shè)備后,指定需配對的從藍(lán)牙設(shè)備id 就可以建立藍(lán)牙主設(shè)備與從設(shè)備的連接,其代碼如下所示。
讀取藍(lán)牙設(shè)備特征值的代碼如下, 其中service_id、characteristic_id 分別是從藍(lán)牙設(shè)備服務(wù)、特征id,可以在藍(lán)牙模塊使用說明中獲得。Buffer 是讀取的十六進(jìn)制數(shù)據(jù)。
教師指導(dǎo)學(xué)生使用Wex5 開發(fā)平臺實(shí)現(xiàn)基于語音識別的智能家電控制APP,語音識別功能使用科大訊飛語音插件,藍(lán)牙無線控制智能家電使用藍(lán)牙插件。Wex5 創(chuàng)建、設(shè)計(jì)及發(fā)布APP 都是可視化模式,APP 主要包括所有智能家居列表頁面和智能家居控制界面,如圖8 所示。
以參加2020年廣東省“眾創(chuàng)杯”創(chuàng)業(yè)創(chuàng)新大賽為契機(jī),教師帶領(lǐng)學(xué)生實(shí)現(xiàn)了基于語音識別的智能家電控制手機(jī)APP,讓學(xué)生了解語音識別、智能家電控制原理,初步掌握語音識別、智能家電控制、手機(jī)APP 的開發(fā)技術(shù)。讓學(xué)生了解前沿技術(shù),并能進(jìn)行初步工程應(yīng)用。踐行了學(xué)校以培養(yǎng)學(xué)生學(xué)習(xí)能力、動手能力為目標(biāo)的教學(xué)理念。