SU-03t/CI-03t

語音辨識

何謂SU-03t/CI-03t

SU-03t是一款便宜又好用的語音辨識模組,這套模組十分的便宜,淘寶3.5塊人民幣就可以買到,而且辨識效果極佳,而且還提供線上編輯的功能,可以讓你在線上編譯要辨識的語音,以及你要他講出的話,十分好用,此外,同一家公司還出了CI-03t的晶片,價格差不了多少,可以編譯的語言又更多。

線上編譯

SU-03t的線上設定方式很簡單,請先打開一個瀏覽器,並且在網址上面鍵入http://smartpi.cn,就可以進入到SU-03t的線上編譯網站,請自行註冊一個帳號,經過測試yahoo和gmail信箱都可以註冊。

點選左邊選項的產品管理後,接著點選所有產品。

等一會兒後,會出現你現在的產品,請點選右上角的創建產品。

按照下面的設定進行設定,產品名稱可以自選內容。

進入後先修改Pin腳配置,把第七項跟第八項改成下圖內容。(這個一定要設定,不然你會無法使用串口)

修改喚醒詞,這個喚醒詞是用來打開你的語音辨識,你可以設定你喜歡的喚醒詞

新增三筆控制,第一筆test是用來將su03t語音辨識結果傳送到microbit上,這個是我們語音控制的最基本項目,第二筆test1和第三筆test2是提供microbit命令su03t講話的,test1是帶有回傳值,test2則是不帶有回傳值。

接著進入到控制的頁面,這個部分是用來設定microbit傳了甚麼訊息給su03t以及su03t回傳甚麼訊息給microbit

進入到控制以後,先看到第六項,點選添增控制,這邊你或許會有疑惑,明明前面只有七項,但進入到控制確有八項,這是因為進入到控制後,會加入一筆醒來的觸發,而這個醒來觸發則是獨立在前面你加入的喚醒詞。

下面動作與參數是設定當語音辨識後,su03t傳送給參數01給microbit,這樣我們就可以根據參數是多少來進行怎樣的處理,這個可以自行設定。

接下來我們設定第七項,點選第七項的添加觸發。

這部分的設定,前面兩項是設定串口,消息編號非常重要,最好不要重複,這個編號是用來辨識microbit傳送過來的訊息是多少,他就觸發這個行為,而輸入參數就是除了編號可以回傳外,你可以回傳一個數字,並存在一個參數a裡面,這個數字可以搭配在語音中一起說出來,比如說你回傳這個數字是400,你就可以讓su03t念出400。

接著我們設定當收到第七項的訊息時,我們要怎麼處理,所以點選添加控制。

這邊我們設定的是,當收到microbit傳來的訊息,我們播放語音,語音內容是溫度是多少,這個多少就是你傳過來的參數。

完成後的第七項

接著設定第八項,首先點擊添加觸發。

跟前面第七項一樣,設定串口並設定回傳的訊息編號為2,這邊要注意的是,我們只有回傳編號,而不回傳另一個值給參數。

接著點擊添加控制

這部分跟前面一樣,當收到訊息編號為2的訊息時,我們播放語音,並設定語音內容為沒有輸入。

這樣便完成了我們的第八項

設定開機的播報

全部設定好後,點選右上方的發布版本

最後選擇快速測試版本,這樣生成會快一點。

接著就會看到需要等待的畫面

生成後,就可以下載下來燒錄到我們的su03t了。

燒錄韌體到su03t

燒錄韌體可以在bDesigner主畫面的其他功能上可以找到,請選擇SU-03t/CI-03t燒錄軟體

然後就可以開啟燒錄工具

接著把USB轉TTL塊模按照下面的接線接上後,接著插上電腦的USB。

點擊選取,選擇jx_su_03t_release_update.bin這個檔案,然後按下燒錄。

這時你會發現無法燒錄,請你拔掉5V電源的杜邦線,然後再插回去,這時就會開始燒錄。

SU03t連Microbit

燒錄完韌體後,用下面的接線圖將microbit與su03t相接,就可以使用microbit控制su03t了。

SU03t的microbit控制

下面我們有三個控制的範例,這三個範例主要是根據前面三個控制設定,透過這三個範例,你會更清楚使用方式,su03t的積木網址為https://github.com/crousekimo/pxt-microbittosu03t

範例一、接收語音辨識結果

這個範例我們主要測試前面新增的第五項命令詞,因為我們前面有設定歡迎詞跟休眠,所以請注意,一定要在SU-03t激活的情況下才可以進行語音辨識,燒錄完microbit後,請對著麥克風喊「測試」,你會看到有個紅心出現後,立即就消失了。

範例要求SU-03t撥放一個帶有參數的語音

對應前面的第六項命令詞,這裡要注意的是,命令詞的編號為01,這個命令詞只要是用在microbit要求SU-03t說出一段語音,這段語音帶有一個參數。

範例、要求su03t撥放不帶參數的語音

這個範例對應的是第七項命令詞,命令詞的編號為02,這項命令詞主要是讓SU-03t講出一段預設的語音,而這段語音並沒有參數。