baiduSpeechRec

来自于:开发者立即使用

概述

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

使用说明:

      1、首先要在百度AI开放平台注册账号;
      2、创建应用,选择需要使用文字识别选项,然后获取AppID、API Key、Secret Key,后面需要使用APP_ID、API_KEY、SECRET_KEY进行百度身份验证;
      3、具体操作可参考百度AI开发平台文档;
      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 对象

内部字段:

{
    status:  //true or false
}

err:

  • 类型:JSON 对象

内部字段:

{
    msg:    //返回错误信息
}

示例代码

var baiduSpeechRec= api.require('baiduSpeechRec');
var param = {
    APP_ID: 'your APP_ID',
    API_KEY: 'your API_KEY',
    SECRET_KEY: 'your SECRET_KEY',
};
baiduSpeechRec.init(param, function (ret, err) {
    if (ret.status) {
        alert('初始化成功');
    } else {
        console.log(err.msg);
        alert('错误信息:' + err.msg);
    }
});

补充说明

请确保参数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 对象

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

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

err:

  • 类型:JSON 对象

内部字段:

{
    msg:    //返回错误信息
}

示例代码

var baiduSpeechRec= api.require('baiduSpeechRec');
var param = {
    path: 'your filePath',
    format:'your filePath type',
};
baiduSpeechRec.speechRec(param, function (ret, err) {
    if (ret) {
        console.log(JSON.stringify(ret));
        alert('识别结果:' + '\n' + JSON.stringify(ret));
    } else {
        console.log(err.msg);
        alert('错误信息:' + err.msg);
    }
});

补充说明

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

可用性

Android系统

可提供的1.0.0及更高版本