使用Android SDK实现语音识别
一、功能说明
通过Android studio 将sdk功能写入Android 设备(用自己的手机就可以玩儿了),语音识别、实时语音识别、唤醒词、离线命令词等功能。
本文使用Android studio 从一个新建项目开始 完成百度API的调用
二、开通百度语音技术接口服务
详细步骤见:https://blog.csdn.net/weixin_45386875/article/details/113482662?spm=1001.2014.3001.5502
三、操作步骤
(一)集成在线识别功能
1、新建空项目(Android studio)
(1)点击New project
APP_ID 10674398
API_KEY a8aZUvtoQjsrsVKy7UolPtUe
SECRET_KEY d14094ef8273855e1736f6ddc7b487c0
包名ApplicationId:com.baidu.speech.recognizerdemo
上面的appId等信息您可以在demo的core\src\main\AndroidManifest.xml下找到。包名ApplicationId在app\build.gradle中找到
2、导入core 模块(demo的core module)
选择demo的core目录
此时查看项目目录下的settings.gradle, 可以看见core module已经被加载同时可以看见core目录的图标
3、配置app依赖core
右击app目录选择Open Module Settings
在打开的界面选择Dependencies.然后选择app-+号-选择3 Module Dependency
在弹出的界面勾选core后点击OK
此时观察build.gradle(module :app)文件,发现自动添加了如下一行
implementation project(path: ‘:core’)
4、并根据core/build.gradle(module :core)更改app/build.gradle(module :app)部分版本号
5、集成相应的功能
Eg:集成精简版的在线识别功能
修改app/java/com.baidu.speech.recognizerdemo/MainActivity.java:
import com.baidu.aip.asrwakeup3.core.mini.ActivityMiniRecog;
public class MainActivity extends ActivityMiniRecog {
}
集成完毕,直接启动app即可测试。
(二)集成精简版离线命令词功能
1、修改ActivityMiniRecog.java
修改文件core\src\main\java\com\baidu\aip\asrwakeup3\core\mini\ActivityMiniRecog.java
public class ActivityMiniRecog 中,
protected boolean enableOffline = true; // 测试离线命令词,需要改成true
如下图
断网,启动后看见name: asr.ready,表示离线引擎加载成功。
此时大声说出“打电话给张三”
其中预加载离线资源保存在core\src\main\assets\baidu_speech_grammar.bsg
(官方文档中给出的内容)
2、实际操作出现问题:
点击开始后保存,而且对语音没有反应(断网情况下)
解决办法:
确认1、false修改为true 2、APPID、APP_KEY和APP_SECRECT信息正确
运行之后发现手机上界面提示
先联网测试,然后关闭网络,再次点击开始,说出“打电话给李四(张三)”,仅限这句话(如果修改需要修改那个.bsg文件)
3、修改设置.bsg文件实现自己想要的离线命令词
在语音控制台的左侧功能栏中,进入“离线词&语义设置”模块,根据页面上的引导自行定义词条和语法,并生成bsg文件。其中右侧“说法”部分,为固定语法,下载后不可更改。左侧“词条”部分,代码中可以动态定义覆盖。
如下图中我添加了一些简答的功能,测试成功
(三)集成精简版唤醒功能
1、修改MainActivity.java:
import com.baidu.aip.asrwakeup3.core.mini.ActivityMiniWakeUp;
public class MainActivity extends ActivityMiniWakeUp {
}
启动后,首次使用需要在线,之后可以断网测试
2、可以自定义并修改唤醒词
修改.bin文件,并替换原来core中的WakeUp.bin文件
3、修改方法
在官网根据要求获得相应.bin文件(注意:每月只能使用三次)
四、最后
参考官方文档总算是将这个整理完了,应该是非常详细了,哪里还有问题,还望大家指正,谢谢啦!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。