nemotron-halloween
TL;DR · AI 摘要
NVIDIA Nemotron模型与相关工具成功构建了互动万圣节装置MonsterHouse,展示了AI在创意项目中的应用。
核心要点
- Nemotron Speech ASR将语音转为文本,Bolt E4B模型处理对话逻辑
- Magpie TTS Zeroshot通过短样本生成角色语音,Audio2Face-3D实现木门口型动画
- 项目运行于单个工作站,使用RTX PRO 6000 Blackwell Max-Q显卡
结构提纲
按章节快速跳转。
- §项目背景
介绍MonsterHouse作为万圣节互动装置的创意初衷
- ·技术架构
Nemotron Speech ASR负责语音识别,Bolt E4B处理对话逻辑
Magpie TTS Zeroshot通过角色样本生成语音输出
- ·动画系统
Audio2Face-3D将语音转换为Unreal Engine中的木门口型动画
- ›硬件部署
所有模块运行于配备RTX PRO 6000 Blackwell Max-Q的工作站
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Nemotron在MonsterHouse的应用
- 语音识别
- Nemotron Speech ASR
- 对话处理
- Bolt E4B模型 + LoRA适配器
- 语音合成
- Magpie TTS Zeroshot
- 动画生成
- Audio2Face-3D + Unreal Engine 5
金句 / Highlights
值得收藏与分享的关键句。
Nemotron Speech ASR将访客语音实时转为文本,作为对话输入
Bolt E4B模型通过LoRA适配器获得独特的海盗角色性格
Audio2Face-3D在Unreal Engine 5中生成逼真的木门说话动画
nemotron-halloween
返回文章列表
[0
[-1
企业
+
]
文章
发布于 2026 年 10 月 30 日
点赞
1
[
Rick Grandy
rgrandy
关注
nvidia
Maryam Motamedi
maryameee
使用 NVIDIA Nemotron 开源模型打造 haunted house
或者说...
嘘!现在给我滚开!
TL;DR:MonsterHouse 是我为万圣节打造的互动投影装置。他会聆听不给糖就捣蛋的访客,用脾气暴躁的老海盗船声音回应,当访客记得礼貌时又会变得温和。该装置基于 NVIDIA Nemotron 语音代理、Nemotron ASR、Nemotron 3.5 Bolt E4B 4GB、Magpie TTS Zeroshot 和 Audio2Face-3D 构建,并可在单台工作站上运行。
我希望万圣节来我家的孩子能以有趣且独特的方式互动。这栋房子将负责派发糖果,但要比恐怖更显暴躁。不知为何,我的解决方案是给车库门装上嘴巴并教会它抱怨。
这就是 MonsterHouse:一个脾气暴躁的老建筑,讲述海盗故事,露出火焰般的笑容,对"请"字有可疑的软弱。NVIDIA Nemotron 语音代理提供对话基础。Nemotron 语音负责聆听,Bolt E4B 是大脑,NVIDIA Magpie TTS Zeroshot 提供实时声音,NVIDIA Audio2Face-3D 让木制嘴巴动起来。
Monster House 的工作原理
听取:NVIDIA Nemotron 语音 ASR 将访客语音转换为文本。[已确认:nemotron-speech-streaming-en-0.6b.q8_0.gguf ] 思考:NVIDIA Nemotron 3.5 Bolt E4B 4GB,一个用于对话代理的开源小型语言模型,撰写每条回复。LoRA 适配器提供个性。说话:NVIDIA Magpie TTS Zeroshot 从角色的简短参考样本中为每条回复生成声音。动画:NVIDIA Audio2Face-3D 在 Unreal Engine 5 中将干净的语音转换为嘴巴动画。视觉:NVIDIA Nemotron 3 Nano Omni 描述服装,而 YOLO 和 ByteTrack 计数并追踪访客。运行:NVIDIA Nemotron 语音代理在配备 NVIDIA RTX PRO 6000 Blackwell Max-Q 和 NVIDIA RTX PRO 4000 Blackwell 的单台工作站上协调所有功能。
布满木刺的笑容
嘴巴是第一个实现的。我想象着木质车库门板裂开成锯齿状的嘴唇,每当他张开诅咒之口时,地狱的烈焰就会照亮车道。他需要看起来古老、富有表现力,并对访客的存在感到轻微的冒犯。
一栋话多的房子的几种表情。
创建自定义动画控制器是构建过程中较为耗时的部分。经过一番折腾后,我能够导出 Audio2Face-3D 后续可以动画化的面部表情形状。角色 SkelMesh 在 Autodesk Maya 中构建,然后导出到 Unreal Engine,在门后添加了虚拟火焰和特效。没有眼睛、没有眉毛、不会眨眼,他竟然是个出人意料的经济型怪物。
当所有构建角色的琐事正在进行时,NVIDIA 开发了 Nemotron 语音代理。原本应该是构建中最困难的部分,现在却变得有趣、迭代且容易。我立即拥有了监听、对话和语音的基础功能。房子已经有了嘴巴。现在他终于可以找到一些抱怨的事情了。
教授糟糕的礼仪
房屋需要一个与它性格一样倔强的过去,所以我为它设计了一个背景故事:这栋房子是用一艘沉没的海盗船的木材建造的,被它那段暴风雨般的历史所困扰。现在这些航海相关的抱怨终于有了合理的解释。这正是那艘船的转世重生,以房地产的形式存在,但显然并不完全满意这种转变。
表演需要一个引导,一条从问候到告别的路径,同时沿途提供一些惊喜。首先,房子会用诸如“我正忙着抱怨,去烦邻居吧!”这样的话把访客打发走。但坚持下去终会打动它。“请”字能立刻突破它的防备,“谢谢”则会换来温暖的告别。一旦访客赢得了它的认可,我希望它能一直保持这种状态。没有人想和同一个车库门进行两次谈判。
这就是Voice Agent真正发挥作用的地方。你可以选择任何你喜欢的LLM。由于我希望系统能够离线运行且完全自给自足,因此我为它设定了内存和计算预算。
这个角色需要的不仅仅是一个“变得暴躁”的提示。它必须遵循主对话流程,回应访客实际说的话,跟踪互动状态,并为后续流程留出足够的计算资源。
在测试了十几个模型之后,我最终选择了Bolt E4B来提供实时对话。这是一个专为本地对话代理和交互角色设计的开源小型语言模型,这恰如其分地描述了一个会说话的车库门。我使用其名称中“4GB”所指的4位量化版本作为默认响应模型,同时也有BF16检查点可供比较。
如果到目前为止还不明显,我目前在NVIDIA工作,正因如此,我有机会在Bolt E4B公开发布前进行测试,并发现它是一个可靠的选择,其占用空间比其他领先模型(如Qwen3 30B-A3B和Qwen 3.6 35B-A3B)更小。
它在Nemotron Voice Agent的流程中运行,将访客说的话转化为下一个恰到好处的迟疑回应。
Bolt提供了对话的基础。我的提示、应用逻辑以及在数千个经过审核的对话示例上训练的LoRA适配器,将它塑造成这个特定的固执船只。
创建一个包含5000多个多轮对话的数据集,使我能够为每个我认为足够优秀的模型训练LoRA。有些模型训练大约需要一小时,有些则需要更长时间。一个本地代理运行了所有内容并评估了结果。最初,这个代理和一个非常大的LLM共同创建并评判了数据集。这些工作通常在夜晚或我进行日常工作时完成。
在部署LoRA后,我会检查回复的连贯性、时机和语气,对模型和适配器进行质量、重复率和速度的基准测试,然后聆听整体表现。房屋最终应该会屈服,但不能变成一个热情的门房。一点点的抵抗是它魅力的一部分。与一个车库门进行无休止的争论则不是。
值得等待的声音
两个快捷方式,两个输出。已授权的文本会跳过新对话生成,保存的音频会跳过合成。清晰的语音驱动动画,与观众效果分开处理。
如果一个闹鬼的房子抱怨得太慢,就会失去权威。流程会在整个回答完成之前就释放可发音的文本,这样房子可以在句子的其余部分仍在处理时就开始说话。准备好的问候语和糖果笑话覆盖了熟悉的场景:文本库节省了语言模型的工作量,缓存的录音节省了语音合成。即使是年迈的脾气暴躁者也能从排练中受益。
使用 Bolt Q4 与 TTS 的语音到音频中位数时间 = 1.70 秒
使用缓存响应的语音到音频中位数时间 = 0.72 秒
(注:当前语音结束检测会等待 300 毫秒的静音) NVIDIA Magpie TTS Zeroshot 能将文本转化为英式女王口音。其零样本语音条件技术使用简短的参考样本而非训练好的语音;我提供的样本是脾气暴躁的海盗角色。房屋拥有七种情绪,从烦躁和威胁到愉悦和欣喜,情绪标签由提示模板和LLM提供,决定每句话的表达方式。由于每种情绪需要不同的3-10秒语音样本,我在UI的工具标签页中添加了“录制你的声音”模块。我可以使用最佳的快乐海盗或愤怒海盗声音朗读并录制一段文本样本。当进入“Go”模式时,Bolt E4B决定要说的内容,Magpie则根据恰当的情绪(欣喜或绝望)将文本转化为语音。
接下来是 Audio2Face-3D 和我在Epic的Unreal Engine中创建的3D角色场景。默认模型权重最适合干净的中性男女声,音调不过高或过低(根据使用场景选择合适的性别模型)。我希望房屋拥有非常低沉且带有回声的恶魔般声音。在这种情况下,由于我的语音样本缺乏这种戏剧性的厚重感,反而成为了一种优势。Audio2Face-3D从样本中获取干净的语音,第二音频流则添加可调节的实时语音效果并通过扬声器播放。
为确保系统流畅运行,我将任务分配给两块GPU:语言和语音模型流水线运行在NVIDIA RTX PRO 6000 Blackwell Max-Q上,Unreal Engine图形与Audio2Face-3D运行在NVIDIA RTX PRO 4000 Blackwell上。内存不是瓶颈,计算能力才是关键。我希望无论代理流水线执行何种处理,动画都能保持一致的帧率。
声音、动画和效果必须同步。一个令人信服的怪物需要的不只是快速回应;它需要听起来像是建筑本身的抱怨。在我的案例中,它确实做到了。音频同步调整功能可供使用。我发现设置后基本无需再调整。(100毫秒补偿了Audio2Face-3D的缓冲延迟)
怪物拥有控制台
在某个阶段,“让房子说话”需要一个充满控制选项的界面。我可以试听缓存语句、调整初始情绪、跟踪对话、更改语音处理方式并调节嘴部动画。标签页涵盖对话、模型选择、录音、提示、性能监控和摄像头画面,声控面板和自定义对话框让我可以为怪物“注入”台词。还有模型加载控制和Unreal Engine连接状态指示器,因为有时怪物并非在发呆。它可能已断开连接。
MonsterHouse 控制台,包含声控面板、自定义台词、初始情绪和对话流程。
火焰与光芒已加入表演。可编辑的规则将视觉提示与表现方式绑定:实时提示以语音开始,而录制表演可遵循保存的时间线。我可以在不重建场景的情况下直接调整情绪。
实时模式运行“不给糖就捣蛋”角色。演示模式会促使房屋进行自我解释。麦克风模式让我可以直接通过房屋发声,绕过识别、对话生成和语音合成环节。我清晰的嗓音驱动着嘴巴动作;观众听到的是经过处理后的版本。房屋将此视为被占据。我认为这是一项有用的备用方案。
门铃再次响起
NVIDIA Nemotron 3 Nano Omni 是一个视觉语言模型,为房屋提供视觉上下文。作为可选观察者,它会解析摄像头图像并描述可见的服装,使角色能够针对具体对象做出反应。我不打算重新发明每个轮子,因此选择流行的物体检测与跟踪模型 YOLO 和 ByteTrack 来统计和追踪当前视野中的人。将这些任务分离后,房屋可以察觉到人群的存在,而无需让 Omni 逐帧进行叙述。
为了进行足够荒谬的测试,我给 Omni 提供了一段五只装扮成海盗、吸血鬼、女巫、南瓜和幽灵的羊在门前的视频。其保存的分析结果识别出了这些服装。这就是我希望房屋使用的视觉上下文。显然,即使是牲畜的万圣节计划也比我更复杂。
合成测试中五只毛茸茸的“不给糖就捣蛋”角色。服装标签来自保存的 Omni 分析结果;方框和追踪编号仅为示意图。
这些羊是合成测试,而非成功万圣节夜晚的证据。真实的车道人群、服装和夜间照明仍需测试。检测确实会触发自动问候,但我担心流行服装识别和恰到好处的机智回应可能需要一些后训练。由于房屋没有眼睛,他将访客感知称为回声定位。这一点我允许他保留。
还有更多工作要做:动画效果可以持续优化,完整的性能测试需要真实访客,糖果终将实现自动分发。我尚未达到最初目标——在家人去其他街区看鬼怪时,让房屋独自应对万圣节。但这就是所有努力的意义所在。总有一天,一个孩子会遇到脾气暴躁的老房子,尝试一点善意,发现这位老木屋其实心地柔软,并会分发糖果。
构建你自己的不合理角色
MonsterHouse 代码本身未打包发布,但其使用的所有 NVIDIA 模型均可今天获取,而 NVIDIA Nemotron 语音代理已为你完成大部分工作。这就是我将要采取的路径。
从语音流程开始。克隆 NVIDIA Nemotron 语音代理并运行通用助手示例。您将获得一个级联流水线,包含 Nemotron 语音 ASR、LLM 和 Magpie TTS,加上语音活动检测和语句结束处理,因此您的角色知道何时发言。将 Bolt E4B 作为核心。语音代理包含适用于云、服务器和单 GPU 部署的 Bolt E4B 配置文件。您可以在 build.nvidia.com 上先尝试该模型。尝试对话模式以获得简短、语音就绪的回复,并禁用推理以实现更简单的交互。赋予它个性。从系统提示和几个关联的示例对话开始。在应用程序中保留对话状态(例如谁已经说了“请”),而不是要求模型记住它。当提示不足以满足需求时,训练一个 LoRA 适配器;NVIDIA NeMo AutoModel 为 Bolt E4B 提供了 LoRA 配方。赋予它声音。Magpie TTS 多语言是语音代理的默认选项。对于自定义角色,Magpie TTS Zeroshot 可以通过简短的参考样本进行训练。在 build.nvidia.com 上尝试,然后申请权限自行运行。[确认:访问路径和链接] 仅使用您有权限使用的语音。赋予它面容。NVIDIA Audio2Face-3D 可将语音转换为角色的面部动画。输入干净的语音并随后添加效果。可选:赋予它眼睛。语音代理的 Nemotron Omni Assistant Subagents 示例通过 Nemotron 3 Nano Omni 添加了实时网络摄像头理解功能。如果需要人数统计,可以搭配轻量级的人体追踪器使用。
缓存响应库和保存最常用台词的音频,即使是一个缓慢的怪物也会显得敏捷。事实上,如果您受到计算能力的限制,没有理由不能拥有一个仅使用 Nemotron 语音 ASR 和 Python 对话路由器的实时版本,所有音频都来自缓存。您可以使用 Bolt E4B 和 Magpie 流水线离线生成数百个响应,然后在演示中使用缓存。我将为交互式南瓜这样做。
#### 资源
GitHub 和 build.nvidia.com 上的 NVIDIA Nemotron 语音代理
Hugging Face 和其技术博客上的 NVIDIA Nemotron 3.5 Bolt E4B 4GB
NVIDIA Nemotron 语音 ASR(流式传输,英文)
NVIDIA Magpie TTS Zeroshot
NVIDIA Audio2Face-3D
NVIDIA Nemotron 3 Nano Omni
本文提到的模型 3
更多该作者的文章
NVIDIA Nemotron 3.5 录音与 Granary v2:可提示和自适应的智能多语言转录
82
2026年10月28日
NVIDIA Kumo 关系模型在关系数据上超越监督机器学习,无需训练
35
2026年10月21日
社区
编辑
预览
通过拖拽、粘贴或 点击此处 上传图片、音频和视频。
轻点或粘贴此处上传图片
评论
· 注册或登录以评论