ASR語音辨識指令積木

Elecfreaks公司有出一款簡易的I2C界面語音辨識模組(Automatic Speech Recognition,ASR,https://www.oursteam.com.tw/view-product.php?id=465),若是在專案中有聲控的需求,對著它說出特定的指令,它可以辨識出來,再編寫後續相對應的程式。目前它內建提供的語音指令有:「你好小恩、打開車燈、關閉車燈、向左轉、向右轉、向前進、向後退、循線模式、避障模式、停車、啟動設備、停止設備、暫停運行、繼續運行、增加一檔、降低一檔、播放音樂、關閉音樂、切換音樂、執行功能1、執行功能2」,這些指令大部份是利用聲控控制自走車的指令,如果想要使用自己的語音指令,這個模組提供了十個自訂語音指令,透過簡單的學習讓這個ASR模組辨識這些自訂語音便可以使用了。這個ASR是標準的I2C的裝置,因此這些積木適用於所有的7697、ESP8266、ESP32,以及Arduino。積木的位置位於「吉哥積木」→「模組」→「ASR語音辨識選單內。

一、如何啟動ASR模組的語音辨識功能:

ASR是I2C的裝置,將它連接到開發板的I2C裝置便可以使用。在使用ASR之前,必須先對ASR說出「你好小恩」的指令才會啟動語音辨識的功能,並且ASR模組上的藍燈會亮起,如果在說出「你好小恩」的啟動指令後的15秒內沒有對ASR發出其他語音指令,那個ASR便會關閉語音辨識功能,語音辨識功能關閉時,模組上的藍燈會熄滅;想要再啟動語音辨識,便要再說出「你好小恩」的指令。

語音辨識未啟動時,左側的藍燈不會亮

當說出「你好小恩」後,藍燈亮起,語音辨識功能啟動

二、利用內建的語音指令控制其他裝置功能:

透過內建語音的「向前進」、「向後退」,控制P13上的伺服馬達轉動180度及0度。透過內建語音的「打開車燈」、「關閉車燈」,控制P2上的LED燈亮起和關閉。在這裡必須將「ASR語音辨識 檢查辨識結果」積木放進「重複執行」區塊內,先檢查辨識結果,才能偵測到是哪一句內建語音指令被辨識出來。辨識之前,同樣也要先說「你好小恩」才能啟動語音辨識功能。

內建語音指令的辨識

三、設定學習自訂語音指令功能

ASR提供了十組自訂語音指令,透過學習,可以讓ASR辨識這十組語音。以下以PocketCard為例子,按下A鍵對著ASR說出「你好小恩」啟動ASR之後,按下A鍵會把之前所學習到的自訂語音清除,按下B鍵則會開始學習詞語,每個詞語會要求你唸三遍,唸完之後便學習下一個詞語,若是自訂語音已設定完畢,對著ASR說「退出學習」便會脫離學習模式。但是在設定之前,同樣也要先說「你好小恩」才能啟動語音辨識功能,進入設定功能。

如何設定自訂語音指令

四、如何使用自訂語音命令

先透過學習,設定ASR的自訂語音指令,在這個例子,「自訂語音1」的語音指令是「打開紅燈」,「自訂語音2」的語音指令是「關閉紅燈」,可以控制在P13的紅色LED燈亮或是熄滅;「自訂語音3」的語音指令是「打開燈」,「自訂語音4」的語音指令是「關閉燈」,可以控制在P2色LED燈亮或是熄滅。辨識之前,同樣也要先說「你好小恩」才能啟動語音辨識功能。