百度API调用五——语音识别之使用Android SDK超详细

使用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

在这里插入图片描述

(2)选择Empty Activity 后点击next

在这里插入图片描述

在这里插入图片描述

注意,红框画出的是包名。 在项目测试成功后,您可以将您自己的包名填写在官网申请的应用里。并且该应用开通了语音识别能力。(在应用列表->管理—>编辑里查看修改

在这里插入图片描述

可以“暂时”用demo的示例的应用信息。

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文件(注意:每月只能使用三次)

在这里插入图片描述

四、最后

参考官方文档总算是将这个整理完了,应该是非常详细了,哪里还有问题,还望大家指正,谢谢啦!

相关文章

安装环境都很简单,就是下载工具需要在华为开发者联盟里注册...
上传的方式有两种,第一种是通过bintray官方出的插件bintray...
转载自: 完美解决Error:SSLpeershutdownincorrectly打开gr...
https://www.jianshu.com/p/9220227cdfb3buildscript{ext.ko...
Markdown版本笔记我的GitHub首页我的博客我的微信我的邮箱My...
 跟着教程做的,已经有了JDK,直接进行后面的步骤,下载安装...