ChatTTS 为什么要做对话式 TTS 而不是通用朗读
传统 TTS 的尴尬
市面上大多数开源 TTS 引擎(例如 VITS、Tacotron 系列)是为"朗读一段文章"设计的。它们能把"今天天气真好"读得标准,但遇到实际对话就露馅了——没有人会在对话里一口气匀速念完整段话,真人说话会有停顿、会笑、会加"嗯""那个"这类语气词,甚至会打断自己。
把传统 TTS 接到 LLM 助手的文字输出后面,结果就是一段毫无感情的机械朗读——完全不像真人在聊天。这就是 ChatTTS 要解决的问题。
ChatTTS 的核心设计
ChatTTS 是 2noise 团队专门为对话场景训练的生成式语音模型。它的优化方向和传统 TTS 完全不同:
- 训练语料侧重对话:10 万小时训练数据主要来自日常对话类音频,而不是新闻播报或有声书
- 韵律而非音素优先:模型首先关注的是"在哪里该停一下""哪里该笑""这句话该用什么语气",音素的准确度反而是次要的
- 细粒度控制标签:允许用户在文本里插入
[uv_break](短停顿)、[laugh](笑声)、[break_6](长停顿)等标签,直接控制生成的韵律走向
与常规 TTS 的对比
| 维度 | 传统 TTS | ChatTTS |
|---|---|---|
| 典型输入 | 一段文章 | 多轮对话 |
| 韵律处理 | 固定停顿规则 | 学习到的对话韵律 |
| 笑声/语气词 | 不支持 | 支持 |
| 说话人 | 预训练固定音色 | 采样式多说话人 |
| 适用场景 | 有声书、导航 | LLM 助手、互动剧情 |
典型使用场景
ChatTTS 目前在以下场景中最有竞争力:
- 语音化的 LLM 助手——让 GPT / Claude 的回复"说出来"
- 互动剧情游戏的多角色配音
- 短视频旁白(需要语气变化的那种,不是平铺直叙的口播)
- 播客 / 电台节目的自动化初稿生成
它不能做什么
ChatTTS 不是万能的,以下场景不太适合:
- 需要精确音素对齐的配音——ChatTTS 是生成模型,音素准确度不如专业级 TTS
- 克隆特定真人的声音(OpenVoice / so-vits-svc 这类项目做声音克隆,ChatTTS 做的是对话韵律)
- 实时流式对话(流式音频生成在路线图中,当前版本是一次性生成整段)
