SU-03T語音辨識晶片

之前已經為BlocklyDuino F2寫了SU-03T的語音辨識積木,但是一直還沒有為micro:bit寫積木,最近有空便將micro:bit的SU-03T的積木完成,讓使用micro:bit的朋友有好用又便宜的語音晶片及積木工具可用。SU-03T的積木安裝網址為:https://github.com/lioujj/pxt-su03t

SU-03T可以辨識語音命令,辨識的速度快,而且是離線,不需要網路。它本身就有一些IO腳位,可以獨立控制腳位的功能。如果要將它和開發板連接的話,要用序列埠連接的方式,辨識後的結果可以透過序列埠傳送給開發板進行後續的處理,但是這個部份則要修改SU-03T內部的韌體讓它具有這個功能,或是要增加語音命令等等都需要進行韌體的修改。但是一般人可能都沒有能力處理,如果要搭配吉哥積木使用的話,SU-03T必須更新內部的韌體才可以。吉哥積木有關SU-03T的韌體有兩個,有的人可能喜歡男聲,有人喜歡女聲,就以台灣的習慣把他們命名為「志明」和「春嬌」好了,可以自行下載喜歡的韌體,"Zhiming"和"Chunjiao",自行更新韌體。目前發佈的韌體版本是1.0.18


●韌體及更新韌體工具下載網址:

https://reurl.cc/V8jR7A

一、如何更新適用於吉哥積木的SU-03T的韌體

(1)首先需要有一個TTL的線,將SU-03T和電腦連接,以便更新韌體。

TTL的RX必須連接到SU-03T的B7
TTL的TX必須連接到SU-03T的B6
TTL的VCC必須連接到SU-03T的VCC(必須是5V)
TTL的GND必須連接到SU-03T的GND
其中比較要注意的是,TTL提供的VCC電壓必須是5V,不能是3V的電壓,接線圖如下:

(2)韌體更新過程請參閱以下影片:

如何更新韌體的操作說明

二、更新完韌體後,SU-03T接上喇叭和咪頭(麥克風),並且和micro:bit連接

以下的接線圖SU-03T的B6接到micro:bit的P1,B7接到P2,另外再將micro:bit的VCC及GND接到SU-03T的VCC及GND,然後將喇叭和麥克風接到SU-03T便可以了。要注意的是SU-03T的電壓需要5V,micro:bit只有3V,以下的圖是micro:bit沒有擴展板的接線示意圖,所以micro:bit需要有能提供5V電壓的擴展板才能使用SU-03T

三、語音辨識晶片的使用

micro:bit和SU-03T以及咪頭和蜂鳴器連接好之後,只要micro:bit連接了電源,SU-03T便會啟動。但是如果要開始進行語音辨識,便要利用喚醒詞來喚醒晶片。如果下載「志明」版本的韌體,喚醒詞是「志明你好」或是「你好志明」,晶片進入睡眠模式則是「志明退下」;如果下載的是「春嬌」版本的韌體,喚醒詞是「春嬌你好」或是「你好春嬌」,晶片進入進入睡眠模式則是「春嬌退下」。至於MakeCode則需要在專案中安裝SU-03T的積木,積木網址:https://github.com/lioujj/pxt-su03t

範例一:SU-03T連接micro:bit控制WS2812燈條

以下範例將SU-03T連接到micro:bit,並聲控WS2812燈泡發出不同顏色,在此範例中,SU-03T的B6接到micro:bit的P1,B7接到P2,WS2812接到P16。

注意:
使用時要先對晶片說出喚醒詞之後才能開始聲控。

範例:SU-03T唸出感測的溫濕度數字

除了聲控之外,我的韌體還能將感測器偵測到的數字唸出來,以下的範例,當SU-03T聽到「溫度」或是「度」的語音指令時,會將micro:bit內建的溫度及亮度感測器感測到的數值唸出來。

範例:唸出預設的聲音訊息

以下以micro:bit內建的光線感測器為例當感測到的光線數值低於50時,可以命令SU-03T唸出一段預設的語音,因為這一小段語音大概在三秒左右,所以唸語音時最好等待三秒左右,要不然重複無限次到下一個循環時,會聽到語音的前面一小段一直重複播放。

注意:
唸出預設的語音不需要喚醒SU-03T晶片

相關的micro:bit聲控影片:

系統命令:

有一些指令在SU-03T聽到之後便會馬上執行的系統指令如下(在已喚醒的情形之下):