Кот APICODIKAPICODIK
Новости

Говорящий дом на Nemotron: как устроен голосовой персонаж MonsterHouse

Разбираем MonsterHouse: локальный голосовой агент NVIDIA с характером, синтезом речи и анимацией. Как устроен проект и что ещё требует испытаний.

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

В материале NVIDIA на Hugging Face описана интерактивная проекция для Хэллоуина. Дом слушает гостей, отвечает им и становится приветливее, когда слышит вежливые слова. За театральной оболочкой находится локальная система распознавания речи, генерации ответов, озвучивания и лицевой анимации. При этом автор прямо обозначает границы готовности: полноценные испытания с реальными посетителями ещё впереди, автоматическая выдача сладостей остаётся планом, а код самого MonsterHouse не подготовлен к распространению.

Из каких частей собран персонаж

Основой служит NVIDIA Nemotron Voice Agent. Здесь используется каскадная архитектура: отдельные компоненты последовательно превращают речь человека в текст, текст — в ответ, а ответ — в голос и движение рта.

В описанной конфигурации задачи распределены так:

- **Nemotron Speech ASR** распознаёт речь посетителей.
- **Nemotron 3.5 Bolt E4B 4GB** формирует реплики; характер дополнительно настраивается LoRA-адаптером.
- **Magpie TTS Zeroshot** озвучивает текст на основе коротких голосовых образцов.
- **Audio2Face-3D** преобразует речь в анимацию персонажа в Unreal Engine 5.
- **Nemotron 3 Nano Omni** используется как необязательный визуальный наблюдатель, а YOLO и ByteTrack отвечают за обнаружение и отслеживание людей.

Всё работает на одной рабочей станции, но не на одной видеокарте. Языковая и голосовая части выполняются на RTX PRO 6000 Blackwell Max-Q, графика Unreal Engine и Audio2Face-3D — на RTX PRO 4000 Blackwell. По объяснению автора, такое разделение нужно прежде всего для вычислительной нагрузки: генерация ответа не должна нарушать плавность анимации.

Характер — это не только системный промпт

По легенде проекта, дом построен из досок затонувшего пиратского корабля. Отсюда морские истории и недовольство посетителями. Но для интерактивного представления одной биографии мало: нужен сценарий, который развивается в зависимости от поведения гостя.

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

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

Практический вывод здесь — разделять манеру разговора и состояние диалога. Модель может выбирать формулировки, но сведения о том, что посетитель уже сказал «пожалуйста» или прошёл определённый этап сценария, автор рекомендует хранить в приложении. Так поведение персонажа не зависит исключительно от способности модели восстановить события из контекста.

Задержку сокращают не только выбором модели

Для живого представления важен промежуток между окончанием вопроса и началом ответа. В MonsterHouse озвучивание может запускаться до завершения генерации всей реплики: система передаёт пригодные для произнесения фрагменты по мере готовности.

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

Автор приводит медианную задержку от конца речи посетителя до начала аудио: **1,70 секунды** для Bolt в четырёхбитном варианте вместе с TTS и **0,72 секунды** для закэшированных ответов. При этом определение конца реплики ожидает 300 миллисекунд тишины. Эти показатели относятся к описанному проекту; переносить их на другое оборудование без измерений нельзя.

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

Почему анимация получает голос без эффектов

У MonsterHouse два аудиотракта. Audio2Face-3D получает чистую речь, а зрители слышат обработанный вариант — с понижением голоса, эхом и другими эффектами. Автор объясняет это особенностями анимационной модели: её стандартные веса лучше работают с чистым, относительно нейтральным голосом, чем с глубоко обработанным театральным звучанием.

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

При этом ручное управление не исчезает. Панель позволяет запускать сохранённые фразы, менять настроение и параметры голоса, следить за диалогом и соединением с Unreal Engine. В отдельном микрофонном режиме оператор говорит через персонажа напрямую, обходя распознавание, генерацию текста и синтез.

Что пока нельзя считать доказанным

Визуальная часть должна давать дому повод для конкретной реакции: например, замечать костюмы. Подсчёт и сопровождение людей вынесены в YOLO и ByteTrack, чтобы не поручать мультимодальной модели описание каждого кадра.

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

Поэтому MonsterHouse стоит воспринимать как разбор инженерного прототипа, а не готовый комплект для установки. Его наиболее полезная идея — разделение ответственности: сценарное состояние хранится в приложении, частые ответы кэшируются, анимация получает чистый звук, а оператор сохраняет возможность вмешаться. Именно эти решения связывают отдельные модели в управляемого персонажа.

Источники

Попробовать модели через APICODIK

Claude, GPT, Gemini, DeepSeek и другие модели по одному ключу, без VPN и с оплатой в рублях.