#c# #azure #text-to-speech #microsoft-cognitive
#c# #azure #преобразование текста в речь #microsoft-когнитивные
Вопрос:
Мне нужно использовать службу neural tts от Azure в командной строке c # desktop для преобразования нескольких текстовых сообщений в файлы wav.
Сообщения, как правило, короткие, но текстовых файлов много.
здесь приведены данные об ограничениях:
(Квоты и ограничения преобразования текста в речь для каждого речевого ресурса) https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/speech-services-quotas-and-limits#text-to-speech-quotas-and-limits-per-speech-resource
В этом случае нет многопоточного или асинхронного запроса.
Поскольку мое приложение преобразует в пакетном режиме текст в формате wav, неясно, что происходит, когда скорость превышает 20 запросов в минуту.
Будет ли ошибка во время выполнения? Мне нужно вручную управлять задержкой в моем коде?
Спасибо!
Ответ №1:
Когда вы превысите лимит количества запросов в минуту, вы получите ответ как 429 на каждый запрос. Вы могли бы обработать этот ответ.
Вы можете отложить и повторить запрос, основываясь на приведенном выше ответе.
Комментарии:
1. Спасибо! теперь понятно, знаете ли вы, где я могу найти разницу в ограничениях Azure между тарифными планами «Бесплатно (7 дней гость «кредитная карта не требуется») и (30 дней бесплатно «требуется кредитная карта»).). Спасибо!
Ответ №2:
Вы также можете обратиться к инструменту командной строки speech.
https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/spx-basics
синтез spx —files .txt;.ssml —аудиовыход {id}.wav
Это должно позволить вам обрабатывать много файлов по одному соединению, а не запускать и останавливать механизм для каждого файла.
Вы также можете попытаться изменить код пакетного скрипта, чтобы повторно использовать одно соединение, а не использовать промежуточные переходы между созданием новых объектов ядра и новых подключений к servicw, чтобы оставаться ниже ограничения в 20 QPS…
Комментарии:
1. Это очень интересно !! Короче говоря, вы предлагаете, например, создать пакетный файл, содержащий все вызовы. Вы уже проверяли это ?