App Inventor 2 語音交互機器人Robot,使用訊飛語音識別引擎
應(yīng)用介紹
App Inventor 2 語音識別及交互App。識別語言指令并控制機器人運動,主要用到語音識別器及文本朗讀器組件,語音識別相關(guān)開發(fā)最佳入門。代碼邏輯簡單,App交互性及趣味性非常強~

視頻演示:

語音Robot教程(難度系數(shù):★★)
教程入口:App Inventor 2 中文網(wǎng)(www.fun123.cn)?-> 登陸 ->?“項目指南”?-> 語音機器人Robot"開始學(xué)習(xí)"。
語音識別器

一般Android手機提供的是Google語音識別引擎,但是經(jīng)過測試,中文支持不好,經(jīng)常識別失敗,因此這里改用訊飛語音+識別引擎來進行,體驗較好,識別率很高。
不過目前版本還穩(wěn)定維持在1.1.1045,后續(xù)幾乎不再更新了。

安裝方法:詳見教程。
設(shè)置方法:詳見教程。
效果展示:

文本朗讀器

文本朗讀器這個能不能也使用訊飛語音呢?
經(jīng)過測試,在“系統(tǒng)設(shè)置” — “語言和輸入”—“文本轉(zhuǎn)語音” 中將首選引擎設(shè)置為訊飛后,朗讀出來的內(nèi)容完全就是雜亂的,不知是不是因為版本過舊,還是其他設(shè)置問題,經(jīng)過一系列嘗試(包括設(shè)置文本朗讀器的國家及語言屬性)仍然是不行的。
最終只得選擇“Google文字轉(zhuǎn)語言引擎”,設(shè)置方法詳見教程。
測試代碼詳見教程。這時,可以對App進行第一階段的測試,將你的語音識別成文本,輸出到屏幕,并朗讀出來。
這種交互也是很有趣的,大家有興趣的話還可以試試將訊飛語音設(shè)置為英文、粵語等,這時可以識別出你說的英語及粵語方言~
App基本邏輯設(shè)計
基本的交互設(shè)計,簡單地設(shè)計3點如下:
打招呼指令,可以說“請打個招呼”或“你好”,這時機器人回復(fù)說“你好”。
控制機器人上下左右、斜著移動、回到屏幕中間,若指令不能識別,則說出相應(yīng)的提示。
點擊機器人提示“別碰我”。
Robot邏輯代碼
機器人運動的過程(角度的定義,請右鍵代碼塊,查看”幫助“)代碼詳見教程。
語言識別的邏輯代碼詳見教程。
點擊機器人事件:

后記
代碼總體非常簡單,但是已經(jīng)具有一定的交互性和可玩性,大家可以自行拓展。
本次課程的關(guān)鍵點在于語音識別引擎的選擇,好在直接安裝后無需設(shè)置就能使用。
文本轉(zhuǎn)語音引擎:一般安卓手機已經(jīng)默認裝好了,但是不排除有些手機沒有或者是國外的引擎,這時需要進行一定的設(shè)置,建議使用Google引擎,并將語言設(shè)置為中文。