baiduSpeechRec

来自于:开发者

init speechRec

概述

baiduSpeechRec模块封装了百度AI语音识别功能。暂仅支持 android 平台。

使用说明:

  1. 1、首先要在百度AI开放平台注册账号;
  2. 2、创建应用,选择需要使用文字识别选项,然后获取AppIDAPI KeySecret Key,后面需要使用APP_IDAPI_KEYSECRET_KEY进行百度身份验证;
  3. 3、具体操作可参考百度AI开发平台文档;
  4. 4、此模块是封装了百度人脸识别接口功能;

接口错误说明:

错误码 用户输入/服务端 含义 一般解决方法

3300 用户输入错误 输入参数不正确 请仔细核对文档及参照demo,核对输入参数

3301 用户输入错误 音频质量过差 请上传清晰的音频

3302 用户输入错误 鉴权失败 token字段校验失败。请使用正确的API_KEY 和 SECRET_KEY生成

3303 服务端问题 语音服务器后端问题 请将api返回结果反馈至论坛或者QQ群

3304 用户请求超限 用户的请求QPS超限 请降低识别api请求频率 (qps以appId计算,移动端如果共用则累计)

3305 用户请求超限 用户的日pv(日请求量)超限 请“申请提高配额”,如果暂未通过,请降低日请求量

3307 服务端问题 语音服务器后端识别出错问题 目前请确保16000的采样率音频时长低于30s,8000的采样率音频时长低于60s。如果仍有问题,请将api返回结果反馈至论坛或者QQ群

3308 用户输入错误 音频过长 音频时长不超过60s,请将音频时长截取为60s以下

3309 用户输入错误 音频数据问题 服务端无法将音频转为pcm格式,可能是长度问题,音频格式问题等。 请将输入的音频时长截取为60s以下,并核对下音频的编码,是否是8K或者16K, 16bits,单声道。

3310 用户输入错误 输入的音频文件过大 语音文件共有3种输入方式: json 里的speech 参数(base64后); 直接post 二进制数据,及callback参数里url。 分别对应三种情况:json超过10M;直接post的语音文件超过10M;callback里回调url的音频文件超过10M

3311 用户输入错误 采样率rate参数不在选项里 目前rate参数仅提供8000,16000两种,填写4000即会有此错误

3312 用户输入错误 音频格式format参数不在选项里 目前格式仅仅支持pcm,wav或amr,如填写mp3即会有此错误

init

模块初始化

init({params},callback(ret, err))

params

APP_ID:

  • 类型:字符串
  • 描述:AppID
  • 说明:字段必填,不填会返回错误信息msg

API_KEY:

  • 类型:字符串
  • 描述:API Key
  • 说明:字段必填,不填会返回错误信息msg

SECRET_KEY:

  • 类型:字符串
  • 描述:Secret Key
  • 说明:字段必填,不填会返回错误信息msg

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

  1. {
  2. status: //true or false
  3. }

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. msg: //返回错误信息
  3. }

示例代码

  1. var baiduSpeechRec= api.require('baiduSpeechRec');
  2. var param = {
  3. APP_ID: 'your APP_ID',
  4. API_KEY: 'your API_KEY',
  5. SECRET_KEY: 'your SECRET_KEY',
  6. };
  7. baiduSpeechRec.init(param, function (ret, err) {
  8. if (ret.status) {
  9. alert('初始化成功');
  10. } else {
  11. console.log(err.msg);
  12. alert('错误信息:' + err.msg);
  13. }
  14. });

补充说明

请确保参数APP_ID、API_KEY、SECRET_KEY正确,建议每次调用接口方法先进行模块初始化

可用性

Android系统

可提供的1.0.0及更高版本

speechRec

语音识别

speechRec({params},callback(ret, err))

params

path:

  • 类型:字符串
  • 描述:语音文件路径(绝对路径,apicloud和一些模块都有返回语音路径的接口)可以使用api对应startRecord、stopRecord接口或是模块audioRecorder接口返回录音路径。
  • 说明:字段必填,不填会返回错误信息msg

format:

  • 类型:字符串
  • 描述:语音文件类型
  • 说明:字段必填,不填会返回错误信息msg

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段(字段(加号表示层级) 类型 说明):

  1. {
  2. err_no: 错误码,
  3. err_msg: 错误码描述,
  4. corpus_no: 随机编号
  5. sn: 语音数据唯一标识,系统内部产生,
  6. result:识别结果数组,提供1-5 个候选结果,string 类型为识别的字符串, utf-8 编码
  7. }

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. msg: //返回错误信息
  3. }

示例代码

  1. var baiduSpeechRec= api.require('baiduSpeechRec');
  2. var param = {
  3. path: 'your filePath',
  4. format:'your filePath type',
  5. };
  6. baiduSpeechRec.speechRec(param, function (ret, err) {
  7. if (ret) {
  8. console.log(JSON.stringify(ret));
  9. alert('识别结果:' + '\n' + JSON.stringify(ret));
  10. } else {
  11. console.log(err.msg);
  12. alert('错误信息:' + err.msg);
  13. }
  14. });

补充说明

请确保参数path、format正确,filePath是语音文件绝对路径,用使用apicloud自己定义的方法或是使用模块库的模块获取得到语音文件路径。另外,目前格式仅仅支持pcm,wav或amr。

可用性

Android系统

可提供的1.0.0及更高版本