AI

ChatTTS:专为自然对话设计的开源对话式文本转语音模型

ChatTTS 是一个开源文本转语音模型,专为对话式语音优化,提供细粒度的韵律控制,支持英文和中文。

ChatTTS:专为自然对话设计的开源对话式文本转语音模型

文本转语音技术近年来取得了巨大进步,但合成语音与人类对话的自然节奏之间仍然存在着持续的差距。大多数 TTS 模型能产出清晰干净的语音,但听起来明显是人造的——发音完美,却缺乏让对话感觉真实的停顿、气息声、笑声和音调变化。ChatTTS 直接针对这个差距,提供一个从头开始为对话式语音而非旁白或公告而设计的开源模型。

由 2noise 团队开发,ChatTTS 因其能够产生听起来真正像人类的语音而在开源社区中迅速获得关注。该模型在超过 30,000 小时的对话音频数据上进行训练,刻意优先考虑自然的对话模式,而非大多数商业 TTS 数据集所偏好的原始录音质量。其结果是一个会笑、会停顿、会逐渐消失,并以感觉非常自然的方式变化音高和节奏的模型。

该模型的架构建立在现代的基于 transformer 的神经编解码器语言模型之上,理念上类似于 Bark 和 VALL-E 等模型,但专门针对网络上使用最广泛的两种语言——英文和中文——进行了优化。它在单个句子中混合使用英文和中文的能力,使其对于从语言学习到国际客服等双语应用特别有价值。


ChatTTS 与其他 TTS 模型有何不同?

根本差异在于训练数据的理念和韵律建模。大多数 TTS 系统在有声书录音或专业旁白数据集上训练:干净、节奏良好且刻意清晰地发音。这些在朗读时效果极佳,但在对话情境中听起来不自然。

ChatTTS 在对话数据上训练——真实的人类对话,包含所有的不完美、重叠、犹豫和富有表现力的变化。模型学会了重现这些模式,包括副语言元素,如笑声、可听见的呼吸声和填充词(“嗯”、“啊”),这些对于听起来自然的对话至关重要,但通常会被 TTS 训练语料库过滤掉。

TTS 模型训练数据韵律控制语言自然度评分VRAM
ChatTTS30,000+ 小时对话细粒度标记英文、中文非常高4 GB
Bark (Suno)标记音频粗略(说话者提示)多语言10+ GB
VALL-E (Microsoft)60,000 小时说话者适应英文非常高8+ GB
Piper TTS多样化有限(速度/音高)多语言中等1-2 GB
Edge / Azure TTS专业录音室SSML 标记100+ 语言云 API

ChatTTS 的韵律控制实际如何运作?

ChatTTS 提供了开源 TTS 中最细粒度的韵律控制系统之一。韵律标记不需要复杂的 SSML 标记或后处理,而是直接作为特殊标记嵌入在文本中:

标记效果使用示例
[laugh]轻笑“那太好笑了 [laugh] 我真不敢相信”
[uv_break]清音呼吸/停顿“嗯 [uv_break] 让我想想”
[v_break]浊音犹豫“我不太确定 [v_break] 也许明天?”
[lbreak]长停顿以强调“答案是 [lbreak] 四十二”
词内冒号延长元音“我非: 常抱歉听到这个”

这种基于标记的方法意味着开发人员可以编写具有特定情感和节奏质量的对话,而不需要单独的韵律预测模型。这些标记的功能类似于剧本中的舞台指示——它们告诉模型如何表演台词,而不仅仅是说什么词。


ChatTTS 有哪些实际应用?

ChatTTS 以对话为重点,解锁了传统 TTS 力不从心的使用案例:

语音助手和聊天机器人受益最直接。客服机器人读稿式回应听起来机械化;使用 ChatTTS 则可以插入自然的犹豫、确认甚至同情的语调。语言学习应用程序可以使用 ChatTTS 生成逼真的双语对话示例,具有真实的节奏。对话量大的有声书旁白,当角色以自然的对话模式说话时会更具吸引力。内容创作——包括 YouTube 旁白、播客片段和社交媒体配音——可以从不像合成语音的语音中获得制作价值。

应用传统 TTSChatTTS重要性
客服 IVR明显合成近乎人类对话更高的客户满意度
语言学习应用僵硬发音自然对话流畅度更好的听力理解
游戏 NPC 对话预录或机械化动态、富有表现力的语音降低制作成本
无障碍工具功能正常但平淡引人入胜、多变的表达改善用户体验
内容创作需要大量编辑更少的后期制作更快的生产周期

ChatTTS 的资源需求如何?

ChatTTS 设计用于实际部署。该模型在 GPU 推理时约需 4 GB VRAM,这个适中的占用空间可以在大多数消费级 GPU 上运行。CPU 推理是可行的,但速度约慢 10-20 倍。

推理模式硬件速度(每秒音频)
CUDA GPUNVIDIA RTX 3060+~0.3-0.5 倍实时
CUDA GPUNVIDIA RTX 4090~2-3 倍实时
Metal GPUApple M2/M3~0.8-1.5 倍实时
仅 CPU现代多核~5-10 倍实时

该模型的 GitHub 仓库提供了简单的 Python API。基本的推理脚本只需不到 20 行代码,让非语音合成专家的开发人员也能轻松上手。


关于 ChatTTS 的常见问题


如何开始使用 ChatTTS

对于熟悉 Python 和 PyTorch 的人来说,在本地设置 ChatTTS 非常简单:

  1. github.com/2noise/ChatTTS 克隆仓库
  2. 安装依赖项:pip install ChatTTS torch torchaudio
  3. 运行基本推理脚本:
import ChatTTS
import torchaudio

chat = ChatTTS.Chat()
chat.load_models()

texts = ["你好 [uv_break] 这是 ChatTTS 的测试 [laugh]"]
wavs = chat.infer(texts, use_decoder=True)
torchaudio.save("output.wav", wavs[0], 24000)

模型权重在首次加载时自动下载。完整的管道——从文本到可播放的 WAV 文件——在支持 CUDA 的 GPU 上只需不到一分钟即可运行。


ChatTTS 的许可证考量

ChatTTS 采用双重许可方法。默认的开源许可证是 AGPLv3,要求任何包含该模型权重的软件在分发时也必须使用兼容的开源许可证。对于非商业研究和个人项目,可以使用 CC BY-NC 4.0 许可证,只要不用于商业目的即可免费使用。

正在构建商业应用程序的开发人员应仔细查阅仓库中的许可证文件,并考虑 AGPLv3 条款是否与其分发模式兼容。该仓库还包含一份用于商业许可查询的单独协议。


延伸阅读

TAG
CATEGORIES