Amazon Polly: Полное руководство по текст в речь в AWS

В эпоху пост-GPT голосовое взаимодействие становится все более важным, от виртуальных помощников до функций доступности, которые помогают пользователям с нарушениями зрения ориентироваться в цифровом контенте. Amazon Polly не только упрощает добавление функции преобразования текста в речь, но и позволяет создать высоко персонализированный и увлекательный пользовательский опыт, поддерживая множество языков и широкий выбор голосов.

Этот учебник нацелен на то, чтобы научить читателей настраивать Amazon Polly и интегрировать его в приложения, раскрывая потенциал голосового взаимодействия и открывая путь к более динамичным и доступным цифровым опытам.

Что такое Amazon Polly?

Amazon Polly — это сервис преобразования текста в речь (TTS), который использует передовые технологии глубокого обучения для синтеза естественно звучащей речи. Он выделяется как один из самых сложных сервисов TTS, доступных, позволяя разработчикам создавать приложения, которые могут “говорить” удивительно человечно. Сервис поддерживает более 60 голосов на более чем 30 языках, обслуживая глобальную аудиторию с разнообразными языковыми потребностями.

Одной из ключевых особенностей Amazon Polly является использование технологии нейронного текста в речь (NTTS), которая обеспечивает более выразительные и естественные голоса по сравнению с традиционными системами синтеза речи. Это включает в себя настройку таких атрибутов речи, как тон, громкость и скорость речи, предоставляя разработчикам точный контроль над аудиовыходом. Например, разработчики могут сделать речь более веселой, взволнованной или эмпатичной, улучшая эмоциональное взаимодействие с пользователями.

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

Будь то создание голосового виртуального помощника, платформы аудиокниг или устройства IoT с голосовыми возможностями, Amazon Polly обеспечивает гибкость и масштабируемость, необходимые для воплощения ваших идей в жизнь.

Настройка Amazon Polly

Теперь давайте начнем и настроим Amazon Polly! В этом разделе предоставляется обзор того, как это сделать.

Шаг 1: Создание учетной записи AWS

Для использования Amazon Polly вам сначала понадобится учетная запись AWS. Если у вас ее еще нет, перейдите на страницу регистрации в AWS и следуйте указаниям для создания учетной записи. Убедитесь, что вы предоставляете действительную информацию о платежах, поскольку услуги AWS, включая Polly, оплачиваются в зависимости от использования.

Настройка IAM для разрешений

Я рекомендую создать пользователя IAM (Identity and Access Management) с необходимыми разрешениями для управления ресурсами Amazon Polly. Назначьте политику AmazonPollyFullAccess, чтобы пользователь мог получить доступ ко всем функциям Polly.

Шаг 2: Переход в Amazon Polly

После входа в консоль управления AWS, найдите Polly в строке поиска вверху.

Меню поиска в консоли AWS.

Нажмите на службу Amazon Polly, чтобы перейти в интерфейс Polly.

Использование Amazon Polly для преобразования текста в речь

Обычно разработчики используют API Amazon Polly для интеграции функционала текст в речь непосредственно в свои приложения. Однако вы также можете использовать интерфейс AWS Polly, чтобы быстро попробовать разные голоса и настройки без написания кода. Для этого нажмите на Попробовать Polly кнопку в интерфейсе Polly. Эта кнопка позволяет экспериментировать с различными текстовыми входами, типами голоса и форматами вывода из консоли AWS, что облегчает изучение возможностей Polly перед их программной реализацией.

Базовое преобразование текста в речь

Для выполнения базового преобразования текста в речь введите предложение, например, “Привет, добро пожаловать в Amazon Polly!” в поле ввода. Вы также можете выбрать тип движка (например, генеративный, длинный, нейронный или стандартный), язык и голос. Нажмите на Прослушать, чтобы немедленно прослушать результат, или нажмите Скачать, чтобы загрузить его в виде файла .mp3.

Интерфейс Amazon Polly в консоли AWS.

Настройка SDK AWS для текстового преобразования в речь.

Вам нужно настроить AWS SDK для интеграции Amazon Polly в ваши приложения программным способом. Это позволит взаимодействовать с Amazon Polly непосредственно из вашего кода, обеспечивая более динамичные и настраиваемые функции текст в речь.

В этом руководстве мы будем использовать Python SDK (boto3). Установите boto3 через pip:

pip install boto3

Затем настройте ваши учетные данные AWS с помощью AWS CLI:

aws configure

Команда aws configure в CLI.

Генерация речи через SDK

Вот простой сценарий на Python для преобразования текста в речь с использованием Amazon Polly:

import boto3 polly = boto3.client('polly') response = polly.synthesize_speech( Text='Hello, this is a test of Amazon Polly.', OutputFormat='mp3', VoiceId='Joanna' ) with open('speech.mp3', 'wb') as file: file.write(response['AudioStream'].read())

Этот сценарий генерирует речь из текста и сохраняет ее в виде файла mp3.

Расширенные функции Amazon Polly

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

Используя SSML (язык разметки синтеза речи)

SSML (язык разметки синтеза речи) позволяет разработчикам контролировать различные аспекты речи, такие как тон, скорость, громкость и акцент, делая звуковой вывод более выразительным и естественным.

Используя теги SSML, вы можете добавлять паузы, настраивать стили чтения, а также даже произносить акронимы по буквам. Эта гибкость особенно полезна в сценариях, таких как рассказы, платформы электронного обучения и приложения обслуживания клиентов, где тон и стиль доставки значительно влияют на вовлеченность пользователя.

Например, вы можете выделять определенные слова для передачи важности или изменять скорость чтения для инструкционного контента, чтобы обеспечить ясность.

Вот как использовать SSML с помощью SDK Polly:

