摘要:為了探索基于Arduino平臺的智能硬件設計方法,本文設計了一套基于Arduino的語音識別系統。首先,本文搭建了硬件平臺,核心模塊為Arduino和一款語音識別芯片LD3320。然后,利用Arduino的軟件編程環境實現了本文的軟件算法。實驗結果表明,本系統能實現智能語音識別的功能,可推廣到其他智能平臺。
關鍵詞: Arduino;語音識別; LD3320
隨著科技的不斷進步,人們的生活水平也大大的提高,智能家電開始逐步實現。在智能家電的時代,我們想開燈,想打開電視,想看哪個臺,哪個節目等等,無需去找開關,遙控器,只需要大聲地說出我們的想法,就能如我所愿。現在移動終端的使用大大方便了我們的生活,我們設想,將所有家電(電扇,電視,冰箱,空調,微波爐,電飯煲,洗衣機),以及門、燈等都可以安裝上一些相應的傳感器,在移動終端(如手機,平板)上安裝一個自己開發的APP,然后通過語音識別技術就可以控制這些電器,實現更智能、更方便的家居生活。因此,基于這些設想,本文設計了一套基于Arduino+LD3320語音識別系統,用戶可以通過語音控制LED燈的打開與熄滅,也可以控制流水燈以及全彩燈等的熄滅。本系統簡便流暢,可以推廣到其他智能交互系統中。
1 語音識別原理
語音識別的研究可以追溯到1952年,當時世界上的第一個語音識別系統是可識別到10個英語數字的 Audry 系統。后來,隨著語音識別技術的發展,在提高小詞匯量的語音識別系統的性能之后,研究人員們開始有更大目標,將研究方向轉到了非特定人、大詞匯量的語音識別系統上,其中最具突破性意義的是CMU大學研發的SPHINX系統,它成功解決了非特定人、大詞匯量以及連續語音的三大難題,曾被一致定義為語音識別技術發展中的奠基石。
上述語音識別系統的關鍵就是語音識別技術,而語音識別技術可以定義為讓機器通過識別和理解,把人類的語音信號轉變為相應的文本信號的技術。本文所采用的LD3320芯片利用了這些語音識別技術,并將非特定人的語音信號轉換為了文本信號。
2 系統軟件及硬件設計
2.1 系統硬件平臺搭建
本文所設計的基于Arduino 的語音識別系統,是一個以Arduino為處理器平臺的并依托語音識別技術對輸入作出響應的智能系統。系統主要包括以下幾部分:以Arduino為核心的處理器模塊,以LD3320為核心的語音識別模塊以及各種接口部件。平臺組織結構如圖1所示。系統的工程流程如下:首先用戶通過麥克風將語音信號輸入到語音識別模塊中,語音識別模塊將語音信號轉換為特定的信號,然后在Arduino的控制下,將識別出的信號轉換為指令輸出,然后控制LED燈的開啟與熄滅。
2.2 Arduino開發板
Arduino是2005 年1 月由意大利米蘭交互設計學院的兩位教師David Cuartielles 和Massimo Banzi聯合開發的開源硬件平臺。本文采用的產品型號為Arduino UNO R3,該款開發板提供了豐富的硬件接口資源,包括0~13共計14個數字輸入/輸出口以及A0~A5共計6個模擬輸入接口。因此,用戶可以根據需要很方便的進行二次開發。
2.3 語音識別模塊
本文采用安然之家智能工作室開發的LPICR V1.4 免編程(IO 版)非特定人語音識別模塊,該語音模塊以LD3320位核心,當麥克風采集到語音信號時,LD3320發送低電平請求中斷,然后MCU執行相應的識別流程序。語音識別模塊的引腳定義如下圖3所示。
在語音識別系統實現之前,首先需要將待識別語句燒寫到語音識別模塊中。語音識別模塊與電腦連接進行命令的輸入過程比較簡單,可以用如下圖3以及圖4進行說明,其分別是語音識別模塊與電腦連接的示意圖和實物圖。
2.4 系統軟件設計實現
接下來是系統的軟件設計部分,Arduino采用類似于Java和C語言的Processing/Wiring 開發環境。測試開燈關燈命令的時候,只需要利用digitalWrite函數把相應的引腳拉高或者拉低,然后就可以實現LED的打開和熄滅。而測試流水燈時,只需要按一定的延遲拉高或者拉低相應的引腳。語音識別芯片識別到的結果會轉換為十六進制信號,Arduino會利用這些識別的結果做出相應的操作。
3 實驗結果
搭建完硬件平臺以后,然后將編寫的聲控程序編譯、燒寫至開發板。接下來對系統進行聲控測試。首先,對系統的麥克風正確說出“開燈”、“關燈”、“打開流水燈”等預先設置的命令,系統識別出了預先設置的命令,然后,面包板上的LED燈也做出了相應的反應。多次測試發現系統的識別率在90%以上,說明系統是可靠的,并且也是比較穩定的。
最終的測試結果表明,該系統在無噪或低噪環境下運行良好,識別精度非常高,能實現語音控制LED燈的開與關的要求。
4 結語
本文主要對基于Arduino的語音識別系統的設計及實現進行了闡述。系統的設計工作主要包括了硬件平臺的搭建及軟件的實現。測試結果表明,本系統能夠通過語音識別芯片實現開燈關燈等操作,說明本系統是可靠的,智能的,并且也是有效的。此外,由于本系統具有體積小、功耗低、通用性強等優勢,因此,可推廣到各種智能應用領域,如智能家居、智能家電、智能交通等。
參考文獻:
[1]趙璐,吳蒙.基于Arduino的語音識別與控制系統實現[J].微型機與應用,2015 (21).
[2]黃麗雯,韓榮榮,宋江敏.基于Arduino /Android 的語音控制小車設計[J].實驗室研究與探索,2015,34(12).
[3]鄭昊,鐘志峰,郭昊,許駿.基于Arduino/Android的藍牙通信系統設計[J]. 物聯網技術,2012(5) .
[4]劉楚紅,董鎮,錢宇捷,陶立,柳盛東.基于Arduino 的倒車雷達系統設計[J].現代電子技術,2014,37(17).
作者簡介:鄭斯琦(2001),女,四川省成都市第七中學高新校區高2016級級9班。積極參加20162017年度兩期“成都七中創客集合”活動,開展了C、C++等編程語言的研究性學習,初步學習了MFC、Arduino。