dia2

让 AI 对话实时开口,边生成边播放不卡顿

dia2 是一个开源的实时流式对话语音合成(TTS)模型,基于开放权重架构,支持低延迟的音频流输出。它解决的是传统 TTS 系统在对话场景中响应慢、无法边生成边播放的问题,核心能力包括:实时流式音频生成、自然对话韵律控制、多说话人支持,以及轻量级部署。项目用 Python 实现,适合集成到语音助手、实时翻译、游戏 NPC 对话等需要即时语音反馈的应用中。目前项目处于成长阶段,社区活跃度中等。

开源 free 音频音乐
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1178
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类音频音乐
开发团队nari-labs
所属国家
官网地址
定价模式free
价格说明开源模型,Apache-2.0许可,可免费本地部署使用。
访问状态
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型open-weight,text-to-speech
GitHub 星标★ 1178
30天Star增速
HF 下载量
上线时间2025-11-17 00:00:00
最近更新2026-09-23 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数5

使用教程

难度:进阶 约 15 分钟 部署方式:本地安装 6 步

环境要求

  • 安装 uv 包管理工具(README 明确要求)
  • CUDA 12.8+ 显卡驱动
  • Python 环境(由 uv sync 自动创建虚拟环境)
  • 生成阶段需下载 nari-labs/Dia2-2B 权重、tokenizer 与 Mimi 编码器

安装与启动步骤

  1. 1安装项目依赖

    在项目根目录执行一次即可,uv 会按项目配置创建虚拟环境并装好全部依赖。后续所有命令都以 uv run 方式运行。

    uv sync
  2. 2准备对话脚本

    编辑 input.txt,用 [S1] / [S2] 标记不同说话人的台词。模型仅支持英文,单次生成最长约 2 分钟。

  3. 3生成语音

    通过 CLI 生成音频,首轮会自动下载权重与 tokenizer;有 CUDA 时自动用 GPU,否则回落 CPU,精度默认 bfloat16。

    uv run -m dia2.cli 
      --hf nari-labs/Dia2-2B 
      --input input.txt 
      --cfg 6.0 --temperature 0.8 
      --cuda-graph --verbose 
      output.wav
  4. 4条件生成(推荐)

    用前缀音频提供上下文可获得更稳定自然的输出。示例中 speaker1 放助手音色、speaker2 放用户输入,生成对用户的回应。前缀文件会用 Whisper 转录,额外增加耗时。

    uv run -m dia2.cli 
      --hf nari-labs/Dia2-2B 
      --input input.txt 
      --prefix-speaker-1 example_prefix1.wav 
      --prefix-speaker-2 example_prefix2.wav 
      --cuda-graph --verbose 
      output_conditioned.wav
  5. 5启动网页界面

    运行 Gradio 应用,在浏览器中交互式试听与调参,适合快速体验。终端会打印本地访问地址。

    uv run gradio_app.py
  6. 6代码中调用

    在 Python 中直接加载模型并生成。生成会持续到 max_context_steps(1500,约 2 分钟) 或检测到 EOS 为止,返回结果含音频 token、波形张量和词级时间戳。

关键配置

配置项必填说明示例
--hf是指定 Hugging Face 模型仓库,可用 1B 或 2B 权重nari-labs/Dia2-2B
--input是待合成的对话文本文件,用 [S1]/[S2] 标记说话人input.txt
--cfg否无分类器引导强度,影响语音表现力与稳定性6.0
--temperature否采样温度,越高越发散、越低越稳定0.8
--cuda-graph否启用 CUDA Graph 加速推理,降低生成延迟
--prefix-speaker-1否说话人 1 的前缀音频,用于条件生成稳定音色example_prefix1.wav

如何确认成功

终端无报错并生成 output.wav(或 output_conditioned.wav),播放确认语音正常;Gradio 方式则浏览器打开终端打印的本地地址。

常见问题

Q:第一次运行很慢是正常的吗?

A:是。首轮会下载模型权重、tokenizer 和 Mimi 编码器,需等待下载完成;之后再运行会直接使用本地缓存。

Q:支持中文或其他语言吗?

A:README 明确说明只支持英文,且单次生成最长约 2 分钟,超出范围的文本不会被支持。

Q:没有 GPU 能跑吗?

A:可以。CLI 会自动选择 CUDA,不可用时回落到 CPU;也可用 --device 手动指定,但 CPU 上速度会明显变慢。

Q:生成的音色每次都不一样怎么办?

A:模型未针对特定音色微调,质量与音色每次生成会有差异。README 建议使用 prefix 前缀音频做条件生成,或自行微调。

Q:必须用 uv 吗?

A:README 将 uv 列为必要条件,所有命令均以 uv run 方式给出,建议先安装 uv 再执行。

注意事项

  • 所有命令需在项目根目录执行,保证 uv 能找到项目配置。
  • 必须使用 CUDA 12.8+ 驱动,否则无法发挥 GPU 加速。
  • 模型为开放权重,支持流式生成,输入前几个词即可开始出音频。
  • 项目仍在成长阶段,Bonsai(JAX) 实现、TTS Server、Sori 等能力尚未发布。

核心亮点

  • 真正流式输出,首包延迟低,适合实时对话
  • 开放权重,可本地部署,数据隐私可控
  • 对话韵律自然,支持多说话人切换

不足之处

  • 文档/社区待观察
  • 中文语音质量可能不如商业 TTS 成熟

适用场景

  • 语音助手实时对话响应
  • 游戏或虚拟角色实时配音
  • 实时翻译或字幕语音播报

替代项目

ChatTTS、Coqui TTS、Bark

项目介绍

dia2 是音频音乐领域的开源项目,由 nari-labs 开发,2025 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(1,178)位列前 30%,在音频音乐分类的 738 个项目里位列前 15%。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-23。Apache-2.0许可,可免费本地部署使用。

它主要面向的使用场景是:语音助手实时对话响应。同类可对比的替代方案包括 ChatTTS、Coqui TTS、Bark。

上一篇:XZVoice

下一篇:TransformerTTS

同类项目推荐

tango 开源

输入一句话,自动生成匹配的音频内容

A family of diffusion models for text-to-audio generation.

★ 1239 2026-08-09
AuK 开源

一个模型搞定语音生成、编辑与分离

AuK: An Open-Source Foundational Model for Speech Generation and Editing

★ 1236 2026-09-13
swift-tts 开源

Swift 项目三行代码接入系统 TTS,兼容 TCA 和 Combine

A straightforward package containing version for Swift modern concurrency, Point-Fre···

★ 52 2026-08-09
ai-dj 开源

现场演出中实时用 AI 生成音乐,保持人类掌控

AI music generation for live performance - Standalone (Ableton Link) + VST3/AU. 8 tr···

★ 246 2026-08-09