Dia-TTS-Server
自托管 Dia TTS 模型:网页界面 + OpenAI 兼容 API,支持语音克隆与多模型热切换
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
自托管 Dia TTS 模型:网页界面 + OpenAI 兼容 API,支持语音克隆与多模型热切换
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这个场景:你的 AI 助手需要一个温暖自然的语音来对话,市场上的云端 TTS 服务按调用量收费,每千次请求可能花费数美元。如果每天调用 1 万次,一个月下来费用轻松破万元。更糟糕的是,你的语音数据必须经过第三方服务器——这在医疗、金融等敏感场景几乎是不可接受的。
devnen/Dia-TTS-Server 正是为解决这个问题而生。它让你在本地服务器上完整运行 Nari Labs 的顶级文本转语音模型 Dia 1.6B 和 Dia 2(1B/2B),拥有完全的数据控制权,同时获得专业级的语音合成质量。

图1:Dia-TTS-Server Web UI 界面,深色主题,支持模型热切换
Nari Labs 是由前 Meta AI 研究人员创立的语音 AI 创业公司,专注于打造最具表现力的多说话者对话式 TTS 系统。Dia 系列是他们历时两年多打磨的旗舰模型:
[S1] 和 [S2] 标签切换说话者Dia-TTS-Server 则将 Nari Labs 原始模型代码包装为一个功能完整、易于部署的服务端,支持多模型热切换、语音克隆、对话生成等进阶功能。
你可以把 Dia-TTS-Server 理解为 Dia 模型的运维控制台。原始的 Dia 模型需要通过 Python 脚本调用,普通开发者门槛较高。这个项目做了三件事:
/v1/audio/speech 端点,现有基于 OpenAI TTS API 的代码无需修改即可切换server.py 实现了模型动态加载机制,支持同时管理 Dia 1.6B 和 Dia 2 家族。通过 engine.py 中的 swap_model() 函数,可以不重启服务的情况下切换底层模型。Web UI 提供下拉菜单直接选择目标模型,切换后推理配置(如采样率)自动适配。
项目内置了两套语音克隆路径:
reference_audio/ 下预置了多个参考样本.wav 样本和 .txt 描述文件通过在输入文本中嵌入 [S1] 和 [S2] 标签,可以指定不同说话者角色。server.py 中的 build_dialogue_context() 函数负责解析标签并构建符合 Dia 模型期望格式的对话结构。这使得有声书、播客等场景的多角色语音合成成为可能。
server.py 中 FastAPI 路由 /v1/audio/speech 实现了与 OpenAI TTS API 的协议兼容:
@router.post("/v1/audio/speech", response_class=StreamingResponse)
async def openai_speech(request: SpeechRequest):
# 复用核心推理逻辑,仅做输入格式适配
return StreamingResponse(generate_speech_stream(...))
这意味着任何使用 OpenAI TTS SDK 的应用只需更换 base URL 即可迁移到本地 Dia 服务,大幅降低迁移成本。
server.py (FastAPI 入口)
├── 路由层:原生 /generate + OpenAI 兼容 /v1/audio/speech
├── engine.py (模型调度)
│ ├── Dia 1 (dia.model)
│ └── Dia 2 (dia2)
├── config.py (YAML 配置管理)
│ └── 模型路径 / 采样率 / 生成参数
├── models.py (预定义音色元数据)
└── utils.py (音频后处理 + praat-parselmouth)
核心推理链路:
Dia.generate()项目提供了完整的 docker-compose.yml,GPU 直通通过 devices: nvidia.com/gpu=all 实现。部署步骤:
git clone https://github.com/devnen/Dia-TTS-Server.git
cd Dia-TTS-Server
docker-compose up -d
# 访问 http://localhost:8003
容器启动后会自动:
ttj/dia-1.6b-safetensors(约 3.2GB)首次启动需要约 5-10 分钟下载模型。CPU 模式下(设置 CUDA_VISIBLE_DEVICES="")推理速度约 0.3x RT(实时率),GPU 模式下可达 5-10x RT。
| 场景 | 推荐方式 | 说明 |
|---|---|---|
| 快速体验 | Web UI 直接访问 | 无需 API 经验,参数可视化调节 |
| 产品集成 | OpenAI 兼容 API | 最小代码改动迁移现有系统 |
| 定制开发 | 原生 API + Python SDK | 完整参数控制,支持批量处理 |
| 对话应用 | [S1]/[S2] 标签 | 多角色播客/有声书场景 |
Dia-TTS-Server 的出现代表了一个趋势:专业级 AI 语音能力从云服务向本地迁移。随着开源模型质量的不断提升,越来越多的开发者选择自托管 TTS 服务,以获得数据隐私的完全控制、无按调用量计费的弹性成本,以及定制化模型的灵活空间。
Nari Labs 的 Dia 系列目前是开源 TTS 领域公认的质量标杆,Dia-TTS-Server 则将其落地为开箱即用的生产级服务,是值得关注的 AI 音频基础设施项目。