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

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

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

安裝方法:詳見教程。
設置方法:詳見教程。
-
效果展示:
中文識別結果.jpg
文本朗讀器

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

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