我一直在努力使用項目牛津說話人識別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所需的要求,但沒有運氣。
所有的答案和評論表示讚賞。
你是如何轉換音頻文件的?我在轉換中遇到問題..由於規格,無法使用任何音頻... –
Nevermind找到一個轉換器(Bigasoft Total Video Convertor 5) –