token根据要求取的,已经是按照demo进行改的,不明白为何一直报错{"err_msg":"json param speech error.","err_no":3300,"sn":"612881240881568727390"}
请问有遇到同样问题的吗?我这里的参数是哪里错了吗?对着API文档看没看出毛病
代码如下:
voice_file = open('E:\\MyWork\\jupyter-notebook\\auido3.amr', "rb")
speech = base64.b64encode(voice_file.read())
data = {
"format": "amr",
"rate": 8000,
"channel": 1,
"cuid": "8C-16-45-85-59-2F",
"token": "24.d6cb08ecc0e96ae18c1b9362c1b7e4f9.2592000.1571317044.282335-17266761",
"len": len(speech),
"speech": speech.decode()
}
headers = {'Content-Type': 'application/json'}
url = "http://vop.baidu.com/server_api"
r = requests.post(url, data=json.dumps(data), headers=headers)
print(r.text)
收藏
点赞
0
个赞
请登录后评论
TOP
切换版块
len 字段表示原始语音大小字节数。建议先测试官方demo,看能否调通
什么意思 还是没懂 文档也没看见 这个len 怎么取
是的,点赞。
楼主问题解决了么?是怎么解决的?能分享一下吗?
这是你输入的参数不对:len 字段表示原始语音大小字节数,不是 base64 编码之后的长度。
len的长度取值取错了。
具体可以参考官方参数说明:https://ai.baidu.com/docs#/ASR-API/e1e9150c
https://github.com/Baidu-AIP/speech-demo/tree/master/rest-api-asr
官方demo在这里,请先用音频测试官方demo看有无此问题。
调用的python脚本我贴出来了,一直报这个错,没发现参数有什么不对的
{"err_msg":"json param speech error.","err_no":3300,"sn":"612881240881568727390"}
你用的是哪个sdk呢?具体api调不通的报错是什么呢?
16000试过了也不行,API方式调不通,sdk方式调用就可以,为何API不行?
文档里的采样率要求是16000,不是8000。