ChatTTS 是由 2noise 团队开源的对话式文本转语音模型,聚焦 LLM 助手、日常交互等对话场景,凭借自然韵律、细粒度控制与多语言能力,成为当下热门的开源 TTS 方案。项目地址:https://github.com/2noise/ChatTTS,代码遵循 AGPLv3+ 协议,模型遵循 CC BY-NC 4.0 协议,仅限学术与非商业使用。

AI 语音合成插图

一、项目核心定位与前言

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接口文档

方式一:源码部署(开发者首选)

  1. 克隆项目
git clone https://github.com/2noise/ChatTTS
cd ChatTTS
  1. 环境配置(推荐 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
  1. 快速启动
  • 启动 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

部署关键避坑提示

  1. 路径禁止中文、空格,否则启动失败;
  2. Windows 需安装 CUDA 11.8+ 启用 GPU 加速;
  3. 显存不足时,添加 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)

  1. 显存不足怎么办? 启用 chat\.load\(compile=False, cpu\_offload=True\),降低显存占用。
  2. 生成语音不稳定、多音色混杂? autoregressive 模型常见问题,多次采样筛选最优结果。
  3. 能否商用? 模型遵循 CC BY-NC 4.0 协议,禁止商业使用,仅限学术研究。

七、总结

ChatTTS 是对话场景最优开源 TTS 选择之一,凭借自然韵律、细粒度控制、中英双语能力,完美适配 AI 助手、语音交互、内容配音等场景。部署简单、配置门槛友好,无论是新手体验还是开发者二次开发,都能快速上手。

项目持续迭代中,后续将开放情感控制、DVAE 编码器等能力,感兴趣的可关注 GitHub 仓库更新。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。