語音控制超簡單(OSEP scratch)
AIoT=人工智慧(AI)+物聯網(IoT)
智能音箱就是一個典型的應用,使用OSEP的[語音轉文字]擴充積木就可以讓學生實際練習AIOT的應用。
透過語音辨識積木來控制小貓動作或控制硬體動作。
語音辨識積木其實就是將我們說的話,透過網路傳到google公司的AI處理辨識後,再回傳辨識結果,讓我們可以做應用。
硬體系統:chromebook、win10、Mac都可以
軟體: OSEP(線上或離線都可以)
*語音辨識要判斷是否講完一個詞,所以執行時會感覺有點遲頓。
*[語音轉文字]可以將您說的話轉成文字,再加上scratch原來的[文字轉語音]可以將文字轉成聲音播出,可以混合更多樣的變化。
注意:
語音轉文字需要啟動chrome瀏覽器,請將hrome設為預設瀏覽器,或是直接開chrome瀏覽器後再開啟OSEP。
引起動機:
我們也可以做到喔!
出門不用帶鑰匙,也不用背密碼、按指紋了。
說話就可以開門囉!
原理:
—————————-
直接點網址:
開啟OSEP線上(網頁)版(請使用chrome瀏覽器)。
在網頁左下角點[添加擴展]
添加[語音轉文字]、[文字轉語音],這2個擴展功能積木。
[語音轉文字]會用到[語音辨識開始]、[清除語音文字]和[語音文字]三個擴充積木
[文字轉語音]
請參考:
https://2blog.ilc.edu.tw/868/18979/
——————————————-
一、讓主角在螢幕上移動
使用語音控制主角在螢幕上移動
1.當綠旗被點一下,使用[語音辨識開始]啟動語音轉換。
2.設定旋轉方式為左右
3.[重複執行],判斷輸入的語音指令要做要做什麼動作。
使用[語音文字]積木,讓說出來的話,由程式轉換為文字。
4.使用[清除語音文字]積木,才不會重複執行同一個指令。
程式下載:語音移動.sb3
1100310修正示例
1101231示例
程式下載:語音控制1101231
延伸:
1.說話讓角色改變大小
2.說話讓角色改變顏色
3.模擬智能音箱(下面影片使用wfduino)
程式下載:模擬智能音箱.sb2
二、聲控走迷宮
使用語音控制主角在螢幕上走迷宮。
聲控指令:往上走,往下走,往右走,往左走
只要說出指令就可以控制螢幕上的小貓走迷宮。
(下面影片和程式使用wfduino,請參考改寫)
主畫面
小貓程式
1.當綠旗被點一下,使用[監聽語音]啟動語音轉換。
2.設定小貓起始位置。
3.[重複執行],判斷輸入的語音指令要做要做什麼動作。
使用[語音文字]積木,讓說出來的話,由程式轉換為文字。
4.如果碰到黑線,就退回原位。
5.當走到終點遇到蛋糕就停止程式。
延伸:
使用[語音文字]積木,讓說出來的話,由程式轉換為文字後,會重複執行同一個指令,無法停止。要如何讓下一個能夠指令執行?
三、應聲蟲
會學你說話的應聲蟲
1.當綠旗被點一下,使用[語音辨識開始]啟動語音轉換。
2.[重複執行],使用[語音文字]積木,讓說出來的話,由程式轉換為文字。
3.[說出(語音文字)],在螢幕上顯示轉換的結果。
4.再用[唸出(語音文字)] 積木將剛剛轉換的文字說出來。
程式下載: 應聲蟲.sb3
1100310修正示例
翻譯機
說出中文,自動翻譯成英文(或其他語言),唸出來
四、聲控霹靂燈
聲控讓Arduino 板子上的LED依序閃亮又熄滅
使用OSEP的[語音轉文字]擴展裡面的[語音辨識開始]、[清除語音文字]和[語音文字]三個擴充積木
接線圖
將18顆LED的短腳(負極)接麵包板同一邊,再串接串接220歐姆電阻後接地(GND)。
18顆LED的長腳(正極)分別接D2~D13和A0~A5,由這18個腳位來控制輸出電位,讓LED亮或滅。
將原來是類比輸入的A0~A5也當成數位輸出的D14~D19
(下面影片和程式使用wfduino,請參考改寫)
1.當綠旗被點一下,使用[監聽語音]啟動語音轉換
2.設定變數[亮燈]來決定該輪到哪一顆LED燈要亮。
3.重複18次[腳位(…)模式為OUTPUT],將D2到D19設定為數位輸出
4.使用[語音文字]積木來讓程式判斷要做什麼動作
5.如果說[霹靂燈]就讓LED輪流閃,直到說[停止]才不閃。
6.LED輪流閃的程式說明:
6.1重複18次[腳位(…) 數位輸出1]、[腳位(…)數位輸出0]、[將變數亮燈改變(1)],讓D2到D19輪流亮、滅
6.2[重複執行],讓上面LED亮、滅的動作重複進行。
請學生思考有18顆LED,為什麼重複執行只有17次?
試試看改變重複執行為18次,觀察有什麼不一樣?
五、聲控開、關燈
利用語音控制來啟動繼電器,控制電燈開或關。
使用OSEP的[語音轉文字]擴展裡面的[語音辨識開始]、[清除語音文字]和[語音文字]三個擴充積木
Arduino端接線圖
(下面影片和程式使用wfduino,請參考改寫)
使用OSEP的[語音轉文字]擴展裡面的[語音辨識開始]、[清除語音文字]和[語音文字]三個擴充積木,來控制繼電器動作。
由數位腳7來控制繼電器的開和關。
先將[腳位7模式設為OUTPUT]。
使用[監聽語音]啟動語音轉換。
重複執行監聽語音,使用[語音文字]積木來讓程式判斷要做什麼動作,要開,還是要關。
使用[語音文字]積木來讓程式判斷要做什麼動作
如果說[開燈]就讓腳位7輸出為1(高電位),讓繼電器連接的電器打開(檯燈亮)。
如果說[關燈]就讓腳位7輸出為0(低電位),讓繼電器連接的電器關閉(檯燈暗)。
如果插座改插其他電器,一樣可以做控制。
家電控制插座製作,請看WFduino第十三課(繼電器)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639096
———————
———————————-
————————-
註:
OSEP的[語音辨識積木]利用Chrome 語音辨識 API ,只要使用chrome瀏覽器都可使用。
相關連結:
OSEP scratch3課程目錄
https://2blog.ilc.edu.tw/868/44668/
設計視訊互動遊戲超簡單
http://blog.ilc.edu.tw/blog/blog/868/post/10898/621592
相關連結:
OSEP scratch3課程目錄
https://2blog.ilc.edu.tw/868/44668/
OSEP第0課 概論(課前準備)程式安裝
https://2blog.ilc.edu.tw/868/44734/
用scratch學物聯網(IOT)
語音控制超簡單(OSEP scratch)
https://2blog.ilc.edu.tw/868/44875/
即時空氣品質監測看板(OSEP scratch3)(LASS資料庫應用)
https://2blog.ilc.edu.tw/868/44690/
即時空氣品質監測看板(OSEP 實用版)
https://2blog.ilc.edu.tw/868/44807/
IFTTT物聯網的運用(OSEP scratch3)
https://2blog.ilc.edu.tw/868/44812/
大數據之雲端資料儲存
ThingSpeak雲端資料庫應用(OSEP scratch3)
https://2blog.ilc.edu.tw/868/44928/
大數據之網路資料運用
JSON格式資料運用(OSEP scratch)