首页 » AppInventor » App Inventor 语音交互技术

App Inventor 语音交互技术

关于“WxBit”》,《免费会员计划》,《终极入门教程

WxBit 汉化版在周末悄悄发布一个里程碑更新,增加了“人工智能”分类,其中的百度语音识别、合成与唤醒,给 App Inventor 应用增加了嘴巴和耳朵。有别于“多媒体”分类中的语音合成与识别组件,百度语音交互组件不要求手机安装第三方语音识别应用与合成引擎,通用性更好。本站独有的语音交互组件,让我们轻松实现属于自己的语音助理。

人工智能组件

  在开始介绍语音交互组件前,先要介绍自定义“应用包名(Package Name)”,在应用首屏(Screen1)的设计视图属性中设置。这个功能虽然已经上线有一段时间,但是应该很多同学没有注意,也没有用过。应用包名,在 App Inventor 中等同于应用ID,是应用的唯一标识,类似人的身份证号码。包名中只能包含数字、字母、点和下划线,点为分隔符,将包名分割为多个部分,每部分必须以字母开头。例如:com.wxbit.appinventor.aicompanion3,这是 ai伴侣的包名。_com.abc、com.123、.com.abc,这些都是错误格式的包名。

设置应用包名

  如果不设置包名,系统生成APK的包名一般是这样:wxbit.ai_Q(32位唯一标识).项目名称,例如:wxbit.ai_QCCC18AB0D04C3B7CFD21E1D67A60AF0F.test。如果设置应用包名,系统默认会在前面加上“wxbit.”前缀。比如填写appinventor,则最后生成APK的包名就是:wxbit.appinventor。

如果需要使用离线合成和语音唤醒,正确设置应用包名是必须的步骤。

下面分别介绍百度语音交互3大组件:

一、百度语音识别

使用流式协议,能够听用户说,即时处理获得结果。不需要像Rest API,上传整个录音文件才获得结果。即时响应,能够给用户更好的使用体验。

百度语音识别功能概要

  识别模式提供了多种配置,适用于不同的场景。

语音识别的场景模式

  详细说明请参考文档:http://ai.baidu.com/docs#/ASR-Android-SDK/3557153c

二、百度语音合成

不同于Rest API下载完整个音频文件再播放,在线模式能够一边下载一边播放。百度语音合成不支持“纯离线”模式,首先都会尝试联网,如果选择的不是“纯在线模式”,联网超时后会使用内置的离线引擎合成语音。需要注意的是,第一次使用离线语音合成,一定需要联网下载授权文件。授权文件与 AppId、AppKey、SecretKey 和应用包名相关,详细配置本文最后再说明。

语音合成功能概要

  纯在线模式:也就是不使用离线引擎,生成的APK文件较小,推荐使用。

WiFi在线,6秒超时:连接 WiFi 时使用在线合成,如果 6 秒还未连接成功和连接的不是 WiFi 网络,则使用离线合成。

WiFi与4G在线,6秒超时:连接 WiFi 和 4G 网络时使用在线合成,如果 6 秒还未连接成功或使用的是其他网络,则使用离线合成。

WiFi与4G在线,1.2秒超时:同上,连接超时时间为1.2秒。

WiFi在线,1.2秒超时:同“WiFi在线,6秒超时”,连接超时时间为1.2秒。

详细说明请参考文档:http://ai.baidu.com/docs#/TTS-Android-SDK/47c81acf

三、百度语音唤醒

此唤醒,并非点亮手机屏幕这个“唤醒”。而是应用听到用户说的特定关键词,会触发事件代码块。启用后台唤醒后,即使手机是锁屏状态,也一样可以触发事件代码块。后台唤醒功能,会加速电量消耗,请谨慎使用

语音唤醒功能概要

  系统内置支持10个关键词,分别是:小宝同学、拍照、播放、暂停、上一首、下一首、增大音量、减小音量、打开电灯、关闭电灯。如果需要自定义唤醒词,请到这里导出:http://ai.baidu.com/tech/speech/wake 。导出的唤醒词为 WakeUp.bin ,上传这个文件到项目的素材中即可。

在设计视图或逻辑视图中启用语音唤醒功能,当用户说到唤醒词,“被语音唤醒”事件会被触发,在这个代码块中完成对用户的回应。

因为语音唤醒,是离线识别,必须正确配置 AppId、AppKey、SecretKey 和应用包名。如果只是为了测试,可以留空以上三个参数,应用包名设置为:baidu 。生成APK的应用包名实际是 wxbit.baidu,使用了本文作者配置的百度语音应用。

 

 

下文介绍百度语音应用的创建,如果你已经有百度云服务帐号,直接进入控制台创建应用。

1、注册百度云帐号

打开 https://cloud.baidu.com,点击“管理控制台”,进入登录界面。如果没有百度帐号,请先注册一个,具体步骤这里不做赘述。注册完百度帐号,回到这里注册百度云帐号。

百度云注册

  第一次登录百度云需要补充些信息,然后进入控制台。

百度云控制台

2、创建语音交互应用

从控制台进入“语音识别”创建应用,并选择“Android”,然后填写ai项目首屏设置的包名,加上“wxbit.”前缀。比如ai项目应用包名设置的是 com.appinventor.project,在这里应该填写:wxbit.com.appinventor.project 。

在百度云创建语音交互应用

3、获取 AppId、AppKey、SecretKey

查看应用详情

  填写好应用包名与百度语音应用的参数,就可以使用百度语音组件啦。

 

这里有个使用百度语音组件实现的演示应用,供大家测试:语音交互功能演示.apk

语音交互功能演示

原文链接:App Inventor 语音交互技术,转载请注明来源!