Поиск по сайту:

Предоставьте своему приложению преобразование текста в речь на основе машинного обучения с помощью AWS Polly


Если вашему приложению требуется способ программного преобразования текста в речь для взаимодействия с пользователями, у AWS есть управляемый сервис, который использует машинное обучение для создания реалистичных правдоподобных голосов, которые значительно улучшают взаимодействие с пользователем.

Преобразование текста в речь на нейронной основе намного лучше

Мы не можем переоценить это, нейронный преобразование текста в речь (TTS) звучит плавно и по-человечески, как Siri или Alexa, а стандартный TTS звучит как робот по сравнению с ним (хотя, по общему признанию, все еще вполне приемлемо).

Вы действительно должны услышать это сами. Прослушайте этот пример, используя стандартный TTS.

Теперь послушайте этот пример с использованием нейронной TTS. Слышите разницу? Переходы между словами гораздо более плавные, чем можно добиться программно. Какой из них вы хотите предложить пользователям?

С Polly роботизированный TTS остался в прошлом. Как и в большинстве сервисов AWS, с вас взимается плата в зависимости от использования. Текущая ставка для нейронных TTS составляет 16 долларов за миллион символов текста. Если вы создаете диалоговое приложение, ответы обычно будут довольно короткими, что снижает затраты.

AWS Polly также поддерживает стандартный TTS, который в четыре раза дешевле и также используется в качестве запасного варианта для некоторых языков, которые еще не имеют нейронной поддержки. Это все еще неплохо, хотя и не совсем на уровне нейронного движка.

Вы также можете предоставить Полли пользовательские словари, которые позволят вам изменить произношение определенных слов, чтобы настроить ответ, который вы получаете, или исправить ошибки с помощью механизма преобразования текста в речь. Вы также можете использовать язык разметки синтеза речи (SSML) в качестве входных данных, что дает точный контроль над выходными данными.

Для начала перейдите в Polly Console. Эта услуга чрезвычайно проста — просто дайте Полли текст, который вы хотите преобразовать, выберите язык и выберите голос, который вы хотите использовать. Вы можете нажать кнопку «Прослушать речь», чтобы просмотреть результаты:

Вы можете скачать файл в формате MP3 отсюда или сохранить его на S3. Если вы конвертируете более 3000 символов, вам придется сохранить входной файл на S3.

Конечно, пользоваться таким сервисом из консоли не так уж и полезно. Скорее всего, вы захотите получить программный доступ с помощью AWS API или CLI. Здесь мы рассмотрим интерфейс командной строки, но вы можете прочитать документацию по API для Polly, чтобы узнать, как это настроить.

Команда aws polly содержит все элементы управления для работы с Polly. Вы можете получить список всех поддерживаемых голосов с помощью describe-voices, который вы, вероятно, захотите передать в jq:

aws polly describe-voices | jq '.Voices'

Команда synthesize-speech преобразует текст с учетом нескольких параметров:

aws polly synthesize-speech 
  --output-format mp3 
  --voice-id Joanna 
  --text 'Text to read' 
  example.mp3

Это загружает MP3 локально. Если вы хотите создать задачу, которая читает и записывает данные из S3, используйте start-speech-synchronous-task:

aws polly start-speech-synthesis-task 
  --engine neural
  --region us-west-1 
  --endpoint-url "https://polly.us-west-1.amazonaws.com/" 
  --output-format mp3 
  --output-s3-bucket-name your-bucket-name 
  --output-s3-key-prefix optional/prefix/path/file 
  --voice-id Joanna 
  --text file://text_file.txt

Это считывает входные данные из текстового файла на диске и выводит в корзину, которую вы можете указать в определенной папке.

Если вы думаете об использовании Polly для создания чат-бота, вы можете заглянуть в AWS Lex, сервис управляемых чат-ботов, который использует Polly для синтеза речи.