response = polly.synthesize_speech( Text="<speak><emphasis level='strong'>Important</emphasis> message!</speak>", TextType='ssml', OutputFormat='mp3', VoiceId='Matthew' ) # Сохранить аудиофайл with open('speech_ssml.mp3', 'wb') as file: file.write(response['AudioStream'].read())

Этот пример подчеркивает слово “Важно”, чтобы оно выделялось в устной речи, усиливая эмоциональное воздействие на слушателя. SSML также поддерживает продвинутые функции, такие как произношение фонем, шепот и добавление звуковых эффектов, предоставляя разработчикам полный контроль над голосовым опытом.

Знаки речи для синхронизации губ

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

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

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

Например, вы можете анимировать движения рта персонажа синхронно с произнесенными словами или выделять текст в реальном времени по мере его озвучивания. Вот как запросить знаки речи:

response = polly.synthesize_speech( Text='Hello, world!', OutputFormat='json', VoiceId='Emma', SpeechMarkTypes=['word'] ) # Сохраните знаки речи в файл JSON with open('speech_marks.json', 'wb') as file: file.write(response['AudioStream'].read())

Вывод JSON:

{"time":6,"type":"word","start":0,"end":5,"value":"Hello"} {"time":714,"type":"word","start":7,"end":12,"value":"world"}

В приведенном выше примере запрашиваются знаки речи для каждого слова, возвращается объект JSON с временными метками и текстовыми данными. Затем разработчики могут использовать эту информацию для синхронизации анимаций кадр за кадром, делая аудиовизуальный опыт более увлекательным и реалистичным.

Потоковая передача в реальном времени с помощью Amazon Polly

Для приложений в реальном времени, таких как голосовые помощники, прямые трансляции или интерактивные чат-боты, Amazon Polly поддерживает потоковую передачу с использованием протокола WebSocket или медиаплееров, поддерживающих HLS (HTTP Live Streaming).

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

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

Управление ресурсами Amazon Polly

Эффективное управление ресурсами Amazon Polly критически важно для оптимизации производительности, затрат и масштабируемости. Путем стратегического хранения речевых файлов и отслеживания использования вы можете обеспечить эффективное использование ресурсов, сохраняя высококачественный пользовательский опыт.

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

Создание и управление звуковыми файлами

Amazon Polly позволяет сохранять синтезированную речь в Amazon S3 для масштабируемого хранения и легкого извлечения. Этот подход особенно полезен для приложений с повторяющимися аудио-требованиями, таких как платформы электронного обучения, аудиокниги или боты технической поддержки, где можно повторно использовать аудиофайлы вместо синтезирования речи каждый раз.

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

s3 = boto3.client('s3') s3.upload_file('speech.mp3', 'your-bucket-name', 'speech.mp3')

Мониторинг использования и затрат

Используйте панель управления AWS Billing and Cost Management для эффективного мониторинга использования и затрат. Эта панель предоставляет подробные разбивки затрат, отчеты об использовании и возможность настройки бюджетов и оповещений для избежания неожиданных расходов.

Мониторинг затрат особенно важен при использовании нейронных голосов, которые дороже стандартных голосов. Вы также можете отслеживать метрики использования, такие как количество синтезированных символов и частота вызовов API, что поможет вам оптимизировать использование ресурсов.

Пример панели управления затратами AWS.

Лучшие практики использования Amazon Polly

При использовании Amazon Polly соблюдение лучших практик обеспечивает оптимальную производительность, эффективность затрат и пользовательский опыт. Вот несколько ключевых рекомендаций:

Выбор правильного голоса

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

  • Нейронные голоса обеспечивают более естественный и выразительный звук, но стоят дороже. Поэтому они идеально подходят для приложений, требующих высокой эмоциональной вовлеченности, таких как аудиокниги или рассказы.
  • Стандартные голоса предлагают экономически эффективное решение для утилитарных приложений, таких как чат-боты для поддержки клиентов. Тестирование различных голосов с учетом отзывов пользователей помогает выбрать наиболее подходящий голос для потребностей вашего приложения.

Оптимизация вывода речи

Используйте SSML (Язык разметки синтеза речи), чтобы улучшить качество речи, регулируя параметры высоты, скорости и громкости. Вы можете создать более динамичный и увлекательный аудиопроект, точно настраивая эти параметры.

Например, замедление скорости речи улучшает ясность для учебного контента, в то время как акцентирование ключевых фраз улучшает повествование. Экспериментирование с различными тегами SSML помогает достичь наиболее естественного звучания речи.

Снижение затрат

Следует рассмотреть стратегии, такие как управление частотой генерации речи и хранение часто используемых аудиофайлов в S3 для повторного использования, чтобы оптимизировать затраты при использовании Amazon Polly. Этот подход минимизирует повторные вызовы API и снижает затраты на синтез.

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

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

Заключение

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

В этом руководстве мы рассмотрели основные функции Amazon Polly, начиная от настройки AWS SDK до генерации речи программным путем. Мы также рассмотрели расширенные возможности, такие как использование SSML для настраиваемого вывода речи, использование меток речи для синхронизации губ и анимации, и реализацию потоковой передачи данных для динамических голосовых приложений.

Интеграция Amazon Polly в ваши приложения позволяет создавать высокоинтерактивные и персонализированные голосовые опыты, ориентированные на глобальную аудиторию. Будь то создание виртуальных помощников, аудиокниг, образовательных платформ или инструментов доступности, Amazon Polly предоставляет гибкость, масштабируемость и передовые функции, необходимые для реализации ваших идей.

Если вы новичок в AWS и хотите укрепить свои навыки в облачных технологиях, рассмотрите возможность изучения этих связанных курсов:

Source:
https://www.datacamp.com/tutorial/amazon-polly