Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Yandex SpeechKit
  • Обзор технологий SpeechKit
  • Начало работы
  • Распознавание речи
    • О технологии
    • Потоковое распознавание
    • Распознавание аудиофайлов
      • Синхронное распознавание
      • Асинхронное распознавание
    • Поддерживаемые языки
    • Расширение модели распознавания речи
  • Синтез речи
    • О технологии
    • Список голосов
    • Разметка текста
      • TTS-разметка
      • Разметка SSML
      • Список поддерживаемых фонем в SSML
    • SpeechKit Brand Voice
      • О технологии SpeechKit Brand Voice
      • Формат входных данных Brand Voice Adaptive
  • Форматы аудио
  • Интеграция телефонии
  • Использование API
    • Аутентификация в API
    • Формат ответа
    • Диагностика ошибок
    • Справочники API распознавания
      • API v2
        • API потокового распознавания
        • API синхронного распознавания
        • API асинхронного распознавания
      • API v3 gRPC (англ.)
        • Overview
        • Recognizer
    • Примеры использования API распознавания
      • Потоковое распознавание API v3
      • Автоматическое определение языка — API v3
      • Потоковое распознавание API v2
      • Синхронное распознавание API v2
      • Асинхронное распознавание формата LPCM — API v2
      • Асинхронное распознавание формата OggOpus — API v2
    • Справочники API синтеза
      • API v1
      • API v3 gRPC (англ.)
        • Overview
        • Synthesizer
    • Примеры использования API синтеза
      • Синтез API v3
      • Синтезировать речь в формате WAV — API v1
      • Синтезировать речь в формате OggOpus — API v1
      • Синтезировать SSML-текст — API v1
  • SpeechKit Hybrid
    • О технологии
    • Системные требования
  • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
  • Релизы
    • Релизы распознавания
    • Релизы синтеза
    • Архив релизов
  • Вопросы и ответы
    • Общие вопросы
    • Распознавание речи
    • Синтез речи
    • Все вопросы на одной странице
  1. Синтез речи
  2. О технологии

Синтез речи

Статья создана
Yandex Cloud
  • Возможности синтеза
  • Языки и голоса
    • Амплуа
  • Управление произношением
  • Настройки синтеза
    • Скорость синтезированной речи
    • Нормализация громкости
    • Формат синтезированного аудиофайла

Синтез речи в Yandex SpeechKit позволяет озвучить любой текст на нескольких языках.

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

Сервис доступен по адресу tts.api.cloud.yandex.net:443.

Возможности синтеза

Работа со SpeechKit осуществляется через API. Подробнее о принципах работы API Yandex Cloud см. в документе Концепции API.

Синтез SpeechKit имеет два API — API v1 (REST) и API v3 (gRPC).

API v1 API v3
Спецификация REST gRPC
Выбор голоса Параметр voice Параметр hint: voice
Выбор языка Зависит от голоса
Параметр lang
Зависит от голоса, в запросе явно не указан
Задание амплуа Зависит от голоса
Параметр emotion
Зависит от голоса
Параметр hint: role
Управление произношением SSML
TTS
TTS
Скорость произношения Параметр speed Параметр hint: speed
Настройка громкости Нет Параметр loudness_normalization_type
Формат результирующего аудио Параметр format Параметр output_audio_spec
Задание параметров LPCM Параметр sampleRateHertz Параметр output_audio_spec: raw_audio
Синтез по шаблону Нет Параметр text_template
Способ тарификации Суммарное количество символов в запросах По запросам
Автоматическое разбиение длинных фраз Не требуется Параметр unsafe_mode

Языки и голоса

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

Если ни один голос не подходит вашему бизнесу, SpeechKit может создать уникальный — специально для вас. Подробнее об этом — в разделе Yandex SpeechKit Brand Voice.

SpeechKit может синтезировать речь на разных языках. Каждый голос предназначен для синтеза речи на определенном языке. Голоса могут произносить и текст на иностранном языке, однако в этом случае качество синтезированной речи будет хуже: диктор> будет говорить с акцентом, а слова могут быть синтезированы с ошибками.

Амплуа

Синтезированная речь будет звучать по-разному в зависимости от выбранного амплуа. Амплуа — это характер произношения для одного и того же диктора. Для разных голосов доступны разные наборы амплуа. Попытка использовать амплуа, которого нет у выбранного голоса, вызовет ошибку сервиса.

Управление произношением

Чтобы контролировать произношение в синтезированной речи, явно размечайте исходный текст. SpeechKit может синтезировать речь из текста, размеченного по правилам Speech Synthesis Markup Language (SSML) или TTS-разметки. Эти способы разметки позволяют настроить длительность пауз, произношение отдельных звуков и многое другое. SSML и TTS-разметка отличаются параметрами передачи данных:

  • SSML поддерживается только в запросах API v1. Чтобы передать текст в формате SSML, укажите параметр ssml в теле запроса, а текст оберните в тег <speak>. Подробнее о тегах SSML читайте в разделе Разметка SSML.
  • TTS-разметка поддерживается в API v1 и API v3. В запросах API v1 передавайте текст, размеченный по правилам TTS, в параметре text в теле запроса. API v3 не требует специальных параметров и считает любой переданный текст размеченным по правилам TTS. Подробнее об использовании TTS-разметки читайте в разделе TTS-разметка текста.

Настройки синтеза

Вы можете настраивать не только произношение, но и технические характеристики синтезируемой речи.

Скорость синтезированной речи

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

По умолчанию скорость генерируемой речи соответствует средней скорости речи человека.

Нормализация громкости

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

SpeechKit поддерживает два типа нормализации:

  • Пиковая нормализация MAX_PEAK, при которой уровень звукового сигнала поднимается до максимально возможного значения для цифрового звука без появления искажений.
  • Нормализация LUFS — взвешенная нормализация на основе стандарта EBU R 128, в соответствии с которым нормализация громкости производится относительно цифровой полной шкалы.

Тип нормализации можно задать в параметре loudness_normalization_type. По умолчанию SpeechKit использует тип LUFS.

Уровень нормализации задается параметром hint: volume. Возможные значения зависят от типа нормализации:

  • для MAX_PEAK параметр может принимать значения в интервале (0;1], значение по умолчанию — 0.7;
  • для LUFS параметр изменяется в интервале [-149;0), значение по умолчанию — -19.

Если значение уровня нормализации не попадает в интервал, поддерживаемый уровнем нормализации, сервер SpeechKit вернет ошибку InvalidArgument.

Формат синтезированного аудиофайла

Вы можете выбрать формат аудиофайлов, в котором SpeechKit будет синтезировать речь.

Полный список доступных форматов и их характеристики см. в разделе Поддерживаемые форматы аудио.

См. также

  • Попробуйте синтез речи с помощью демо на странице сервиса.
  • Ознакомьтесь с параметрами метода API v1 и запросов API v3.
  • Посмотрите примеры использования API SpeechKit:
    • Синтезировать речь в формате OggOpus с помощью API v1
    • Синтезировать речь в формате WAV с помощью API v1
    • Синтезировать речь из текста в формате SSML с помощью API v1

Была ли статья полезна?

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Возможности синтеза
  • Языки и голоса
  • Амплуа
  • Управление произношением
  • Настройки синтеза
  • Скорость синтезированной речи
  • Нормализация громкости
  • Формат синтезированного аудиофайла