错误码汇总
更新时间:2024-06-03
语音识别API
短语音识别错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
- error_code:错误码。
- error_msg:错误描述信息,帮助理解和解决发生的错误。
错误码 | 错误信息 | 描述 |
---|---|---|
4 | Open api request limit reached | 集群超限额 |
6 | No permission to access data | 对控制台内app进行编辑,添加语音权限 |
14 | IAM Certification failed | IAM鉴权失败,建议用户参照文档自查生成sign的方式是否正确,或换用控制台中ak sk的方式调用 |
17 | Open api daily request limit reached | 每天流量超限额 |
18 | Open api qps request limit reached | 并发超限额 |
19 | Open api total request limit reached | 请求总量超限额 |
100 | Invalid parameter | 无效参数 |
110 | Access token invalid or no longer valid | Access Token失效 |
111 | Access token expired | Access token过期 |
错误码 | 用户输入 / 服务端 | 含义 | 一般解决方法 |
---|---|---|---|
3300 | 用户输入错误 | 输入参数不正确 | 请仔细核对文档及参照 demo,核对输入参数 |
3301 | 用户输入错误 | 音频质量过差 | 请上传清晰的音频 |
3302 | 用户输入错误 | 鉴权失败 | token字段校验失败。请使用正确的API_KEY 和 SECRET_KEY生成。 或并发、调用量超出限额。 或音频采样率不正确(可尝试更换为16k采样率)。 或者自训练平台 lm_id 不属于该账号 |
3303 | 服务端问题 | 百度服务器后端繁忙 | 有可能是原始音频质量过差。可以请将 api 返回结果和原始音频反馈至论坛或者 QQ 群 |
3304 | 用户请求超限 | 用户的请求并发超限 | 请降低识别 api 请求频率 (并发以 appId 计算,移动端如果共用则累计) |
3305 | 用户请求超限 | 用户的日 pv(日请求量)超限 | 请开通付费,购买调用量资源(账号内所有应用 APPID 共用调用量限额) |
3307 | 服务端问题 | 语音服务器后端识别出错问题 | 有可能是原始音频质量过差。可以将 api 返回结果和原始音频反馈至工单、论坛或者 QQ 群 |
3308 | 用户输入错误 | 音频过长 | 音频时长不超过 60s,请将音频时长截取为 60s 以下,特别是 amr 格式 |
3309 | 用户输入错误 | 音频数据问题 | 服务端无法将音频转为 pcm 格式,可能是长度问题,音频格式问题等。 请将输入的音频时长截取为 60s 以下,并核对下音频的编码,采样率 16000,单声道,小端序,16bits。 |
3310 | 用户输入错误 | 输入的音频文件过大 或 len 参数过大 | 文件内容过大,音频时长不能超过 60s |
3311 | 用户输入错误 | 采样率 rate 参数不在选项里 | 目前 rate 参数支持 16000、8000,填写其他值即会有此错误。 |
3312 | 用户输入错误 | 音频格式 format 参数不在选项里 | 目前格式仅仅支持 pcm,wav 或 amr,如填写 mp3 即会有此错误 |
3313 | 服务端问题 | 语音服务器解析超时 | 请将 api 返回结果反馈至工单、论坛或者 QQ 群 |
3314 | 用户输入错误 | 音频长度过短 | 用户的 len 参数小于等于 4 |
3315 | 服务端问题 | 语音服务器处理超时 | 请将 api 返回结果反馈至工单、论坛或者 QQ 群 |
3316 | 用户输入错误 | 音频转为 pcm 失败 | 使用 pcm 格式,或者确认 wav 和 amr 的采样率 16000,单声道。 wav 是否是 pcm 编码,小端序,16bits |
实时语音识别错误码
报错示例:
{
"err_msg": "asr authentication failed",
"err_no": -3004,
"log_id": 106549729,
"result": "",
"sn": "0d25b5e1-ffa6-11e9-8968-f496349f3917",
"type": "FIN_TEXT"
}
err_no = 0 是正确,非0值即为报错。 在err_msg中一般有更具体的报错信息。
错误码err_no | 错误方 | 原因 | 解决方法 | 是否会识别并关闭连接 |
---|---|---|---|---|
-3001 | 百度服务端问题 | 后端从SDK读数据失败,可能是sdk检测到后端超时,断开了连接 | 重试 | 是 |
-3003 | 百度服务端问题 | 服务后端异常 | 记录报错json并反馈 | 这一句话报错,不影响后续识别 |
-3004 | 调用方问题 | 鉴权失败,没有权限调用接口 | 查看appid appkey devpid这3个参数有无填对,QPS有无超限 | 是 |
-3005 | 调用方问题 | 音频质量问题,无效音频 | 根据start_time和end_time可以听下是否是噪音 | 这一句话报错,不影响后续识别 |
-3006 | 百度服务端问题 | 服务后端VAD异常 | 记录报错json并反馈 | 是 |
-3008 | 调用方问题 | 开始参数帧参数错误,包括漏写 | 检测参数有无缺失及格式正确,在err_msg中有更具体的报错信息 | 是 |
-3011 | 用户网络问题 | 上行流建立失败,可能跟网络状况或后端有关 | 重试 | 是 |
-3012 | 用户网络问题 | 下行流建立失败,可能跟网络状况或后端有关 | 重试 | 是 |
-3013 | 百度服务端问题 | 服务后端异常 | 记录报错json并反馈 | 这一句话报错,不影响后续识别 |
-3014 | 调用方正常调用CANCEL | 用户取消 | 如果发送取消帧后会有此返回,可以忽略 | 是 |
-3101 | 调用方问题 | 一段时间没发出音频数据,导致整体请求超时 | 确认代码有音频数据一直在发送中 | 是 |
音频文件转写任务状态及错误码
任务状态 task_status
取值 | 对应状态 |
---|---|
Running | 转写中 |
Success | 转写成功 |
Failure | 转写失败 |
接口错误码
error_code | error_msg | 对应接口 | 描述 |
---|---|---|---|
336200 | internal error | 1,2 | 内部错误,注意task_id类型非字符串 |
336201 | unknown task id | 2 | 未知task id |
336202 | invalid param: task_ids | 1,2 | 无效参数值 |
336203 | missing param: ‘param_name’ | 1,2 | 缺少必要参数 |
336204 | Open api total request limit reached’ | 1,2 | 请开通付费,购买调用时长资源 |
336212 | invalid json | 1,2 | 请求数据为非法json |
336213 | missing header: 'header_name' | 1,2 | 缺少必要header |
音频转写结果错误码
err_no | err_msg | 描述 |
---|---|---|
3301 | speech quality error. | 音频文件格式不对 |
4001 | open speech file failed | 打开音频文件失败 |
4002 | speech length too short | 音频文件长度太短 |
4003 | internal error | 内部错误 |
4004 | internal error | 内部错误 |
4005 | internal error | 内部错误 |
4006 | internal error | 内部错误 |
4007 | internal error | 内部错误 |
4008 | invalid input | 无效语音 |
4009 | speech length too short | 音频文件长度太短 |
4010 | invalid input | 无效语音 |
4011 | internal error | 内部错误 |
4012 | internal error | 内部错误 |
4013 | internal error | 内部错误 |
4014 | internal error | 内部错误 |
4015 | internal error | 内部错误 |
4016 | not support speech format | 音频格式错误,不是pcm或者wav |
4017 | not support rate | 采样率错误,非16000或8000 |
4018 | read speech file failed | 读音频文件失败 |
4019 | internal error | 内部错误 |
4020 | internal error | 内部错误 |
4041 | invalid input | 无效语音 |
100000 | asr task internal error | 任务内部错误 |
100001 | asr task running timeout | 任务运行超时 |
100101 | illegal speech url format | url格式非法 |
100102 | request timeout to speech url | http请求超时 |
100103 | request error to speech url | http请求错误,检查音频url链接,如没有问题请反馈工单排查 |
100104 | invalid response from speech url | 返回无效数据,http status 非200,回包body为空等 |
100105 | invalid speech size | 回包大小超限,音频最大100MB |
100201 | not support speech format | 不支持音频格式 |
100202 | speech transcoding failed | 文件转码失败 |
100203 | not support pid | 不支持的pid |
100204 | not support rate | 不支持的rate |
100205 | audio file is faulty | 无法解析格式的音频 |
100206 | Not support vad | VAD大小超限不支持 |
100207 | Not support channel | 通道数超限不支持 |
100010 | asr task internal error | 内部错误 |
100020 | Authentication and Rate Limit Failed | 鉴权或流控失败 |
100022 | An http exception occurred during Authentication and Rate Limitation | 鉴权或流控过程中HTTP出错 |
200100 | Invalid parameter | 参数错误 |
200108 | Invalid user id | 用户id参数错误 |
200115 | Invalid AppID or no permission | AppID参数错误 |
语音合成API
短文本合成错误码
常见错误码自查及解决建议
错误码 | 含义 | 可能问题 | 自查方案 | 解决办法 |
---|---|---|---|---|
500 | 不支持输入 | 请求超时 | 1. 确认是否设置请求超时;2. 网络是否正常 | 如果设置超时时间,可以设置更长,切换网络好的环境 |
501 | 输入参数不正确 | 输出参数错误或类型不对 | 检查输入参数,以及参数类型 | 根据参数类型正确填写参数 |
502 | token验证失败 | 鉴权信息过期,鉴权额度用尽 | 1. 重新请求;2. 确认控制台应用额度,主要需区分普通发音人、精品发音人、臻品发音人 | 开通对应接口的额度 |
503 | 合成后端错误 | 合成文本中包含非gbk编码 | 文本是否是gbk编码 | 1. 替换文本;2. 如仍无法解决,向百度侧提供包含sn的报错信息,以及请求的时间戳 |
513 | 文本错误 | 合成文本涉及到特殊符号 | 文本是否有特殊符号 | 1. 替换文本;2. 如仍无法解决,向百度侧提供包含sn的报错信息,以及请求的时间戳 |
其他错误码
错误码 | 含义 | 解决方法 |
---|---|---|
6 | "No permission to access data" 无权限 | 对控制台内app进行编辑,添加语音合成权限 |
13 | "Open api qps request limit reached" QPS超限 | 降低QPS用量或在控制台内购买QPS扩容 |
15 | "Open api concurrency limit reached"并发超限 | 降低并发用量或在控制台内购买QPS扩容 |
16 | "Open api characters limit reached" 字数超限 | 检查对应接口额度,区分普通发音人和精品发音人 |
18 | "Open api cluster limit reached" 集群并发超限 | 提交工单联系百度工作人员 |
330 | " invalid user_id or type for limiter" | 提交工单联系百度工作人员 |
999 | "nginx forwarding failed" | 提交工单联系百度工作人员 |
注意事项
请严格按照文档里描述的参数进行开发。请注意以下几个问题:
- 过长的文本将需要更多的请求耗时。如果对时间敏感,请请自行按照标点切割,可以采用多次请求的方式。
- 语音合成 rest api请求并发有限制配额,具体限额见网页里您的应用详情。如果默认配额不能满足需求,可直接通过控制台进行购买。
- 必填字段中,严格按照文档描述中内容填写。
长文本合成任务状态及错误码
查询任务状态task_status
取值 | 对应状态 |
---|---|
Running | 音频合成中 |
Success | 音频合成成功 |
Failure | 音频合成失败 |
接口错误码
error_code | error_msg | 对应接口 | 描述 |
---|---|---|---|
336200 | internal error | 创建、查询 | 内部错误 |
336201 | unknown task id | 查询 | 未知task id |
336202 | invalid param: task_ids | 创建、查询 | 无效参数值 |
336203 | missing param: 'param_name' | 创建、查询 | 缺少必要参数 |
336204 | Open api total request limit reached | 创建、查询 | 请开通付费,购买调用字符数资源 |
336212 | invalid json | 创建、查询 | 请求数据为非法json |
336213 | missing header: 'header_name' | 创建、查询 | 缺少必要header |
长文本合成结果错误码
err_no | err_msg | 描述 |
---|---|---|
100000 | Inner error | 内部错误 |
100001 | Format is not supported | 不支持的音频格式 |
100002 | Failed to query texts from uri | 获取文本内容失败 |
100003 | Failed to upload results to BOS | 上传音频文件失败 |
100010 | Inner error: TTS failed | 合成音频服务失败 |
100020 | Authentication and Rate Limit Failed | 鉴权流控不通过,请检查额度 |
100022 | A http exception occurred during Authentication and Rate Limitation | HTTP网络交互失败 |
呼叫中心语音错误码
问题调试
- 日志目录
${SERVER_ROOT}/mrcp-server/log/
记录了mrcp运行的相关的日志信息,有问题时可查看mrcp_debug.log进行debug。也可查看unimrcpserver-00.log查看mrcp交付过程。 - 当前MRCP同时支持一个channel一次请求和一个channel多次请求。
log/mrcp_debug.log
中的logid形如6a373e36722811e9_2_1,其中的2表示一个channel的请求id,系统生成,不连续。可使用6a373e36722811e9搜索一个channel的全部日志。 ${SERVER_ROOT}/mrcp-server/audio
目录保存了语音识别时上传的用户话音以及语音合成时下发的合成语音,以日志中本次请求的logid或sn的名字命名。可与日志文件中的logid进行关联排查错误。- 本程序默认sip端口为5060,在
${SERVER_ROOT}/mrcp-server/conf/unimrcpserver.xml
中配置。如果用户修改该端口,则在程序验证时,需修改${SERVER_ROOT}/mrcp-server/conf/client-profiles/unimrcp.xml
中的端口为相应的值。 - 通过
unimrcpserver_control
脚本启动服务失败时,则在${SERVER_ROOT}/mrcp-server/
目录下,使用./bin/unimrcpserver -r . &
命令启动,以便查看打印的错误信息。 ./bin/unimrcpserver -r . &
启动时报错:
bash: ./bin/unimrcpserver: /opt/compiler/gcc-8.2/lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
则说明bootstrap.sh没有执行,或执行失败。请参考README文件,进行gcc-8.2手动配置
- 通过
unimrcpserver_control
脚本启动,正常情况下等待5秒左右即可完成。如长时间打印验证信息,则很可能启动失败。请检查日志文件,unimrcpserver-00.log
中出现[asr_engine_open] init ConfigManager failed
字样时,可能是mrcp-xxx.conf配置文件格式书写错误。 - 高并发情形下,
${SERVER_ROOT}/mrcp-server/conf/unimrcpserver.xml
中的配置需要做相应修改,详见程序内README文件。 - 高并发情形下,需要调大系统最大允许打开句柄数。在root账户下执行:
echo "* soft nofile 65535" >> /etc/security/limits.conf
echo "* hard nofile 65535" >> /etc/security/limits.conf
- 高并发情况下,出现
No buffer space available
时,请调大相应内核参数:
echo "65535" > /proc/sys/net/ipv4/xfrm4_gc_thresh
错误码
当识别或合成出错时,日志中会打印相应错误码,它们的含义如下:
err_no | 含义 |
---|---|
0 | 正确 |
-1 | 用户挂断 |
-2 | 音频质量问题,可能全是静音 |
-3 | 音频过长(超过默认55秒) |
-10 | 语音识别/合成后端未知错误 |
-11 | 等待用户语音超时 |
-12 | 语音解码器错误 |
-13 | 与后端连接被关闭 |
-14 | 等待后端结果超时 |
-15 | 连接百度服务鉴权失败 |
-16 | 连接百度服务失败 |
-17 | 语音识别失败 |
-20 | 语音合成文本为空 |
-21 | 语音合成文本过长 |
-22 | 从服务器拉取合成文本失败 |
-23 | 语音合成文本格式错误 |
-24 | 语音合成传递参数错误 |
问题反馈
如有使用问题,可通过提交工单进行反馈。