EchoraEchora
返回模型

Dia2 TTS:让对话生成近乎即时响应的流式升级版

2026年8月18日
阅读约 8 分钟

把文字和录音,做成能听的作品

配音、分轨、翻唱和音效,都在浏览器里完成。

  • 文字转语音,也能克隆音色
  • 分离音轨,或直接生成翻唱
  • 注册就能试听,先听再决定
免费开始创作

初代 Dia 模型证明了开放权重 TTS 系统可以一次生成完整的多说话人对话,但它仍然要等到整份脚本输入完毕,才能发出第一个声音。Dia2 消除了这段等待时间。它是 Nari Labs 的新一代对话模型,围绕流式生成从头重构:在文本还在输入时,音频就已经开始播放。这让它不再局限于预渲染音频片段,而是成为实时对话语音应用中首个切实可行的选择。

为什么 Dia2 是真正的升级,而不只是一次版本迭代

Dia2 保留了初代 Dia 的核心优势——带说话人标签的对话、自然的轮流发言和富有表现力的演绎——同时围绕一项关键变化重构生成流程:它不再需要拿到完整转录稿后才开始说话。收到最初几个词后,Dia2 就会开始生成音频。这正是旁白模型与实时对话模型之间的区别。

Dia2 提供 Dia2-1BDia2-2B 两种检查点,你可以根据延迟和声音质量的优先级,在更快、更轻量的流式生成与更高保真度的输出之间选择。两种模型都以 Apache 2.0 许可证开放权重,检查点托管在 Hugging Face 上,推理代码则公开在 GitHub。

流式对话生成如何工作

传统 TTS(包括第一代 Dia)本质上采用批处理方式:输入文本,再输出一段完整波形。Dia2 将它重构成增量式流程,主要依靠以下几个机制:

  • 逐 Token 流式生成音频。 Dia2 不会等待序列结束信号,而是随着生成过程持续输出音频,因此在提交最初几个词后的极短时间内就能开始播放。
  • 基于前缀的说话人条件控制。 初代 Dia 使用单个参考音频片段,而 Dia2 会为每个说话人分配独立的声音前缀。这样可以分别为 [S1][S2] 设置稳定、不同的声音,并避免它们在长对话中逐渐混淆。
  • 约两分钟的生成窗口。 每次流式会话目前最多支持约两分钟的连续英语对话,足以完成一段自然的来回交流、一次语音智能体回复或一个短场景,但无法在一次调用中生成完整的有声书章节。

正是这种架构让 Dia2 能够支撑真正的交互式项目,例如实时语音智能体、实时旁白驱动的游戏和语音到语音流程;在这些场景中,初代 Dia 的一次性生成速度不足以跟上实时交互。

如何在本地运行 Dia2?

  1. 准备运行环境。 Dia2 通过 uv 分发,推理需要 CUDA 12.8 或更高版本。安装前先检查驱动版本,可以避开最常见的安装失败问题。
  2. 获取模型。 从 GitHub 克隆 nari-labs/dia2,或者直接通过仓库名称加载检查点:追求更高保真度可选 nari-labs/Dia2-2B,追求更低延迟则使用 1B 版本。
  3. 编写带标签的脚本。 与初代 Dia 一样,使用 [S1]/[S2] 说话人标签组织输入。Dia2 沿用相同的标签约定,因此已有脚本只需极少修改即可继续使用。
  4. 调整生成参数。 CFG scaletemperature 决定输出是更严格地遵循脚本,还是加入更多自然变化。较低的 temperature 适合可预测、可用于生产的输出;较高的值则适合更有表现力的探索性结果。
  5. 生产环境优先使用托管服务器。 由于输出声音默认不会固定为某一个说话人,Dia-TTS-Server 等社区项目提供 Dia 1.6B、Dia2-1B 和 Dia2-2B 之间的热切换,以及兼容 OpenAI 的 API 端点。相比从零编写推理封装,这是一条更快的集成路径。

如何充分发挥 Dia2 的能力

  • 固定一次语音前缀,并在所有地方复用。 Dia2 没有针对单一声音进行微调,因此除非固定前缀或随机种子,否则每次运行的输出都会变化。应为每个项目设置一次并保存下来,而不是每次会话都重新生成新声音。
  • 围绕两分钟上限设计内容。 对于更长的内容,应将脚本拆分成连续的多次流式调用,而不是强行塞进一个过大的请求。这也有助于交互式场景保持低延迟。
  • 不要跳过 CUDA 版本检查。 Dia2 最常见的安装失败原因是驱动不匹配;在排查其他问题之前,先确认 CUDA 版本为 12.8 或更高。
  • 根据使用场景选择模型大小。 如果响应速度比音质更重要,例如实时语音智能体或实时聊天语音,请选择 Dia2-1B;如果输出质量优先,并且可以接受略高的延迟,则选择 Dia2-2B。
  • 遵守使用政策。 Nari Labs 的许可证明确禁止在未经许可的情况下生成冒充真实人物的音频。任何允许用户提供声音提示的产品,都应内置授权确认机制。

Dia2 与初代 Dia 1.6B 对比

Dia2Dia 1.6B(初代)
生成模式流式,在接收完整文本前就开始生成批处理,需要先获得完整转录稿
模型大小1B 和 2B 两种检查点1.6B,单一检查点
声音条件控制每个说话人使用独立前缀共享单个参考音频提示
最适合实时语音智能体、实时对话、语音到语音预渲染对话、播客、有声书
最长连续输出每次会话约两分钟没有相同形式的时间限制
许可证Apache 2.0Apache 2.0

如果项目会提前渲染音频,例如播客单集或游戏中预先制作的对话,初代 Dia 1.6B 的能力依然足够,而且使用起来更简单。当音频必须对此刻正在发生的事情作出响应时,Dia2 的价值才真正体现出来。

常见问题

Dia2 免费且开源吗?

可以。Dia2 以 Apache 2.0 许可证发布,1B 和 2B 两种检查点及推理代码均公开在 GitHub 和 Hugging Face。

Dia2-1B 与 Dia2-2B 在实际使用中有什么区别?

Dia2-1B 更轻量、延迟更低,适合实时交互;Dia2-2B 会牺牲少量速度来换取更高的音频保真度。请根据具体场景更重视响应速度还是输出质量来选择。

Dia2 能在一次调用中生成超过两分钟的音频吗?

单次流式会话不行。目前的上限约为两分钟的连续英语语音,更长的内容应拆分为连续的多次调用。

Dia2 会取代初代 Dia 1.6B 吗?

不会完全取代。实时和交互式应用更适合 Dia2,但对于提前离线渲染对话的项目,初代 Dia 1.6B 仍然是可靠且更简单的选择。

Dia2 对硬件有什么要求?

Dia2 需要兼容 CUDA 12.8 或更高版本的 GPU 环境。1B 和 2B 检查点的具体显存需求不同,其中较小的模型更适合硬件资源有限的环境。

体验类似的对话功能

Dia2 本身需要通过其开源实现运行。如果你想在浏览器中制作多说话人音频,可以尝试文本转对话,这是一个功能相近的选择。它不是 Dia2,也不提供 Dia2 的实时流式引擎,但可以让你在本地部署模型之前先尝试多说话人场景。

探索文本转对话 →