dia2

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 音频音乐 🍴 复刻 103 🐛 待处理 5 👀 关注 16
GitHub ↗
GitHub 星标 ★ 1186
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源模型,Apache-2.0许可,可免费本地部署使用。

项目预览

dia2 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类音频音乐
开发团队nari-labs
定价模式🏷️完全免费
价格说明开源模型,Apache-2.0许可,可免费本地部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型open-weight,text-to-speech
GitHub 星标★ 1186
上线时间2025-11-17 00:00:00
代码更新2025-11-29
仓库体积4.4 MB
本站数据更新2026-11-09
维护状态低维护
收录时间2026-08-09
浏览次数6

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1186

技术标签

使用教程

难度:进阶 约 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

上一篇:XZVoice

下一篇:TransformerTTS

同类项目推荐

melgan 开源

用GAN声码器把梅尔频谱快速变成逼真语音

MelGAN implementation with Multi-Band and Full Band supports...

★ 63 2026-08-09
soundbox 开源

在自己的显卡上生成音效、音乐和配音

Free, open-source, local alternative to ElevenLabs and Suno. AI sound effects, music···

★ 152 2026-11-06
mkpl 开源

敲一行命令,目录秒变 M3U 播放列表

Make M3U format playlist from command line

★ 53 2026-08-09
tts 开源

一键接入文本转语音,快速生成自然语音输出

tts 服务

★ 643 2026-08-09
MOSS-TTS 开源

一站式生成高保真语音、对话、音效,支持实时流式输出

An open-source model family for long-form speech, dialogue synthesis, voice design, ···

★ 4310 2026-08-09
to-the-stars 开源

把魔法少女小圆外传小说翻译成中文,还能听语音版

魔法少女小圆 飞向星空 中文翻译

★ 91 2026-08-09
harmony 开源

输入旋律,自动生成符合规则的四部和声

Generate four-part harmony following idiomatic voice-leading procedures with DP!

★ 55 2026-08-09