楊鈺 黃攀 吉中原 湖南科技學院
引言:目前,大多數室內燈光的開/關控制仍然是采用傳統的有線開關來實現,這不僅增加了家裝成本,而且受開關安裝位置的限制,在夜晚或者光線較暗的地方,很難立刻找到開關位置,給使用者帶來不便。隨著人們生活水平的不斷提高,通過語音識別來控制的家居系統也越來越受到人們的青睞。
本文基于LD3320語音識別芯片,以STC89C52單片機為主控制器,設計了一款室內燈光的語音控制系統。該系統可對盞室內(可擴展)燈進行選擇、開啟、亮度調節和關閉等功能。系統分為語音識別模塊和單片機主控模塊。語音識別模塊識別到指定的語音信號后,將結果輸出給單片機主控模塊,從而實現對燈泡的相應操作。
如圖1所示,系統主要由語音識別模塊、主控模塊和燈光電路組成。

圖1 燈光語音控制系統原理框圖
語音識別模塊由LD3320芯片、主控MCU和外圍電路組成,主要負責對接收到的語音信號進行識別,并輸出識別結果。LD3320芯片是采用基于非特定人語音識別技術的語音識別/聲控芯片,它不需要外接任何的輔助Flash 和 RAM, 也無需用戶事先進行訓練和錄音, 就能可以實現語音識別功能。并且其關鍵詞列表可以根據用戶需求任意編輯。主控MCU選用STC11L08XE,為LD3320預設關鍵詞列表和處理語音識別結果,圖2為語音識別系統原理框圖。

圖2 語音識別模塊原理框圖
主控模塊由STC89C52單片機及其外圍電路(時鐘、復位電路等)構成。主要負責根據語音識別結果輸出相應控制信號,使燈光電路進行相應動作。
語音識別模塊與主控模塊之間通過串口進行通信。

圖3 燈光電路
燈光電路包含3盞LED燈(分別標識為客廳、臥室、廚房),本設計中采用LED與三極管的串聯電路來實現,實際應用時,也可用繼電器代替三極管進行設計。
本設計中,語音識別采用循環識別模式,程序采用兩級口令對3組燈光進行控制。當用戶喊出一級口令時,選中3盞燈中的一盞,本設計中采用了與燈泡對應的一組指示燈以驗證試驗效果。當用戶喊出二級口令時,選中的燈將進行開燈、亮度調節和關燈操作。使用口令模式可以大大減少周圍環境噪聲所導致的模塊誤識別。關鍵詞列表如表1所示。

表1 語音識別關鍵詞列表
程序流程圖如圖4 所示。系統上電以后, 由語音識別模塊的MCU向LD3320 寫入關鍵詞識別列表, 然后LD3320開始循環識別語音信號。根據表1 中列出的關鍵詞, LD3320 首先將采集到的語音信號與一級口令進行匹配, 匹配通過后開始定時, 同時繼續采集語音信號, 在規定時間內采集到二級口令后, 則將其繼續與關鍵詞列表中的口令進行匹配, 如匹配結果符合,則將識別結果傳輸給主控模塊單片機, 主控模塊單片機執行相應指令后將相應控制信號,對燈泡進行相應操作。如不匹配則放棄當前采集結果, 重新采集觸發口令。

圖4 系統程序流程圖
根據上述設計原理制作的電路實物如圖5所示(系統上電指示燈亮)。

圖5 系統實物圖

圖6 一級口令選擇燈泡實測圖
圖6~圖8為在室內實驗環境下, 對1盞燈進行開/關操作的實測圖,圖6為語音輸入一級口令“客廳燈”,1秒后,客廳燈指示燈點亮,表明輸入一級口令后,相應燈泡被選中。圖7為語音輸入一級口令“客廳燈”后,5秒內,繼續輸入二級口令“開燈”,客廳燈點亮,5秒后,客廳指示燈熄滅。圖8為客廳燈亮起時,語音輸入一級口令“客廳燈”后,5秒內,繼續輸入二級口令“關燈”,客廳燈熄滅,5秒后,客廳指示燈熄滅。

圖7 “開燈”口令實測圖

圖8 “關燈”口令實測圖
圖9為在室內實驗環境下, 對廚房燈進行亮度調節的實測圖,將3盞燈都打開,初始時燈光亮度相同,當語音輸入“廚房燈”,待指示燈亮起后5秒內,語音輸入“亮度增加”,則廚房燈變亮,由圖9可以看出,廚房燈明顯比另外2盞燈亮。需要說明的是,本設計對燈光亮度僅設置了3個檔位,當燈光亮度已達最亮時,重復上述操作,燈泡亮度無變化。

圖9 廚房燈亮度調節實測圖
為了更好的檢測語音識別效果, 測試中選擇3個不同音色的人,分別在室內安靜環境,室內嘈雜環境(噪聲水平符合國家室內噪聲標準),室外環境3種不同的實驗環境下進行測驗, 每個情境測試50遍。測試結果表明:安靜的室內環境種,口令的識別正確率最高,達到95%以上;室內嘈雜環境和室外環境中,麥克風與人的距離對識別結果的影響很大,口令的識別正確率從65%~90%不等。
本文采用以STC89C52單片機和LD3320語音識別模塊,設計了一款室內燈光的語音控制系統,實現了對多盞LED燈進行開啟、亮度調節和關閉等功能。該系統的功能還有很大的改進空間,如加入無線通訊模塊,加大語音控制的距離;加入顯示模塊,加強用戶使用體驗等,這將在今后的工作重點中進行完善。