project
dots.tts - 小红书联合上海交大开源的语音合成基座模型
dots.tts 是小红书 dots 团队与上海交大 X-LANCE 实验室联合开源的 20 亿参数全连续自回归语音合成基座模型。模型直接在连续隐空间中逐块生成 48kHz 音频,在...
dots.tts是什么
dots.tts 是小红书 dots 团队与上海交大 X-LANCE 实验室联合开源的 20 亿参数全连续自回归语音合成基座模型。模型直接在连续隐空间中逐块生成 48kHz 音频,在 Seed-TTS-Eval 等基准上取得 SOTA 的音色相似度与内容准确度,支持零样本克隆、流式输出及低延迟双工对话。项目全量开源代码与权重,并扩展了 dots.tts.edit 精确语音编辑能力。
dots.tts的主要功能
- 零样本音色克隆:仅需 3–10 秒参考音频,可复刻该音色朗读任意新文本,支持跨语言克隆,在 Seed-TTS-Eval 基准上取得内容准确度与说话人相似度的 SOTA 表现。
- 文本转语音合成:提供从随机音色采样到指定说话人的高质量语音生成,基于 2B 参数连续自回归模型直接输出 48 kHz 音频。
- 流式生成与低延迟交互:天然支持流式输出,文本前缀输入后即可逐块生成音频;1T1A 双流模式下,上游 LLM 每输出一个文本 Token 语音侧即刻响应,音频首包延迟低至 54.4 毫秒,适用实时语音 Agent 与双工对话。
- 精确语音编辑:支持对已有录音进行文本替换、情绪调节、音高与语速修改、停顿插入或删除,且支持多项操作组合在一条指令中一次性完成,未编辑区域保持原样。
- 多语言支持:覆盖 24 种语言,在 MiniMax 多语言评测中平均说话人相似度达 83.9,其中 19 个语种取得单项第一。
- 多档推理速度:提供 Base、SOAR、MeanFlow(4 步)、两步 sCM、单步 DMD 等多个检查点,用户可在音质与推理速度之间按需选择。
dots.tts的技术原理
- 全连续自回归架构:dots.tts 摒弃传统方案中将语音量化为离散 Token 的做法,整条生成链路完全在连续隐空间中运行:模型以自回归方式逐块预测声学片段,通过 BigVGAN 风格解码器还原为 48 kHz 波形,从根本上避免离散量化带来的信息瓶颈与音色细节损失。
- 语义化连续表征:模型采用基于 HoliTok 设计的 AudioVAE 将原始波形压缩为 25 FPS 的连续潜变量,编码器通过语义化训练在重建保真度与隐空间结构化之间取得平衡,使重建后的说话人相似度达到 0.969,为后续自回归生成保留丰富的音色与声学细节上限。
- 误差控制机制:针对连续自回归中前步微小偏差会向后累积扩散的固有问题,dots.tts 引入因果语义编码器,将已生成的 VAE patch 实时压缩为紧凑的语义历史并回灌给大语言模型;通过剥离高方差局部声学变化、仅保留长程语义摘要,有效抑制长序列生成中的误差传播、啸叫与音色漂移。
- 生成流程:生成过程以大语言模型为中枢,其基于 Qwen2.5-1.5B 初始化,直接消费 BPE 文本 Token 并输出每步隐藏状态;随后由自回归流匹配头(18 层 DiT)在 LLM 隐状态与自回归前缀的条件下,对下一个声学 patch 执行去噪生成,同时用冻结的 CAM++ 说话人编码器提供的全局 x-vector 保障音色一致性。
- 后训练加速:团队通过 SOAR 自纠正对齐让模型在训练时模拟真实推理中的偏离状态并学习自我修正,无需奖励模型即可提升稳定性;用 MeanFlow 蒸馏将教师多步轨迹压缩为平均速度,实现 4 步高质量生成;经简化一致性模型(sCM)压缩至 2 步;通过奖励感知分布匹配蒸馏(DMD)配合双时间尺度更新策略,得到自然清晰的高质量单步模型。
微信关注回复“开源”,加入AI开源项目交流群
如何使用dots.tts
-
安装:执行
pip install dots.tts即可安装,或从 GitHub 克隆源码后以pip install -e .进行本地开发安装,高并发场景可额外部署 SGLang Omni 以获得 CUDA Graph 加速与连续批处理支持。 -
命令行合成:使用
dots.tts入口并指定--model-name-or-path、--text和目标--prompt-audio与--prompt-text,即可实现零样本音色克隆;省略--prompt-text则退化为 x-vector 克隆,省略--prompt-audio则进行随机音色采样。 -
命令行编辑:使用
dots.tts.edit入口,提供--source-audio和 XML 风格的--instruction,即可对已有录音执行文本替换、情绪或韵律修改等精确编辑。 -
Python API 基础调用:通过
DotsTtsRuntime.from_pretrained()加载模型后调用generate(),传入文本与可选的参考音频即可获取合成音频张量并保存为文件。 -
Python API 流式输出:调用
generate_stream()可逐块获取音频张量,实时推送到播放器或 WebSocket,实现边生成边播放的低延迟体验。 -
Python API 双流对话:使用
DotsTtsRuntimeDoubleStreaming启动会话后逐 Token 推送文本,语音侧即刻开始生成,音频首包延迟可低至 54.4 毫秒,适用于实时语音 Agent。 -
微调:运行
accelerate launch scripts/train_dots_tts.py并配置自有数据路径,即可在公开检查点基础上进行音色或领域适配微调。 -
蒸馏加速:通过
scripts/train_dots_tts_meanflow.py以 SOAR 检查点为教师进行 MeanFlow 蒸馏,可获得 4 步、2 步或 1 步的高质量学生模型,以适配不同延迟与并发需求。 -
Web 界面:运行
python apps/gradio/app.py启动可视化合成界面,或运行apps/edit_playground/app.py启动 Edit Playground,在浏览器中上传音频、标注编辑区间并实时预览结果。
dots.tts的核心优势
- 全连续隐空间建模:摒弃离散声学 Token,直接在连续隐空间自回归生成,保留频谱质感与气声等丰富音色细节,重建说话人相似度高达 0.969。
- SOTA 合成质量:在 Seed-TTS-Eval 基准同时取得内容准确度与音色相似度 SOTA,24 语种 MiniMax 评测平均 SIM 达 83.9,综合性能超越主流方案。
- 原生流式低延迟:1T1A 双流模式音频首包低至 54.4 毫秒,配合 SGLang Omni 单卡 H100 并发 16 路吞吐达 4.76 req/s,满足实时语音 Agent 需求。
- 统一编辑能力:dots.tts.edit 基于同一基座,支持 XML 结构化指令精确编辑文本、情绪、韵律与停顿,在 doteBench 评测中整体领先其他开源系统。
dots.tts的项目地址
- GitHub仓库:https://github.com/studio-dots-ai/dots.tts
- arXiv技术论文:https://arxiv.org/pdf/2608.02673
dots.tts的同类竞品对比
| 对比维度 | dots.tts | CosyVoice 3 |
|---|---|---|
| 技术路线 | 全连续隐空间自回归,无离散 Token | 离散与连续混合表征,依赖声学 Token |
| 参数量 | 2B | 1.5B |
| Seed-TTS-Eval 平均 WER/CER | 2.95% | 3.06% |
| Seed-TTS-Eval 平均 SIM | 79.2 | 75.3 |
| 多语言评测 | MiniMax 24 语种平均 SIM 83.9,19 个语种第一 | 侧重中英双语,未公开 24 语种结果 |
| 实时交互 | 原生流式 + 1T1A 双流,首包低至 54.4ms | 并行生成,延迟优化有限 |
| 推理加速 | MeanFlow 4 步 / sCM 2 步 / DMD 单步 | 标准多步生成 |
| 开源范围 | Apache 2.0 开源 6 个检查点 + 训练/微调/蒸馏全套代码 | 模型与推理代码开源 |
dots.tts的应用场景
- 实时语音Agent:1T1A 双流模式首包延迟低至 54.4 毫秒,适用 LLM 驱动的实时双工对话与语音助手。
- 零样本音色克隆:仅需数秒参考音频可复刻任意音色,支持跨语言克隆,适用有声书、配音与个性化内容创作。
- 多语言内容生成:覆盖 24 种语言且保持高说话人相似度,适用全球化产品的多语种语音播报与本地化服务。
- 精确语音编辑:通过 dots.tts.edit 对现有录音进行文本替换、情绪调节、韵律修改与停顿调整,适用播客后期与音频内容精修。
- 直播与实时播报:配合 LLM 流式输出实现边生成边播放,适用于新闻播报、直播带货与实时信息播报场景。