Project Oxford Speaker Recognition API ( https://dev.projectoxford.ai/docs/services/563309b6778daf02acc0a508/operations/5645c3271984551c84ec6797 )を使用するために多くのことを試みてきました。
マイクで音声を録音して、必要な WAV (PCM、16bit、16K、Mono) に変換することに成功しました。
問題は、このファイルをバイナリ ストリームとして API に送信しようとすると、無効なオーディオ形式のエラー メッセージが返されることです。
同じファイルが Web サイト ( 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 に必要な要件を確認しましたが、うまくいきませんでした。
すべての回答とコメントをお待ちしております。