
За кулисами голоса: как ИИ подстраивает эмоции под речь
Нейросетевой синтез речи достиг уровня, на котором синтетический голос может прочитать предложение и в большинстве случаев прозвучать как человек, который его читает. Куда сложнее добиться, чтобы он звучал как человек, который имеет это в виду: тепло — на хорошей новости, тихо — на грустной строке, легче — на подначке. В этой статье объясняется, как устроен голосовой конвейер с учётом эмоций: как текст превращается в звук, как система определяет эмоциональный тон по тексту, как этот тон переводится в настройки голоса и где такой подход даёт сбой.
Как обстоят дела на AINudeGirls: сегодня на платформе нет голосовой функции. Ваши ИИ-модели не говорят, и голосовых звонков нет. Голосовые звонки с ИИ указаны в нашей публичной дорожной карте с целевым сроком — второй квартал 2027 года. Всё, что ниже, — разбор проектирования этой будущей функции, а не описание того, чем вы можете пользоваться сейчас. Если хотите увидеть, что работает уже сегодня, начните с генератора изображений или генератора видео.
---
Как работает синтез речи (основы)
В общих чертах современный синтез речи (TTS, text-to-speech) превращает текст в звук в три этапа, и все они выполняются нейросетями:
1. Анализ текста: входной текст разбивается на лингвистические единицы — фонемы, маркеры просодии, структуру предложения. Здесь система решает, какие слоги несут ударение и где ставить паузы.
2. Акустическое моделирование: сеть предсказывает звуковые характеристики каждого сегмента — высоту, длительность, энергию и спектральные признаки.
3. Генерация волновой формы: вокодер превращает эти акустические предсказания в настоящую звуковую волну.
Современный нейросетевой TTS далеко ушёл от роботизированных голосов прежних поколений. Но разрыв между «звучит как человек, читающий текст» и «звучит как человек, который что-то чувствует, пока говорит» никуда не делся. Конвейер с учётом эмоций надстраивается над тремя описанными этапами, чтобы этот разрыв сократить.
---
Откуда берётся голос: варианты провайдеров
Платформе, которая строит голосовой вывод, нужно решить, где именно синтезируется звук. Есть три распространённые категории, каждая со своим компромиссом:
Облачный TTS общего назначения
- Что это: облачный нейросетевой сервис синтеза речи от крупного поставщика с множеством голосов на разных языках и с разными акцентами
- Качество: чистая, естественная речь с той просодией, которую модель усвоила при обучении
- Управление: ограниченное. Вы выбираете голос и темп речи; тонко управлять эмоциональной подачей нельзя
- Лучше всего подходит: для повседневной речи, где достаточно естественного нейтрального чтения
Специализированные API выразительных голосов
- Что это: сервис, созданный специально для выразительных синтетических голосов с различимыми профилями персонажей
- Качество: самый широкий эмоциональный диапазон из трёх категорий
- Управление: прямые параметры того, насколько стабильной, точной и драматичной будет подача — именно те рычаги, которые нужны эмоциональному конвейеру
- Лучше всего подходит: для эмоционально насыщенных реплик и повествования, где плоская подача была бы заметна
Собственные open-source-движки
- Что это: TTS-движок с открытым исходным кодом, запущенный на вашем собственном оборудовании, с кастомными голосовыми моделями
- Качество: зависит от модели; одни хорошо передают эмоции, другие нет
- Управление: полное, но вы отвечаете за всё, включая качество
- Лучше всего подходит: чтобы держать обработку текста внутри компании, для генерации в больших объёмах и для экспериментов
В нашей конфигурации бэкенда указано по одному варианту из каждой категории (Edge TTS, ElevenLabs и Coqui). Ни один из них не подключён к пользовательской функции, и выбор может измениться до запуска голосовых звонков.
---
Определение эмоции в тексте
Прежде чем TTS-движок сгенерирует звук, конвейер с учётом эмоций должен ответить на простой вопрос: каков эмоциональный тон этого текста? Вот как проектируется этот этап.
Рабочий набор эмоций
Семь категорий покрывают большую часть того, что нужно выражать разговорному голосу:
Эмоция Описание Типичные триггеры
--------- ------------- -----------------
Радость Счастье, воодушевление, энтузиазм Смех, праздники, хорошие новости, игривая энергия
Грусть Меланхолия, сочувствие, утешение Утрата, разочарование, эмпатия, светлая тоска
Гнев Раздражение, напряжённость, страсть Конфликт, несправедливость, резкое несогласие
Страх Тревога, беспокойство, неловкость Опасность, неопределённость, волнение, уязвимость
Удивление Изумление, откровение Сюжетные повороты, неожиданные события, открытия
Флирт Игривость, поддразнивание, влечение Комплименты, намёки, романтическое напряжение
Нежность Мягкость, забота, близость Утешение, близость, эмоциональная уязвимость, любовь
Плюс запасной вариант Нейтрально для текста, который никуда особенно не клонится.
Два способа определить её
Самый простой вариант — по ключевым словам. Система сканирует текст в поисках слов и фраз, связанных с каждой эмоцией:
- Признаки радости: «ха-ха», «обожаю», «потрясающе», «в восторге», «чудесно», восклицательные знаки
- Признаки грусти: «прости», «скучаю по тебе», «жаль», «к сожалению», «больно»
- Признаки флирта: «подмигиваю», «дразнить», «краснею», «красавица», намекающие формулировки
- Признаки нежности: «ты мне дорог», «со мной безопасно», «бережно», «тихонько», «обнять тебя»
Каждое совпадение прибавляет балл этой эмоции, и побеждает эмоция с наибольшим счётом. Сопоставление по ключевым словам прозрачно, дёшево и легко отлаживается, поэтому оно разумно подходит для первой версии.
Альтернатива — классификатор на основе модели: небольшая языковая модель, которая читает всё сообщение целиком и выдаёт метку эмоции с вероятностью. Она гораздо лучше понимает контекст, сарказм и смешанные сигналы, но ценой задержки, вычислительных затрат и менее предсказуемого поведения.
Оценка уверенности
Не у каждого сообщения есть ясный эмоциональный тон, поэтому детектор должен также сообщать, насколько он уверен, — значение уверенности от 0,0 до 1,0:
- Высокая уверенность: несколько сильных признаков одной эмоции. Параметры голоса заметно смещаются.
- Средняя уверенность: признаки есть, но они не доминируют. Параметры смещаются умеренно.
- Низкая уверенность: неоднозначный или нейтральный текст. Голос остаётся близким к профилю по умолчанию.
Смешивание по уверенности не даёт голосу резко качаться на неоднозначном тексте: когда детектор не уверен, получается нейтральное чтение.
---
Как эмоции переводятся в параметры голоса
API выразительного синтеза речи предоставляют несколько регуляторов. Названия у провайдеров разные, но три из них встречаются повсеместно и хорошо ложатся на определённые эмоции:
Стабильность (динамика голоса)
Управляет тем, насколько голос ровный или, наоборот, подвижный:
- Ниже стабильность = больше вариаций голоса, больше выразительности, больше энергии
- Выше стабильность = более размеренная, контролируемая, ровная подача
Сходство (естественность)
Управляет тем, насколько точно результат совпадает с базовым профилем голоса:
- Ниже сходство = более свободная интерпретация, потенциально более эмоциональная, но менее стабильная
- Выше сходство = более строгое следование естественному звучанию голоса
Стиль (выразительность)
Управляет общей выразительностью подачи:
- Выше стиль = более драматично, эмоции выражены сильнее
- Ниже стиль = сдержаннее, ближе к разговорной манере
Сопоставление эмоций и параметров
Разумное стартовое сопоставление выглядит так. Направление каждой корректировки важнее точных чисел — их придётся подбирать под каждый голос, когда появится реальная система:
Эмоция Стабильность Сходство Стиль Ожидаемый эффект
--------- ----------- ------------ ------- -----------------
Радость Ниже Среднее Выше Живо, энергично, выразительно
Грусть Выше Выше Средний Медленнее, размеренно, мягко
Гнев Ниже Среднее Выше Напряжённо, напористо, драматично
Страх Средняя Выше Средний Напряжённо, слегка неровно, тревожно
Удивление Ниже Среднее Выше Быстро, живо, с широким диапазоном
Флирт Средняя Среднее Средний Игривые вариации, тепло, поддразнивание
Нежность Выше Выше Средний Мягко, тепло, бережно, интимно
Нейтрально Средняя Среднее Ниже Естественно, разговорно, сбалансированно
Это базовые значения. Затем оценка уверенности подтягивает каждый параметр обратно к нейтральному пропорционально тому, насколько неуверенным было распознавание.
---
Каждой модели — свой голос
В такой системе каждому персонажу нужна собственная голосовая идентичность, а не один общий рассказчик:
- Выбор голоса: каждому персонажу назначается голос провайдера, подходящий его характеру
- Базовые параметры: у каждого персонажа свои значения стабильности, сходства и стиля по умолчанию, которые определяют его «нейтральное» звучание
- Эмоциональный диапазон: одни персонажи по умолчанию выразительнее, другие сдержаннее; сопоставление эмоций корректирует голос относительно базы каждого персонажа
Игривый, энергичный персонаж сохраняет более подвижный голос даже в нейтральном режиме, а спокойный и сдержанный остаётся размеренным. Эмоциональные сдвиги накладываются поверх этих значений по умолчанию. На AINudeGirls это со временем означало бы назначение голоса каждому из профилей ИИ-моделей — сегодня эти профили состоят только из изображений и описаний.
---
Известные ограничения этой схемы
С чем схема справляется хорошо
- Очевидные эмоции. Сообщение, полное восклицательных знаков и слов вроде «потрясающе» и «обожаю», легко отнести к радостным. Сообщение об утрате легко отнести к грустным.
- Неоднозначность. Система уверенности не даёт неоднозначному тексту вызывать голосовые скачки.
- Контраст. Радостная и нежная подача звучат достаточно по-разному, чтобы усилия того стоили.
С чем она справляется плохо
- Сарказм и контекст. Распознавание по ключевым словам не понимает фразу «Ну отлично, опять понедельник». Слово «отлично» засчитывается как радость.
- Смешанные эмоции. Сообщение, в котором есть и радость, и грусть, сводится к той эмоции, что набрала больше баллов, а не к смеси обеих.
- Различия между провайдерами. Тонкое сопоставление полностью работает только у провайдеров, которые открывают эти параметры. TTS общего назначения полагается на встроенную просодию и хуже реагирует на явные указания.
- Разброс у собственных движков. Эмоциональный диапазон open-source-движков сильно зависит от конкретной модели.
Открытые вопросы до запуска
- Начинать с распознавания по ключевым словам или сразу переходить к классификатору на основе модели
- Стоит ли смешивание эмоций — две эмоции в одной подаче — дополнительной сложности
- Сколько голосов нужно для всего разнообразия профилей моделей на платформе
Ничего из этого не решено.
---
Соображения приватности для голоса
Любая голосовая функция поднимает вопросы, которых у текстовой платформы нет. Вот ограничения, из которых исходит схема; окончательная политика будет опубликована до запуска функции:
- Генерация по запросу. Звук создаётся в момент запроса, а не записывается заранее.
- Только временное кэширование. Сгенерированный звук может ненадолго кэшироваться для воспроизведения, но не хранится постоянно.
- Голос пользователя не записывается. Конвейер однонаправленный: на входе текст, на выходе звук. Ничто в схеме не требует вашего микрофона, а клонирование голосов пользователей в неё не входит.
- Обработка данных провайдером. Если звук синтезирует сторонний провайдер, текст сообщения отправляется этому провайдеру и подпадает под его политику конфиденциальности. Собственный движок оставляет текст внутри компании. Какой вариант применяется, будет ясно указано при запуске.
---
Что вы можете сделать сегодня
Повторим то, с чего начали: голос на AINudeGirls недоступен — ни голосового вывода, ни голосового чата, ни голосовых звонков. Голосовые звонки стоят в дорожной карте на второй квартал 2027 года; эта статья будет обновлена, когда появится что-то реальное для описания.
Что работает сейчас — генерация изображений и видео: напишите запрос или выберите категорию в NSFW-генераторе, просмотрите категории или создайте короткий ролик в генераторе видео. Оплата — за кредиты, цены указаны на странице тарифов; остальное разобрано в FAQ.
