返回 登录
0

如何在APP中集成语音听写能力?

以科大讯飞为例。在科大讯飞开放平台众多的语音功能中,语音听写是非常基础的一项能力。它的作用就是把用户说的话识别成对应的文字,比较典型的应用场景就是语音输入法。和命令词识别的区别就是,听写引擎只负责将语音转换成文字,但是他并不去分析该文字是什么意思。就比如语音输入法在你说“我要听音乐”时会乖乖的把这五个字转化出来,但是它并不会悄然的放一首你喜欢的歌。

图片描述

听写分为在线听写和离线听写,目前Android、Windows等各个平台均有在线听写SDK提供,离线听写目前只有Android平台安装语记APP后才支持。

下面一起以Android平台为例,看一下如何下载集成使用听写SDK。

注册平台账户、创建Android应用这里就不再赘述了。进入SDK下载界面,选择“语音听写”下载SDK。

图片描述

下载的SDK包解压后目录如下图所示。

图片描述

assets目录下存放着一些资源文件(听写功能只有一些UI资源,离线SDK的资源会多一些);doc目录存放着一些文档;libs目录存放着对 应各个cpu架构的so库;sample中存放的是对应的demo,直接导入到eclipse中即可运行,其中FaceDemo是人脸识别的 demo,IsvDemo是声纹识别的demo,SpeechDemo是在线基础语音功能(包括在线听写、在线合成、在线命令词识别等)的demo。

图片描述

将SpeechDemo导入eclipse中后,如下图,libs中只放了一个armeabi的so库,如果希望支持更多机型(或者部分测试机出现21001问题)可以将之前SDK包libs中的so库都拷贝到该目录下。

图片描述

运行demo进入主界面,点击“立即体验语音听写”,进入 听写示例界面。其中三个复选框用于选择听写的模式:在线,本地(就是使用语记APP),混合(根据网络状况自动选择)。“开始”启动录音进行听写;“停 止”停止录音(已经录音的部分照样会被识别);“取消”取消本地识别(不会再有听写结果返回);“音频流识别”识别现成的音频文件;“上传联系人”“上传 词表”,增加联系人和词表中词条的识别率。右上角齿轮用于设置听写相关的参数,如:语言(方言)、前端点、后端点、标点符合使能、是否显示听写UI。

图片描述
图片描述
运行完demo,下面大家就要把听写功能集成到自己的项目中了。大家需要拷贝的有demo工程中assets目录下的资源(如果只使用无UI的识别控件,可以不要UI资源)、libs下的so库、还有jar包,然后按照demo的调用流程进行听写即可。

下面是我在支持中发现提问比较多的几个相关点:

听写的结果是分多次以json格式返回的,将多次返回的结果拼接起来才是完整的识别结果,在onResult返回结果的回调中,可以通过isLast来判断是否是最后一次返回结果。

      例如:音频内容“我想知道你到底是谁?”
            第一次返回:“我想知道”
            第二次返回:“你到底是谁”
            第三次返回:“?”(此次isLast为true)

Android和iOS平台均有语记APP,但是只有Android版本的语记才有本地听写的功能,iOS版本只有离线合成功能,没有离线听写和命令词识别能力。

音频流识别中,录音文件必须是pcm或者wav格式、采样率16K或者8K(需要设置参数)、采样精度16位、单声道。

如果音频格式不支持,或者设置的参数与实际录音文件不对应,则会报错或者得不到正确的识别结果。

只有在线听写中才支持上传联系人和上传热词(上传后需要有十分钟左右的时间才能生效),本地听写是不支持的。另外上传这些个性化信息只是增加相应词条的识别率,单并不是绝对的。

   例如:上传了联系人“吴及”,那么你说“wu2 ji2”是可以正确听写出“吴及”的;
            但是如果你说“dian4 ying3 wu2 ji2”,则听写结果是“电影无极”。

听写(包括其他的大部分语音输入型业务)的持续识别时间是有限的,并不能做到无限时间的连续识别。

  详细说明参考:

【官方】识别时间的控制
出处: 语音云社区 http://bbs.xfyun.cn/forum.php?mo%20…%2012678&fromuid=33982

听写控件有两个,分别是SpeechRecognizer(无UI)和RecognizerDialog(带UI)。

大家如果对RecognizerDialog自带的UI不满意,可以使用SpeechRecognizer控件自定义想要的UI,详细说明参考:
Demo中听写UI不好看,如何自定义自己的UI呢?
http://bbs.xfyun.cn/forum.php?mod=viewthread&tid=11228&fromuid=33982
(出处: 语音云社区)
听写自定义UI Demo出炉啦!
http://bbs.xfyun.cn/forum.php?mod=viewthread&tid=11524&fromuid=33982
(出处: 语音云社区)

评论