语音听写,是基于自然语言处理,将自然语言音频转换为文本输出的技术。语音听写技术与语法识别技术的不同在于,语音听写不需要基于某个具体的语法文件,其识别范围是整个语种内的词条。
语音听写详细的接口介绍及说明请参考: MSC Android API 文档。
在集成过程中出现错误,请优先查询SDK&API 错误码查询。如有疑问,请提交工单进行咨询,也可登录讯飞开放平台论坛与广大开发者共同学习和交流
点击跳转在线咨询
下载完SDK后,解压至相应的路径。
注:使用demo测试时,需将res中除layout外资源拷贝到demo中assets相应的路径下
以Android Studio集成开发工具为例,测试时建议直接用真机进行测试。
方法一(导入project方式):
如在导入项目中还出现其他问题,可参考帖子:安卓demo常见错误排查
方法二(导入module方式):
打开Android Studio,在菜单栏File--->new--->import Module当前解压sdk路径,使用离线服务能力选择导入mscV5PlusDemo,导入成功之后sync编译下,编译无误可连接手机,开启手机USB开发调试模式,直接在Android Studio运行导入的mscV5PlusDemo,最后生成的apk可直接安装在对应的手机上。
2.2.1、SDK包说明
《Android SDK目录结构一览》
- manifests:
- android配置应用权限文件
- sample:
- 相关离线能力demo(离线语音听写IatDemo)
- assets:
- SDK相关资源配置文件
- Libs:
- 动态库和jar包
- res:
- UI文件和相关布局文件xml
- readme说明(必看)
- release 版本说明
2.2.2、导入SDK
将在官网下载的Android SDK 压缩包中libs目录下所有子文件拷贝至Android工程的libs目录下,如下图所示:
备注:
- arm版本已经逐步淘汰了,arm架构的推荐使用armeabi-v7a。
- 如果您需要将应用push到设备使用,请将设备cpu对应指令集的libmsc.so push到/system/lib中。
- 使用demo测试时,需将res中除layout外资源拷贝到demo中assets相应的路径下。
- .集成到项目,需要将sdk中Demo/src/main/下文件拷贝到项目main中,以AS为例,且需要在项目main文件夹下新建Jnilibs并拷贝libmsc.so。
- msc.jar需要拷贝至项目libs下,并且右键jar添加Add As Library。
- sdk下文件夹main/assets/,自带UI页面(iflytek文件夹)和相关其他服务资源文件(语法文件、音频示例、词表),使用自带UI接口时,可以将assets/iflytek文件拷贝到项目中。
2.2.3、添加用户权限
在工程 AndroidManifest.xml 文件中添加如下权限
注意:如需在打包或者生成APK的时候进行混淆,请在proguard.cfg中添加如下代码:
2.2.4、接入
为保证用户个人隐私,防止APP不当收集用户信息,我们强烈建议您遵守以下流程接入本SDK保证合规,防止因调用时机不当引发的后果,例如但不限于:APP被应用市场下架等。
(1)您需要确保贵APP有《隐私政策》,并且在用户首次启动App时就弹出《隐私政策》争得用户同意。
(2)您务必在App的《第三方共享清单及SDK目录》中告知用户MSC SDK收集的个人信息类型以及MSC SDK隐私政策。
(3)个人信息收集说明:MSC SDK需要收集唯一设备识别码(android ID)以提供能力授权服务。
(4)隐私政策请点击查看。
(5)您务必严格遵守如下调用步骤,确保用户同意《隐私政策》之后,且在用户主动使用本SDK提供的各项功能时再进行相关函数调用。
接入即创建语音配置对象,只有接入后才可以使用MSC的各项服务。接入代码如下:
sdk提供了两种识别方式,分别为带UI识别和无UI方式:
2.3.1、无UI识别
2.3.2、带UI识别
值范围:有效的资源文件路径
默认值:null
默认:json
1:开启(默认值)
0:关闭
resource设置中包含两个资源,common.jet 和 sms_16k.jet, 从资源配置中可以看出,目前离线听写仅支持16k音频
支持哪些语言?
答:目前只支持中文(普通话)。
离线语音听写是否可以试用?
答:可以的,目前提供10个装机量可以免费试用,试用期90天。
离线语音听写是否支持个性化热词功能?
答:目前不支持。
离线语音听写支持的音频格式是什么?
答:音频长度:小于20s;采样率16KHz;采样精度:16bit;声道单声道,音频文件的录制和格式确认(推荐使用Cool Edit Pro工具)。
离线语音听写识别率低是什么原因?
答:请检查上传的音频格式和属性是否满足pcm、wav对应16KHZ,16bit的音频,如果离线语音听写效果达不到您项目的要求,建议使用在线听写。