状态:草稿(2026-10-07 更新),这是一篇调研文章。本文内容基于文档,实际运行的结果仅引用于 第 20 篇中的引用部分(Magpie 韩语与 NeMo 代码的分词器映射)。 以下事实是通过阅读各个项目的 GitHub 仓库和 Hugging Face 模型卡整理得出的。由于经过了网页内容摘要工具的处理,数字和许可协议声明请在 撰写前重新核对原文。请先阅读文末的“未确认事项”。 编写规则:以实测数据为基础,无法测量的标注为“未实测”。
目录
1. 结论先行
如果要制作韩语实时对话应用,就目前确认的范围来看, 将语音识别(ASR)、LLM 和语音合成(TTS)串联起来的方式是正确的。原因在于支持韩语的 NVIDIA 开源模型恰好位于该方式的两个组件中。
| 候选 | 结构 | 韩语 | 一句话评价 |
|---|---|---|---|
| Nemotron Voice Agent 蓝图 | ASR → LLM → TTS(Pipecat) | 视组件而定(见下表) | 最适合作为起点 |
| Nemotron 3.5 ASR Streaming 0.6B | 语音识别组件 | 支持 ko-KR | 韩语实时识别的核心组件 |
| Magpie TTS Multilingual | 语音合成组件 | 支持 ko | 韩语语音输出的核心组件 |
| PersonaPlex-7B | 单模型同时听和说(全双工) | 仅限英语 | 无法用于韩语应用,用于学习结构 |
NeMo voice_agent 示例 |
ASR + LLM + TTS 示例 | 仅限英语 | 理解结构的绝佳示例 |
2. 两种结构
2.1 级联:分为听、想、说三个阶段
麦克风 → 语音活动检测(VAD)与发言结束判断 → ASR(语音转文字)→ LLM(生成回答文本)→ TTS(文字转语音)→ 扬声器。
- 优点:组件可以单独更换。只需将韩语支持较弱的组件替换为其他组件,原有的 LLM 也可以直接继续使用。中间结果(识别出的文本、回答文本)可以记录在日志中,便于调试。
- 缺点:每个阶段都会累积延迟。必须亲自处理判断对方是否讲完的逻辑,以及当用户打断(Barge-in)时停止播放的逻辑。
2.2 全双工:单个模型同时听和说
PersonaPlex 采用的就是这种方式。由于单个模型在接收连续音频输入的同时输出语音,因此打断、应和以及快速的对话交互会非常自然。PersonaPlex 论文(arXiv 2602.06053,表 6)报告的 Full-Duplex-Bench 延迟为:对话交互约 0.170 秒,用户打断时的响应约 0.240 秒(这是英文模型的论文数据,模型卡因需要访问权限而未能打开)。
- 缺点:仅支持英语,组件无法单独更换,并且很难将回答内容与自身的 LLM 或知识库关联。
3. 候选方案整理
3.1 Nemotron Voice Agent 蓝图
NVIDIA-AI-Blueprints/nemotron-voice-agent是 NVIDIA 公开的参考实现。
- 配置: ASR 可在 Nemotron ASR Streaming、Parakeet CTC、Parakeet RNNT Multilingual 中选择,LLM 可在 Nemotron 3.5 Lightning 30B、Nemotron 3 Super 120B、Nemotron 3 Nano Omni 中选择,TTS 可在 Magpie TTS Multilingual 或 Chatterbox TTS Multilingual 中选择。骨架采用开源的 Pipecat,并通过 NVIDIA NIM 微服务进行加速。
- 部署配置文件: 云端(仅 CPU,无 GPU,使用 NVIDIA API 端点)、服务器(NVIDIA GPU 工作站,默认约 80GB VRAM)、单 GPU(工作站单 GPU、DGX Spark、Jetson Thor 之一, 可用 VRAM 28GiB 以上)。使用 Docker Compose v2.20 或更高版本启动。
- 近期发布: v2.2.0(2026-09-23)引入了 Nemotron 3.5 Lightning 自托管、单 GPU 配方以及 兼容 OpenAI Realtime 的 WebSocket 网关。v2.0.0(2026-07-09)集成了 React 客户端。
- 许可协议: 源代码为 Apache-2.0,文档和资产为 CC-BY-4.0。
- 延迟: 标榜“低于 1 秒的端到端延迟”以及多并发流。该数据为文档断言,测量条件未确认。
- 韩语: 蓝图的
docs/how-to/configure-tts.md在 Magpie TTS Multilingual 的支持语言中列出了韩语(ko-KR)。相反,蓝图内置的 LLM(Nemotron 3 Super)支持的语言中没有韩语(英语、德语、西班牙语、法语、意大利语、日语、中文)。因此,进行韩语对话必须单独选择 LLM。由于以下两个组件支持韩语,选择支持韩语的模型即可完成配置(本文仅确认了文档,实际运行在第 20 篇中进行了测试)。
3.2 Nemotron 3.5 ASR Streaming 0.6B(语音识别)
模型卡相关内容。
- 拥有 6 亿个参数,支持 40 个语言区域设置。其中标注为“转录就绪”的 19 个区域中包含 韩语(ko-KR) ,与日语、英语、西班牙语、德语等同类。
- 流式块大小(Chunk size)可在 80、160、320、560、1120ms 中选择(
att_context_size)。块越小,转录越快但准确率越低,二者存在权衡关系(通用原理,未用该模型验证)。 - 卡片中列出的词错误率(WER)为:西班牙语 4.11%、英语 7.91%、德语 8.31%、法语 9.03%(基于 1.12 秒块)。 韩语则以字错误率(CER)列出 ,在 FLEURS 评测中,指定语言时块大小从 80ms 到 1.12 秒分别为 7.59%、7.70%、7.27%、7.18%、7.12%,自动检测语言时从 8.31% 到 7.30%。
- 许可协议标记为
openmdw-1.1。 - Pipecat 相关文章(Daily)提到,该模型在实际使用条件下的“至最终段落时间”低于约 250ms,并且发布了用于基准测试的 C++ 服务器以及可在多语种和英语模型之间自动切换的 Python 服务器。
3.3 Magpie TTS Multilingual(语音合成)
模型卡相关内容。
- 支持 12 种语言,其中包括 韩语(ko) (阿拉伯语、中文、英语、法语、德语、印地语、意大利语、日语、韩语、葡萄牙语、西班牙语、越南语)。 韩语在检查点 v2607(2026-07-21 发布)中加入 ,之前的检查点(v2602、v2512)不包含韩语。卡片中的韩语 CER 为 2.69%,说话人相似度为 0.807,评估数据卡片备注为内部资料。仅凭检查点版本并不能决定韩语能否正常运行。在第 20 篇中测试所有三个检查点时,NeMo 3.0.0 没有将韩语连接到模型的
korean_chartokenizer(LANGUAGE_TOKENIZER_MAP中没有韩语条目并退化为英语音素分词器),因此即使在 v2607 中声音也是在 0.4~0.8 秒内结束。如果直接指定该连接,则能正常合成。也就是说,模型卡的韩语支持与检查点相符,但所使用的 NeMo 代码版本需要将其连接起来。 - 参数在卡片中记录为 364M(名称为 357m),并提供 569MB 的 GGUF 量化版本。许可协议为 NVIDIA Open Model License。
- 卡片公开的权重提供了 5 种声音(Aria、Jason、Leo、Sofia、John Van Stan),而 NIM 的韩语声音列表(仅通过搜索结果确认)与之不同。 根据使用哪一方,韩语声音可能会有所不同。
- 流式延迟数据未能在卡片中找到。标准模式支持最多 20 秒时长的文本,长文本模式支持更长的文本。
3.4 PersonaPlex-7B
- 基于 Moshi 结构和权重的 7B 全双工语音对话模型。通过文本角色提示词和语音条件来决定说话风格和角色。
- 仅通过英语语音输入回复英语语音。
- 代码采用 MIT 许可协议,模型权重采用 NVIDIA Open Model License,必须在 Hugging Face 上同意许可协议后方可下载。
- 运行方式为:
libopus-dev安装和pip install moshi/.之后通过网页界面(localhost:8998)进行。如果 VRAM 不足,可以使用--cpu-offload,文档中未明确说明所需的 VRAM。
3.5 NeMo voice_agent 示例
NVIDIA-NeMo/Speech 示例是一个将 Hugging Face LLM 与 NeMo 语音识别和语音合成相结合的对话代理。语音识别可在 Parakeet 实时模型(默认)和 Nemotron 流式变体中选择,语音合成可在 Kokoro-82M 到 FastPitch-HiFiGAN 之间选择。需要一张 GPU,9B LLM 建议 21GB VRAM,4B LLM 建议 13GB VRAM。 目前仅支持英语输入输出。
4. 在消费级 GPU 上的可行性
作者的实验环境 GPU 是 8GB 级笔记本 GPU 和 24GB 级消费级 GPU。蓝图(Blueprint)的单 GPU 配置文件需要 28GiB 以上的 VRAM ,因此任何单张 GPU 都无法直接匹配。不过,由于此需求量对应的是搭载 30B 级 LLM 的默认配置,如果拆分组件,情况可能会有所不同。
| 组件 | 大小 | 放入 8GB GPU 的可能性 |
|---|---|---|
| Nemotron 3.5 ASR | 约 0.6B | 可放入(实测,第 20 篇): 模型加载后 GPU 内存约 5,078MiB(含运行环境开销),实时系数中位数为 0.050 |
| Magpie TTS | 约 364M(GGUF 569MB) | 可放入(实测,第 20 篇): 在上述 ASR 的基础上仅多使用约 750MiB,两者合计 5,832MiB,实时系数中位数为 0.466(韩语需要第 20 篇中提及的一些变通方法) |
| LLM | 小型模型 | 可以使用 vLLM 等单独提供服务的小型模型来代替 |
表中 ASR 和 TTS 这两行已替换为第 20 篇中直接在 8GB 级 GPU 上加载测得的值。 连同 LLM 一起加载时的 VRAM 以及连接三个组件的整体延迟仍未测量(未实测)。 据说蓝图提供了兼容 OpenAI Realtime 的 WebSocket 网关,因此连接现有 LLM 服务器的方法也值得验证(未测试)。
5. 应用设计草案(未测试)
브라우저(마이크, 스피커)
│ WebSocket 또는 WebRTC
▼
Pipecat 파이프라인
├─ VAD + 발화 종료 판단
├─ ASR : Nemotron 3.5 ASR Streaming (ko-KR)
├─ LLM : vLLM 으로 서빙하는 소형 모델
└─ TTS : Magpie TTS (ko)
│ 끼어들기가 감지되면 TTS 재생과 LLM 생성을 중단
▼
스피커
- 延迟的组成。 从用户停止说话到发出第一个声音,是“发言结束判断 + 最终识别 + LLM 第一个 Token + TTS 第一段音频”的总和。必须对每个阶段进行单独测量,以找出瓶颈所在。
- 打断(Barge-in)。 当用户开始说话时,必须同时取消正在播放的语音和正在进行的 LLM 生成。
- 隐私。 语音属于个人隐私,必须首先确定是否保存以及保留期限。日志中仅保留识别出的文本而不保留原始音频会更安全。
- 并发性。 随着用户增加,ASR 和 TTS 将共享 GPU,因此必须按并发用户数分别测量延迟(未实测)。
6. 实测计划
这是将文章中整理的内容转化为数字的顺序。将在 8GB 级 GPU 上使用临时 Pod 进行。
- ASR 单独测试:使用韩语语音样本测量实时系数(处理时间与音频长度之比)、不同块大小(Chunk size)下的延迟以及 VRAM 使用量。
- TTS 单独测试:使用韩语句子测量到第一段音频的时间以及 VRAM 使用量。
- 连接三个组件的端到端延迟以及打断响应时间。
- 韩语识别准确率:虽然卡片中有韩语 CER(FLEURS),但我们需要用自己环境中的语音再次确认,因此通过自制的少量测试句子进行确认,并一并指出样本较小的局限性。
7. 面试可能问到的问题
- 级联(Cascade)和全双工(Full-duplex)有什么区别? 参考前文第 2 节。这是组件替换与调试,同自然打断之间的平衡。
- 在实时语音对话中,如何划分延迟? 分为发言结束判断、最终识别、LLM 第一个 Token、TTS 第一段音频,并分别进行测量。
- 如何处理打断? 检测到用户发言时,同时取消播放和生成。
- 流式 ASR 的块大小改变了什么? 在延迟和准确率之间进行权衡。
8. 常见误解
- 「既然是 NVIDIA 的对话模型,韩语也应该支持」:PersonaPlex 和 NeMo 示例仅支持英语。
- 「启动蓝图就等于拥有了韩语应用」:必须亲自选择和配置支持韩语的组件,且此配置尚未经过测试。
- 「因为是开源的,所以可以免费商用」:代码(Apache-2.0, MIT)和模型权重(NVIDIA Open Model License,
openmdw-1.1)的许可证不同。使用前必须阅读各自的原文。
未确认的事项
- 由于是通过摘要页面内容的工具进行阅读的,数字和许可证文本可能与原文不同。未打开各许可证的全文。
- 韩语 TTS 品质,以及在我们自己的语音(而非卡片中的语音)中的韩语识别错误率(卡片中有基于 FLEURS 的 CER)。
- 蓝图是否正式完整支持韩语配置(TTS 文档中提到了韩语,但内置的 LLM 不支持韩语)。
- 所有延迟和 VRAM 数据。没有任何模型在作者的实验环境中运行过。
- Magpie TTS 的开放权重与 NIM 的韩语声音之间的差异(仅通过搜索结果确认)。
- 除蓝图之外的其他 NVIDIA 语音项目(
NVIDIA/voice-agent-examples,NVIDIA-NeMo/labs-Voice-Agent)仅确认了名称,未阅读具体内容。
参考资料
- https://github.com/NVIDIA-AI-Blueprints/nemotron-voice-agent
- https://github.com/NVIDIA-AI-Blueprints/nemotron-voice-agent/releases
- https://github.com/NVIDIA/personaplex
- https://huggingface.co/nvidia/personaplex-7b-v1
- https://huggingface.co/nvidia/nemotron-3.5-asr-streaming-0.6b
- https://huggingface.co/nvidia/magpie_tts_multilingual_357m
- https://github.com/NVIDIA-NeMo/Speech/tree/main/examples/voice_agent
- https://www.daily.co/blog/open-source-multilingual-transcription-from-nvidia-nemotron-3-5-asr/
确认的版本和日期
基于 2026-10-05。Nemotron Voice Agent 蓝图 v2.2.0(2026-09-23)、PersonaPlex-7B-v1、Nemotron 3.5 ASR Streaming 0.6B、Magpie TTS Multilingual 357m。