ChatTTS 是由 2noise 团队开源的对话式文本转语音模型,聚焦 LLM 助手、日常交互等对话场景,凭借自然韵律、细粒度控制与多语言能力,成为当下热门的开源 TTS 方案。项目地址:https://github.com/2noise/ChatTTS,代码遵循 AGPLv3+ 协议,模型遵循 CC BY-NC 4.0 协议,仅限学术与非商业使用。
一、项目核心定位与前言
ChatTTS 专为日常对话、AI 助手交互设计,区别于传统朗读式 TTS,主打自然流畅的拟人化语音,支持中英双语、多音色切换,可精准控制笑声、停顿、语气词等韵律细节。开源版为 4 万小时预训练基础模型,未经过 SFT 监督微调,完整训练数据超 10 万小时,兼顾研究与二次开发需求。
核心目标:降低对话式语音合成门槛,让开发者快速搭建自然、有温度的 AI 语音交互能力,适用于智能助手、语音播报、内容配音等场景。
二、核心功能与特色亮点
1. 对话场景深度优化
- 专为 LLM 对话、日常交流定制,语音自然不生硬,告别机械朗读感;
- 支持多说话人模式,可切换不同音色,适配多角色对话场景。
2. 中英双语完美支持
- 原生支持中文、英文输入,中英文混读无压力,发音准确、韵律协调;
- 兼顾中英文语调习惯,混读场景无明显割裂感,适配国际化需求。
3. 细粒度韵律控制
- 支持笑声
\[laugh\]、短停顿\[uv\_break\]、长停顿\[lbreak\]等标记嵌入; - 可通过参数调节口语化程度、笑声频率、停顿时长,精准定制语音风格。
4. 韵律表现领先开源圈
- 优于多数开源 TTS 模型,语调起伏、语气轻重更贴近真人表达;
- 提供预训练模型,支持二次微调,方便研究者优化适配特定场景。
5. 易用性与扩展性拉满
- 提供 WebUI 可视化界面、命令行、Python API 三种调用方式;
- 支持流式音频生成,适配实时交互场景;后续将开放多情感控制、DVAE 编码器等能力。
三、硬件配置推荐(实测可用)
ChatTTS 对显存敏感,优先推荐 NVIDIA 显卡,无 GPU 可使用 CPU 运行(速度较慢),具体配置如下:
| 配置等级 | 显卡 | 内存 | 硬盘 | 适用场景 |
|---|---|---|---|---|
| 最低配置 | NVIDIA GTX 1650(4GB 显存) | 16GB | 8GB 空闲 | 短文本测试、简单体验 |
| 推荐配置 | RTX 3060(12GB 显存)及以上 | 32GB | 15GB 空闲 | 长文本生成、稳定部署 |
| CPU 兼容 | 无独立显卡 | 16GB+ | 10GB 空闲 | 调试、非实时使用 |
补充说明:
- 生成 30 秒音频至少需 4GB 显存,RTX 4090 可实现约 7 个语义令牌 / 秒,实时因子 RTF≈0.3;
- AMD/Intel 核显暂不支持 GPU 加速,仅能通过 CPU 运行。
四、保姆级安装与部署教程
开源地址:https://github.com/2noise/ChatTTS
在线体验:ChatTTS 在线语音合成 - 对话式 AI 语音 自然情感表达
开发平台:ChatTTS 语音合成API接口文档
方式一:源码部署(开发者首选)
- 克隆项目
git clone https://github.com/2noise/ChatTTS
cd ChatTTS
- 环境配置(推荐 Python 3.11)
# 创建虚拟环境
conda create -n chattts python=3.11
conda activate chattts
# 安装依赖
pip install --upgrade -r requirements.txt
# 可选:Linux 安装 vLLM 加速
pip install safetensors vllm==0.2.7 torchaudio
- 快速启动
- 启动 WebUI 可视化界面:
python examples/web/webui.py
- 命令行生成语音(保存为 MP3):
python examples/cmd/run.py "待合成文本"
方式二:PyPI 快速安装(简洁版)
# 安装稳定版
pip install ChatTTS
# 安装 GitHub 最新版
pip install git+https://github.com/2noise/ChatTTS
方式三:Docker 部署(服务器 / 免环境折腾)
# GPU 加速版(推荐)
docker compose -f docker-compose.gpu.yaml up -d
# CPU 兼容版
docker compose -f docker-compose.cpu.yaml up -d
部署关键避坑提示
- 路径禁止中文、空格,否则启动失败;
- Windows 需安装 CUDA 11.8+ 启用 GPU 加速;
- 显存不足时,添加
cpu\_offload=True参数卸载部分计算到 CPU。
五、基础使用示例(Python 代码)
import ChatTTS
import torch
import torchaudio
# 初始化模型
chat = ChatTTS.Chat()
chat.load(compile=False) # 显存有限可设 compile=False
# 待合成文本
texts = ["ChatTTS 开源对话式 TTS,支持中英双语与笑声、停顿控制!"]
# 基础生成
wavs = chat.infer(texts)
# 保存音频
torchaudio.save("output.wav", torch.from_numpy(wavs[0]).unsqueeze(0), 24000)
进阶:自定义音色与韵律
# 随机采样音色
rand_spk = chat.sample_random_speaker()
# 调节韵律:口语化2级、无笑声、停顿6级
params_refine_text = ChatTTS.Chat.RefineTextParams(
prompt='[oral_2][laugh_0][break_6]'
)
# 带参数生成
wavs = chat.infer(texts, params_refine_text=params_refine_text)
六、常见问题(FAQ)
- 显存不足怎么办? 启用
chat\.load\(compile=False, cpu\_offload=True\),降低显存占用。 - 生成语音不稳定、多音色混杂? autoregressive 模型常见问题,多次采样筛选最优结果。
- 能否商用? 模型遵循 CC BY-NC 4.0 协议,禁止商业使用,仅限学术研究。
七、总结
ChatTTS 是对话场景最优开源 TTS 选择之一,凭借自然韵律、细粒度控制、中英双语能力,完美适配 AI 助手、语音交互、内容配音等场景。部署简单、配置门槛友好,无论是新手体验还是开发者二次开发,都能快速上手。
项目持续迭代中,后续将开放情感控制、DVAE 编码器等能力,感兴趣的可关注 GitHub 仓库更新。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)