Как реализовать API распознавания / проверки Microsoft Speaker в Python? - PullRequest
0 голосов
/ 17 марта 2020

Я хотел бы реализовать API распознавания говорящего из Microsoft Cognitive Services для проекта проверки говорящего. У меня уже есть ключ API распознавания динамика. Я получил образец Python кода непосредственно из документации (внизу документации):

https://westus.dev.cognitive.microsoft.com/docs/services/563309b6778daf02acc0a508/operations/563309b7778daf06340c9652

    ########### Python 3.2 #############
    import http.client, urllib.request, urllib.parse, urllib.error, base64

    headers = {
        # Request headers
        'Content-Type': 'application/json',
        'Ocp-Apim-Subscription-Key': '{subscription key}',
    }

    params = urllib.parse.urlencode({
    })

    try:
        conn = http.client.HTTPSConnection('westus.api.cognitive.microsoft.com')
        conn.request("POST", "/spid/v1.0/verificationProfiles?%s" % params, "{body}", headers)
        response = conn.getresponse()
        data = response.read()
        print(data)
        conn.close()
    except Exception as e:
        print("[Errno {0}] {1}".format(e.errno, e.strerror))

    ####################################

Это пример кода для первого шага создайте и сохраните голосовой профиль.

Для проведения проверки докладчика нам необходимо выполнить 3 шага: 1) Создать профиль 2) Создать регистрацию 3) Проверка

I'm застрял уже на первом шаге сейчас. Я впервые работаю с API в целом, поэтому я не совсем уверен, какие части кода Python мне нужно изменить. Я знаю, что мне нужно вставить свой ключ API в 'Ocp-Apim-Subscription-Key' , но кроме этого, что еще? Например, если я добавлю свой ключ API в указанное поле c и позволю запустить код, я получу это сообщение об ошибке.

b'{"error":{"code":"BadRequest","message":"locale is not specified"}}'

Куда мне нужно вставить языковой стандарт ("en-us ") например? Мне не очень понятно из документации, что мне нужно редактировать. Если вы можете подсказать, что мне нужно вставить / добавить в вызовы API, я был бы очень благодарен.

Заранее большое спасибо!

1 Ответ

1 голос
/ 17 марта 2020

Когда вы создаете профиль Speaker Recognition, он должен быть связан с локалью, и вы указываете эту локаль в теле запроса. Тело должно быть объектом JSON, подобным следующему:

{
  "locale":"en-us",
}

Чтобы образец работал, вам нужно заменить "{body}" на фактическое значение тела, например:

conn.request("POST", "/spid/v1.0/verificationProfiles?%s" % params, "{\"locale\":\"en-US\"}", headers)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...