
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1186
技术标签
使用教程
环境要求
- 安装 uv 包管理工具(README 明确要求)
- CUDA 12.8+ 显卡驱动
- Python 环境(由 uv sync 自动创建虚拟环境)
- 生成阶段需下载 nari-labs/Dia2-2B 权重、tokenizer 与 Mimi 编码器
安装与启动步骤
-
1安装项目依赖
在项目根目录执行一次即可,uv 会按项目配置创建虚拟环境并装好全部依赖。后续所有命令都以 uv run 方式运行。
uv sync -
2准备对话脚本
编辑 input.txt,用 [S1] / [S2] 标记不同说话人的台词。模型仅支持英文,单次生成最长约 2 分钟。
-
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条件生成(推荐)
用前缀音频提供上下文可获得更稳定自然的输出。示例中 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启动网页界面
运行 Gradio 应用,在浏览器中交互式试听与调参,适合快速体验。终端会打印本地访问地址。
uv run gradio_app.py -
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...
soundbox
开源
在自己的显卡上生成音效、音乐和配音
Free, open-source, local alternative to ElevenLabs and Suno. AI sound effects, music···
serverless-medium-text-to-speech
开源
输入Medium文章链接,一键生成可听的音频版
Serverless-based, text-to-speech service for Medium articles
WillFromAfarDownloader
开源
一键批量抓取 acapellabox 无伴奏音频,省时省力
acapellabox pwned.
mkpl
开源
敲一行命令,目录秒变 M3U 播放列表
Make M3U format playlist from command line
tts
开源
一键接入文本转语音,快速生成自然语音输出
tts 服务
MOSS-TTS
开源
一站式生成高保真语音、对话、音效,支持实时流式输出
An open-source model family for long-form speech, dialogue synthesis, voice design, ···
to-the-stars
开源
把魔法少女小圆外传小说翻译成中文,还能听语音版
魔法少女小圆 飞向星空 中文翻译
harmony
开源
输入旋律,自动生成符合规则的四部和声
Generate four-part harmony following idiomatic voice-leading procedures with DP!