林敏 李強(qiáng)
摘 要:隨著科技的進(jìn)步,家用電器逐步走向智能化、人性化。不同的家用電器便利了我們的家庭。但是隨著人們對(duì)生活要求的提高,總會(huì)發(fā)現(xiàn)便中還有著不便,而面對(duì)著這些新的不便,創(chuàng)客們正在用自己的智慧改造他們。而我們就打算利用語(yǔ)音控制使我們的生活走向新的科技生活,讓我們“靠嘴生活”。該項(xiàng)目主要利用arduino結(jié)合語(yǔ)音控制模塊以及相關(guān)的繼電器等器件,實(shí)現(xiàn)語(yǔ)音控制電燈、插座等家用電器的目標(biāo)。
關(guān)鍵詞:arduino 語(yǔ)音控制 家用電器
中圖分類號(hào):TP271 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2016)05(c)-0038-02
1 項(xiàng)目簡(jiǎn)介
1.1 項(xiàng)目名稱
基于arduino的語(yǔ)音控制系統(tǒng)。
1.2 項(xiàng)目含義
近年來(lái), 隨著語(yǔ)音識(shí)別與確認(rèn)技術(shù)的逐漸成熟,基于語(yǔ)音識(shí)別技術(shù)的對(duì)話控制系統(tǒng)受到了越來(lái)越多的關(guān)注?,F(xiàn)有的語(yǔ)音技術(shù)有些是要先錄入聲音,然后采用對(duì)照的方式進(jìn)行識(shí)別,這樣一來(lái),不同的人說(shuō)同樣的話,可能識(shí)別結(jié)果不一樣,該系統(tǒng)采用專門的控制板,不需要事先錄入,只需設(shè)置相應(yīng)的關(guān)鍵詞,就可以進(jìn)行識(shí)別,配合arduino控制器,從而進(jìn)行相應(yīng)的執(zhí)行動(dòng)作。
1.3 項(xiàng)目產(chǎn)生的背景及原因
語(yǔ)音識(shí)別技術(shù),也被稱為自動(dòng)語(yǔ)音識(shí)別(Automatic Speech Recognition,ASR),其目標(biāo)是將人類的語(yǔ)音中的詞匯內(nèi)容轉(zhuǎn)換為計(jì)算機(jī)可讀的輸入,例如按鍵、二進(jìn)制編碼或者字符序列。與說(shuō)話人識(shí)別及說(shuō)話人確認(rèn)不同,后者嘗試識(shí)別或確認(rèn)發(fā)出語(yǔ)音的說(shuō)話人而非其中所包含的詞匯內(nèi)容。
語(yǔ)音識(shí)別技術(shù)的應(yīng)用包括語(yǔ)音撥號(hào)、語(yǔ)音導(dǎo)航、室內(nèi)設(shè)備控制、語(yǔ)音文檔檢索、簡(jiǎn)單的聽寫數(shù)據(jù)錄入等。語(yǔ)音識(shí)別技術(shù)與其他自然語(yǔ)言處理技術(shù)如機(jī)器翻譯及語(yǔ)音合成技術(shù)相結(jié)合,可以構(gòu)建出更加復(fù)雜的應(yīng)用,例如語(yǔ)音到語(yǔ)音的翻譯。
語(yǔ)音識(shí)別技術(shù)所涉及的領(lǐng)域包括:信號(hào)處理、模式識(shí)別、概率論和信息論、發(fā)聲機(jī)理和聽覺機(jī)理、人工智能等等。
1960年代,人工神經(jīng)網(wǎng)絡(luò)被引入了語(yǔ)音識(shí)別。這一時(shí)代的兩大突破是線性預(yù)測(cè)編碼Linear Predictive Coding (LPC)和動(dòng)態(tài)時(shí)間規(guī)整Dynamic Time Warp技術(shù)。
1.4 項(xiàng)目實(shí)施的必要性
語(yǔ)音識(shí)別一直是人類的夢(mèng)想,故事“阿里巴巴和四十大盜”里面的“芝麻開門”便反映了古人對(duì)語(yǔ)音產(chǎn)品的一個(gè)構(gòu)想??萍及l(fā)展到今天,人類對(duì)語(yǔ)音識(shí)別的研究工作始于20世紀(jì)50年代。經(jīng)過(guò)50多年的努力和積淀,尤其進(jìn)入90年代后,語(yǔ)音識(shí)別技術(shù)進(jìn)一步成熟,開始向市場(chǎng)提供商業(yè)化運(yùn)作比較成熟的產(chǎn)品。許多發(fā)達(dá)國(guó)家如美國(guó)、日本、韓國(guó)以及IBM、Apple、 Nuance 、Microsoft等公司都為語(yǔ)音識(shí)別系統(tǒng)的實(shí)用化開發(fā)研究投以巨資,但在生活中,語(yǔ)音識(shí)別似乎應(yīng)用的不太多,該項(xiàng)目采用簡(jiǎn)單的結(jié)構(gòu),以語(yǔ)音識(shí)別模塊為核心,實(shí)現(xiàn)簡(jiǎn)單的語(yǔ)音控制應(yīng)用,是語(yǔ)音識(shí)別技術(shù)在生活中的一個(gè)應(yīng)用實(shí)例。
語(yǔ)音識(shí)別技術(shù)發(fā)展到今天,特別是中小詞匯量非特定人語(yǔ)音識(shí)別系統(tǒng)識(shí)別精度已經(jīng)大于98%,對(duì)特定人語(yǔ)音識(shí)別系統(tǒng)的識(shí)別精度就更高。這些技術(shù)已經(jīng)能夠滿足通常應(yīng)用的要求。
2 項(xiàng)目實(shí)現(xiàn)的目標(biāo)及實(shí)現(xiàn)方法
2.1 項(xiàng)目目標(biāo)
該項(xiàng)目實(shí)現(xiàn)的目標(biāo)為:通過(guò)語(yǔ)音識(shí)別模塊,識(shí)別人說(shuō)話的意思,并發(fā)送信號(hào)給arduino,由arduino程序去控制相應(yīng)的執(zhí)行機(jī)構(gòu)動(dòng)作,例如:開燈,關(guān)燈,打開或者關(guān)閉風(fēng)扇等等。從而實(shí)現(xiàn)人機(jī)互動(dòng)。語(yǔ)音模塊具備以下性能。
(1)高準(zhǔn)確度和實(shí)用的語(yǔ)音識(shí)別效果。
(2)非特定人語(yǔ)音識(shí)別技術(shù):不需要用戶進(jìn)行錄音訓(xùn)練。
(3)可動(dòng)態(tài)編輯的識(shí)別關(guān)鍵詞列表:只需要把識(shí)別的關(guān)鍵詞以字符串的形式傳送進(jìn)芯片,即可以在下次識(shí)別中立即生效。比如,用戶在51等MCU的編程中,簡(jiǎn)單地通過(guò)設(shè)置芯片的寄存器,把諸如“你好”這樣的識(shí)別關(guān)鍵詞的內(nèi)容動(dòng)態(tài)地傳入芯片中,芯片就可以識(shí)別這樣設(shè)定的關(guān)鍵詞語(yǔ)了。
(4)支持用戶自由編輯50條關(guān)鍵詞:在同一時(shí)刻,最多在50條關(guān)鍵詞語(yǔ)中進(jìn)行識(shí)別,終端用戶可以根據(jù)場(chǎng)景需要,隨時(shí)編輯和更新這50條關(guān)鍵詞語(yǔ)的內(nèi)容。
2.2 實(shí)現(xiàn)方法
該項(xiàng)目采用現(xiàn)成的語(yǔ)音控制模塊,但是模塊本身有局限性,就是只有2個(gè)控制引腳,只能控制2個(gè)外部器件。大大限制了其實(shí)用性,好在其自帶串口通信引腳,我們就用arduino(arduino本質(zhì)上是一種AVR單片機(jī),開發(fā)者對(duì)其進(jìn)行了二次開發(fā),大大降低了使用的難度)和其進(jìn)行串口通信,arduino本身自帶50多個(gè)控制引腳并且還可以擴(kuò)展以獲得更多引腳,這樣,通過(guò)對(duì)語(yǔ)音控制模塊編程,語(yǔ)音控制模塊負(fù)責(zé)將聲音轉(zhuǎn)換為相應(yīng)的代碼(例如語(yǔ)音“打開電燈”對(duì)應(yīng)“001”,“關(guān)閉電燈”對(duì)應(yīng)“002”),并通過(guò)串口發(fā)送給arduino,然后再對(duì)arduino編程,使其接受到相應(yīng)的代碼后,能執(zhí)行相關(guān)操作(例如將arduino的13號(hào)輸出腳通過(guò)繼電器控制電燈,當(dāng)arduino接受到“001”時(shí)候,使得13號(hào)輸出腳輸出高電平從而點(diǎn)亮電燈,接受到“002”時(shí)候,使得13號(hào)輸出腳輸出低電平從而關(guān)閉電燈)。這樣,需要控制多種電器的話,只需要依次對(duì)應(yīng)在語(yǔ)音模塊和arduino里增加程序即可!
3 結(jié)語(yǔ)
該項(xiàng)目是南京機(jī)電職業(yè)技術(shù)學(xué)院2015年度三創(chuàng)大賽決賽的入圍作品,通過(guò)近一個(gè)月的努力,我們最終調(diào)試完成,并在決賽中獲得了二等獎(jiǎng)的好成績(jī)!
“車到山前必有路”并不是自我安慰,而是真實(shí)的心理現(xiàn)象。每個(gè)人都有一些創(chuàng)意,但是當(dāng)這些創(chuàng)意真正需要實(shí)現(xiàn)的時(shí)候,往往覺得無(wú)從下手。其實(shí),當(dāng)你真想完成這個(gè)項(xiàng)目的時(shí)候,通過(guò)查閱資料、請(qǐng)教他人、相互討論等方式,是可以克服這些困難的。
當(dāng)你敢想、敢做的時(shí)候,哪怕最終失敗,你也是最優(yōu)秀的創(chuàng)客!
參考文獻(xiàn)
[1] Simon Monk,著.創(chuàng)客電子電子制作DIY指南[M].孫宇,譯.人民郵電出版社,2014.
[2] Simon Monk,著.arduino編程從零開始[M].劉椮楠,譯.科學(xué)出版社,2013.
[3] 陳呂洲.arduino程序設(shè)計(jì)基礎(chǔ)[M].北京航空航天大學(xué)出版社,2015.