App Inventor 2 语音识别及交互App。识别语言指令并控制机器人运动,主要用到语音识别器及文本朗读器组件,语音识别相关开发最佳入门。代码逻辑简单,App交互性及趣味性非常强~
语音Robot教程(难度系数:★★)
教程入口:App Inventor 2 中文网(www.fun123.cn) -> 登陆 -> “项目指南” -> 语音机器人Robot"开始学习"。
1、语音识别器
一般Android手机提供的是Google语音识别引擎,但是经过测试,中文支持不好,经常识别失败,因此这里改用讯飞语音+识别引擎来进行,体验较好,识别率很高。
不过目前版本还稳定维持在1.1.1045,后续几乎不再更新了。
安装方法:详见教程。
设置方法:详见教程。
2、文本朗读器
文本朗读器这个能不能也使用讯飞语音呢?
经过测试,在“系统设置” — “语言和输入”—“文本转语音” 中将首选引擎设置为讯飞后,朗读出来的内容完全就是杂乱的,不知是不是因为版本过旧,还是其他设置问题,经过一系列尝试(包括设置文本朗读器的国家及语言属性)仍然是不行的。
最终只得选择“Google文字转语言引擎”,设置方法详见教程。
测试代码详见教程。这时,可以对App进行第一阶段的测试,将你的语音识别成文本,输出到屏幕,并朗读出来。
这种交互也是很有趣的,大家有兴趣的话还可以试试将讯飞语音设置为英文、粤语等,这时可以识别出你说的英语及粤语方言~
3、App基本逻辑设计
基本的交互设计,简单地设计3点如下:
打招呼指令,可以说“请打个招呼”或“你好”,这时机器人回复说“你好”。
控制机器人上下左右、斜着移动、回到屏幕中间,若指令不能识别,则说出相应的提示。
点击机器人提示“别碰我”。
4、Robot逻辑代码
机器人运动的过程(角度的定义,请右键代码块,查看”帮助“)代码详见教程。
语言识别的逻辑代码详见教程。
5、后记
代码总体非常简单,但是已经具有一定的交互性和可玩性,大家可以自行拓展。
本次课程的关键点在于语音识别引擎的选择,好在直接安装后无需设置就能使用。
文本转语音引擎:一般安卓手机已经默认装好了,但是不排除有些手机没有或者是国外的引擎,这时需要进行一定的设置,建议使用Google引擎,并将语言设置为中文。