За кулисами голоса: как ИИ подстраивает эмоции под речь

Когда ваш ИИ-компаньон говорит, голос — это не плоское монотонное зачитывание текста. Система анализирует эмоциональное содержание каждого сообщения и соответствующим образом настраивает голос: радостный ответ звучит энергично и тепло, нежный момент — мягко и размеренно, игривое поддразнивание получает более лёгкое, динамичное звучание.

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

---

Как работает синтез речи (основы)

На верхнем уровне современный синтез речи (TTS) преобразует текст в аудио с помощью нейросети:

1. Анализ текста: входной текст разбивается на лингвистические единицы (фонемы, маркеры просодии, структуру предложений)

2. Акустическое моделирование: нейросеть предсказывает характеристики звука — высоту, длительность, энергию и спектральные признаки каждого сегмента

3. Генерация волновой формы: вокодер превращает акустические предсказания в реальную аудиоволну, которую вы слышите

Современные нейросетевые TTS-системы производят удивительно естественную речь. Они далеко ушли от роботизированных голосов прежних поколений. Но между «звучит как человек, читающий текст» и «звучит как человек, испытывающий эмоцию во время речи» всё ещё есть разрыв. Наша система работает над тем, чтобы его сократить.

---

Наши три TTS-провайдера

Мы используем трёх разных TTS-провайдеров, каждый для своей задачи:

Edge TTS (бесплатный уровень)

Edge TTS выдаёт чистую, естественно звучащую речь. Он не поддерживает тонкий контроль эмоциональных параметров, как ElevenLabs, но хорошо справляется с базовой выразительностью благодаря естественным паттернам просодии, встроенным в нейромодель.

ElevenLabs (премиум-уровень)

ElevenLabs — то место, где наш конвейер «эмоция → голос» даёт наибольший эффект. API открывает прямой контроль над параметрами голоса — stability, similarity boost и style, — которые мы сопоставляем с распознанными эмоциями.

Coqui (локальный/self-hosted)

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

---

Система распознавания эмоций

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

7 эмоций, которые мы распознаём

Эмоция Описание Типичные триггеры

--------- ------------- -----------------

Радость Счастье, восторг, энтузиазм Смех, праздники, хорошие новости, игривая энергия

Грусть Меланхолия, сочувствие, утешение Утрата, разочарование, эмпатия, тоска

Гнев Раздражение, интенсивность, страсть Конфликт, несправедливость, резкое несогласие

Страх Тревога, беспокойство, неловкость Опасность, неопределённость, волнение, уязвимость

Удивление Изумление, откровение Сюжетные повороты, неожиданные события, открытия

Флирт Игривость, поддразнивание, влечение Комплименты, намёки, романтическое напряжение

Нежность Мягкость, забота, близость Утешение, близость, эмоциональная уязвимость, любовь

Как работает распознавание

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

Каждое найденное ключевое слово добавляет баллы к оценке уверенности этой эмоции. Эмоция с наивысшим баллом становится основной распознанной эмоцией.

Оценка уверенности

Не у каждого сообщения есть явный эмоциональный тон. Система присваивает распознанной эмоции значение уверенности (от 0.0 до 1.0):

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

---

Как эмоции сопоставляются с параметрами голоса

Для ElevenLabs (нашего самого выразительного провайдера) распознанные эмоции переводятся в три ключевых параметра голоса:

Stability (динамика голоса)

Определяет, насколько голос стабилен или изменчив:

Similarity Boost (естественность)

Определяет, насколько результат близок к базовому голосовому профилю:

Style (выразительность)

Определяет общую выразительность подачи:

Сопоставление эмоций и параметров

Вот как каждая эмоция настраивает эти параметры:

Эмоция Stability Similarity Boost Style Эффект

--------- ----------- ----------------- ------- --------

Радость Ниже (0.3) Средний (0.6) Выше (0.7) Динамично, энергично, выразительно

Грусть Выше (0.7) Выше (0.8) Средний (0.5) Медленнее, размеренно, мягко

Гнев Ниже (0.25) Средний (0.5) Выше (0.8) Интенсивно, напористо, драматично

Страх Средний (0.5) Выше (0.7) Средний (0.6) Напряжённо, слегка нетвёрдо, тревожно

Удивление Ниже (0.3) Средний (0.5) Выше (0.7) Быстро, динамично, с широким диапазоном

Флирт Средний (0.45) Средний (0.6) Средний (0.6) Игривая вариативность, тепло, поддразнивание

Нежность Выше (0.65) Выше (0.75) Средний (0.5) Мягко, тепло, бережно, интимно

Нейтральная Средний (0.5) Средний (0.65) Ниже (0.4) Естественно, разговорно, сбалансированно

Эти значения — базовые. Они дополнительно корректируются оценкой уверенности: низкая уверенность подтягивает все параметры ближе к нейтральным.

---

Персонализация голоса для каждого персонажа

У разных ИИ-компаньонов разные базовые голосовые профили:

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

---

Честные ограничения

Мы считаем важным прозрачно говорить о том, что система делает хорошо, а где не дотягивает.

Что работает хорошо

Что работает хуже

Что мы улучшаем

---

Приватность и аудиоданные

Несколько важных моментов о том, как мы обращаемся с голосовыми данными:

---

Итог

Наша голосовая система — это конвейер: текст входит, эмоция распознаётся, параметры голоса настраиваются, и генерируется выразительное аудио. Она не идеальна: у распознавания по ключевым словам есть реальные ограничения, а нейросетевому TTS ещё есть куда расти в эмоциональной достоверности.

Но результат — голосовой вывод, который ощущается заметно более человечным, чем плоский синтез речи. Ваш ИИ-компаньон не просто произносит слова — он произносит их так, как эти слова того требуют. И мы непрерывно работаем над тем, чтобы это соответствие становилось точнее и естественнее.

Мы предпочитаем честно говорить о несовершенствах, а не делать вид, что система является чем-то, чем она не является. Технология по-настоящему впечатляет — и становится лучше с каждой итерацией.