NVIDIA Nemotron 语音代理与用于交互式角色的开源模型
MonsterHouse 概述
MonsterHouse 是一个交互式语音响应装置,它使用一套 NVIDIA AI 工具来创建一个能够倾听、交谈并对访客做出反应的角色。该项目展示了 NVIDIA Nemotron Voice Agent 的功能,它集成了语音识别、小型语言模型 (SLM)、文本转语音 (TTS) 和 3D 面部动画,以创建一个独立的、低延迟的对话代理。
技术栈
该系统协调多个专用模型来处理交互的全生命周期,从感知到动画:
- 听觉: NVIDIA Nemotron Speech ASR (流式) 将访客的语音转换为文本。
- 思考: 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 则负责访客计数和追踪。
性能与优化
为了确保响应迅速的体验,该系统采用了混合方法来生成响应。通过缓存常用台词和预合成音频,系统在缓存响应时的语音结束到音频输出的中位延迟达到了 0.72 秒,而实时生成响应的延迟为 1.70 秒。该流水线分布在两个 GPU 上——一个 NVIDIA RTX PRO 6000 Blackwell Max-Q 用于代理逻辑,另一个 NVIDIA RTX PRO 4000 Blackwell 用于 Unreal Engine 渲染——以保持一致的帧率和视听同步。
实施策略
对于希望构建类似交互式角色的开发者,建议采用以下工作流程:
- 流水线基础: 从 NVIDIA Nemotron Voice Agent 开始,处理语音活动检测和话语处理的核心逻辑。
- 模型选择: 使用 Bolt E4B 作为主要大脑,因为它专为本地对话代理而构建,并且比大型模型占用更少的资源。
- 个性调整: 使用系统提示词和对话示例来实现基本行为。对于更复杂的角色特征,使用 NVIDIA NeMo AutoModel 配方训练 LoRA 适配器。
- 语音与动画: 应用 Magpie TTS Zeroshot 进行零样本语音调节,并使用 Audio2Face-3D 来驱动 3D 角色骨架。应使用清晰的语音进行动画制作,并将人声效果作为单独的音频流应用。
- 视觉上下文: 如果角色需要感知其环境或特定的视觉输入,请集成像 Nemotron 3 Nano Omni 这样的视觉语言模型。
Sources
- Originalnemotron-halloween