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及更高版本