gpt4 book ai didi

python - 牛津计划的演讲者识别-无效的音频格式

转载 作者:行者123 更新时间:2023-12-03 00:14:55 26 4
gpt4 key购买 nike

我已经尝试了很多使用牛津工程扬声器识别API的方法
(https://dev.projectoxford.ai/docs/services/563309b6778daf02acc0a508/operations/5645c3271984551c84ec6797)。

我已经成功地在麦克风上录制了声音,然后将其转换为所需的WAV(PCM,16bit,16K,Mono)。

问题是,当我尝试将此文件作为二进制流发布到API时,它返回无效的音频格式错误消息。

演示文件在网站(https://www.projectoxford.ai/demo/SPID)上接受相同的文件。

我正在此代码中使用python 2.7。

import httplib
import urllib
import base64
import json
import codecs

headers = {
# Request headers
'Content-Type': 'application/octet-stream',
'Ocp-Apim-Subscription-Key': '{KEY}',
}

params = urllib.urlencode({
})


def enroll(audioId):
conn = httplib.HTTPSConnection('api.projectoxford.ai')
file = open('test.wav','rb')
body = file.read()
conn.request("POST", "/spid/v1.0/verificationProfiles/" + audioId +"/enroll?%s" % params, str(body), headers)
response = conn.getresponse()
data = response.read()
print data
conn.close()
return data

这就是我得到的回应。
{
"error": {
"code": "BadRequest",
"message": "Invalid Audio Format"
}
}

如果有人能指导我有关我所缺少的,请。我已经验证了音频文件的所有属性以及API所需的要求,但是没有运气。

所有的答案和评论表示赞赏。

最佳答案

我将此文件连同我的测试程序发送到oxford项目,该测试程序在ruby中并且工作正常。我认为问题可能出在您发送的其他参数中。尝试将“内容类型” header 更改为“音频/音频”; samplerate = 1600'这是我使用的 header 。我还发送了“Content Length” header 以及文件的大小。我不确定是否需要“内容长度”,但包含它是一个很好的标准。

关于python - 牛津计划的演讲者识别-无效的音频格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36105648/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com