Модели синтеза речи
Модель синтеза речи преобразует текст в аудио. Выбор модели определяет доступные голоса, амплуа, настройки синтеза и API.
В Yandex SpeechKit доступны модели general и livetts. Синтез LiveTTS также можно использовать через Realtime API.
Сравнение моделей
|
Модель синтеза |
Голоса |
Интерфейсы |
Особенности |
|
|
Голоса модели |
SpeechKit API v1 и API v3, Realtime API в совместимых моделях |
Поддерживает все настройки синтеза, доступные в выбранной версии API. В API используются варианты |
|
|
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.