Модели синтеза речи

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

В Yandex SpeechKit доступны модели general и livetts. Синтез LiveTTS также можно использовать через Realtime API.

Сравнение моделей

Модель синтеза

Голоса

Интерфейсы

Особенности

general

Голоса модели general

SpeechKit API v1 и API v3, Realtime API в совместимых моделях

Поддерживает все настройки синтеза, доступные в выбранной версии API. В API используются варианты general:deprecated, general и general:rc.

livetts

Голоса LiveTTS

SpeechKit API v3, Realtime API в моделях с синтезом LiveTTS

Воспроизводит естественный темп речи, интонационные переходы, паузы и эмоциональные акценты. Поддерживает только новые голоса LiveTTS.

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

LiveTTS в API v3

Чтобы использовать LiveTTS в методе UtteranceSynthesis, передайте в поле model значение livetts. Голос и амплуа передавайте отдельно в параметрах hints.voice и hints.role.

Например:

{
  "model": "livetts",
  "text": "Здравствуйте! Чем я могу вам помочь?",
  "hints": [
    {
      "voice": "sofia"
    },
    {
      "role": "support"
    }
  ],
  "loudnessNormalizationType": "LUFS"
}

Для модели livetts в методе UtteranceSynthesis недоступны:

  • text_template и переменные текстового шаблона;
  • audio_template и переменные аудиошаблона;
  • speed;
  • pitch_shift;
  • duration;
  • нормализация громкости MAX_PEAK.

Чтобы использовать LiveTTS в методе StreamSynthesis, передайте значение livetts в поле options.model. Голос и амплуа передавайте в полях options.voice и options.role. Для LiveTTS недоступны speed, pitch_shift и нормализация громкости MAX_PEAK.

Ответы UtteranceSynthesisResponse и StreamSynthesisResponse для модели livetts не содержат word_timings. Поля audio_chunk и text_chunk не возвращаются вместе в одном сообщении. Тип содержимого сообщения указан в поле chunk_type.

Подробнее о параметрах и ответах методов читайте в справочниках UtteranceSynthesis и StreamSynthesis.

LiveTTS в Realtime API

В Realtime API синтез LiveTTS доступен в двух сценариях:

  • синтез текста без LLM и аудиовхода;
  • создание голосового агента, который принимает аудио или текст, обрабатывает запрос с помощью LLM и отвечает синтезированной речью.

Модель Realtime задается в URI подключения. Голос, амплуа и формат аудио задаются в объекте session.audio.output: голос — в поле voice, амплуа — в поле role, формат — в поле format. Изменение скорости речи для моделей Realtime с синтезом LiveTTS сейчас не поддерживается, поэтому параметр speed рекомендуется не задавать.

Чтобы синтезировать текст без LLM, следуйте инструкции Синтезировать речь через Realtime API.

Примеры использования

Предыдущая
Следующая