Nano Hash - криптовалюты, майнинг, программирование

Служба преобразования текста в речь Azure возвращает ошибку 401 Unauthorized

Я пытаюсь использовать API преобразования текста в речь Azure Cognitive Services, но, что бы я ни пытался, я получаю ответ 401 Неавторизованный.

Я создал ресурс Cognitive Services по своей подписке в регионе Западной Европы. Тип - Все когнитивные услуги, статус - активен. Я загрузил образец CSharp со страницы https://github.com/Azure-Samples/Cognitive-Speech-TTS и ввел в код URL-адреса Западной Европы и ключ подписки на мои Cognitive Services. Когда я запускаю образец, токен доступа извлекается нормально, но запрос преобразования текста в речь возвращает 401.

URL-адрес токена: https://westeurope.api.cognitive.microsoft.com/sts/v1.0/issueToken

URL-адрес службы: https://westeurope.tts.speech.microsoft.com/cognitiveservices/v1

Я проверил правильность URL-адресов, я использую тот же регион в обоих и тот же, что и созданный ресурс. Я просмотрел страницу устранения неполадок (https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/troubleshooting) и получил ту же ошибку 401. Я попытался запустить TTS-запрос от почтальона. Я пробовал как Key1, так и Key2 с портала Azure, и попытался восстановить ключ. Я пробовал выполнить запрос также в Функциях Azure, как локально, так и в облаке.

Я расшифровал токен доступа, и, насколько я могу судить, похоже, что в нем есть в значительной степени правильные вещи. Единственная странность в том, что поле exp - это строка, а не число (неверно для JWT). Может быть, это ошибка в системе аутентификации, которая вызывает эту ошибку, или я что-то делаю не так?

Запрос

POST https://westeurope.tts.speech.microsoft.com/cognitiveservices/v1 HTTP/1.1
Authorization: Bearer <access-token>
User-Agent: TestApi
X-Microsoft-OutputFormat: audio-16khz-64kbitrate-mono-mp3
Content-Type: application/ssml+xml
Host: westeurope.tts.speech.microsoft.com
Content-Length: 209

<speak version="1.0" xml:lang="fi-FI">
  <voice name="Microsoft Server Speech Text to Speech Voice (fi-FI, HeidiRUS)" xml:lang="fi-FI">Hei, muistathan suorittaa päivän harjoitteet ajoissa.</voice>
</speak>

Ответ

HTTP/1.1 401 Unauthorized
X-MSEdge-Ref: Ref A: AD369D30DDB7466B8A77086554F9DC46 Ref B: HEL02EDGE0112 Ref C: 2018-12-10T13:03:43Z
Date: Mon, 10 Dec 2018 13:03:42 GMT
Content-Length: 0

  • Я попробовал образец CSharp здесь github .com / Azure-Samples / Cognitive-Speech-TTS / tree / master /, с моим ключом West Europe Speech и просто изменением westus на westeurope в URL-адресах issueToken и v1, это работает на моей стороне. Трудно будет больше помочь .. 10.12.2018

Ответы:


1

Чтобы использовать службу преобразования текста в речь, у вас должен быть ресурс службы речи, а не ресурс Cognitive Services.

Что делает это немного неясным, так это то, что в документации нет специального упоминания об этом различии. Ресурс Cognitive Services будет отображать значение типа All Cognitive Services, которое, как можно было бы предположить, содержит также функциональность речи. И когда вы специально создаете ресурс речевой службы, он по-прежнему отображается как ресурс когнитивных служб.

11.12.2018
  • Я создал новую речевую службу на основе этого, но я все еще получаю 401 при отправке запросов. Я могу получить действующий токен в полном порядке, однако я нахожусь в многодневном тупике, поскольку ни примеры, ни демонстрации, предоставленные M $, не будут работать. 11.02.2020
  • Этот ответ только что разблокировал меня примерно через 3 полных дня попыток понять, что пошло не так. Спасибо. 09.01.2021
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..