数据与分析 text-to-speechspeech-synthesisconversational-audiomultispeaker-voiceprosody-controlchinese-speechenglish-speechpytorch

ChatTTS 对话语音模型

为中英文日常对话生成自然、可控的多说话人语音。

FollowAgents 评估 · FARS-2.1
谨慎使用
66/ 100 五分制 3.3 / 5
1 2 3 4 5 6
1信任安全12 / 29 · 2.1/5

项目主要作为显式调用的本地语音生成库和示例运行,未显示索取凭据或广泛系统权限,因此最小权限和外部影响得到部分支持;README也说明命令行会写入音频文件。扣分在于模型与依赖下载的数据流、遥测和网络行为没有完整说明,未提供敏感文本或生成音频的处理政策,也没有操作级确认或回滚机制。依赖仅少量固定版本,requirements中多数依赖范围宽泛;工作流直接下载并安装第三方deb且未在所示步骤中校验其摘要,Actions也按版本标签而非提交固定。许可证、模型许可、上游项目、贡献者和联系方式归属清楚,故来源归属满分;发布者未获企业登记验证仅表示身份未知。

2可靠稳定8 / 14 · 2.9/5

README、依赖清单和工作流大体构成一致的安装与使用路径,PyPI、GitHub、Hugging Face及多种安装方式提高依赖可获得性。扣分是英文同时被列为支持语言又在示例中称为实验性,模型和若干组件依赖外部服务,且没有离线保障。故障说明主要是安装警告、已知质量问题以及音频保存的兼容性回退;示例使用无类型区分的裸except,也没有系统化错误诊断。

3适用触发15 / 18 · 4.2/5

对话式TTS、LLM助手、研究用途、中英文、WebUI、命令行和Python API等受众与场景均有明确说明。能力边界也较充分,包括仅研究/教育用途、非商业模型许可、英语实验性、有限控制标记、质量不稳定以及尚未完成的情绪控制。扣分在于输入触发规则主要靠示例描述,特殊标记的语法和冲突处理不完整;环境说明覆盖Python 3.11、Linux专属依赖、GPU选项与显存需求,但缺少完整的操作系统、CPU、驱动和兼容性矩阵。

4规范维护15 / 18 · 4.2/5

README结构清晰,安装路径、快速开始、基础和高级示例、FAQ、路线图、许可及联系方式齐全。代码AGPLv3+与模型CC BY-NC 4.0被明确区分,且提供完整AGPL文本,因此许可满分。扣分在于包名大小写和安装来源可能造成一定辨识负担,未提供正式API稳定性承诺;PyPI徽章和路线图不能替代版本政策或变更日志。维护渠道有issues、PR、邮箱和社群,但未列出明确负责人,且发布者身份仍未知。

5有效结果12 / 13 · 4.6/5

输出为可直接保存和播放的音频数组或MP3/WAV文件,示例展示多说话人采样、韵律控制和不同调用方式,具有明确的对话语音生成增量价值。扣分主要在成本披露不完整:FAQ给出至少4GB显存、4090速度和RTF参考,但未系统说明模型下载体积、CPU性能、内存、能耗或生产部署成本;模型的非商业限制也缩小了实际采用范围。

6证据核验4 / 8 · 2.5/5

安装命令、API调用、依赖版本下限、硬件参考和许可陈述可定位到具体文件,但诸如超过多数开源TTS的韵律、训练时数、自然度和安全缓解效果等重要主张缺少随附基准、数据说明或可审计结果,因此主张可追溯性较弱。README与LICENSE对代码许可形成有限交叉印证,requirements和工作流也支持部分环境事实,但材料总体集中于单一项目来源。文档能够区分已发布功能、路线图、实验性能力和免责声明,因此事实与推断分离较好;营销性比较和安全效果仍未清楚标为未经验证的主张。

证据充分度: 评估于 2026年8月21日 审查版本 77b89ee281cd
源码中未见的安全控制:敏感信息处理、回滚或恢复路径
使用前请注意
  • 模型采用CC BY-NC 4.0并明确限制为教育和研究用途;不要仅依据代码的AGPL许可推定模型可商用。
  • 输入文本和生成音频可能包含敏感信息,但所给材料未说明保留、遥测、缓存、远程下载交互或删除政策。
  • requirements中多数依赖未锁定精确版本;部署前应生成锁文件、审计传递依赖,并验证模型与二进制下载的完整性。
  • 工作流直接下载并安装第三方deb,所示步骤没有先验证固定摘要;自动化环境应固定不可变版本并校验来源。
  • README承认自回归生成可能出现多说话人或低音质问题,需要重复采样;不应把单次输出用于高风险或身份敏感场景。
  • 训练数据来源、比较性质量主张和高频噪声安全措施未由所给材料独立验证。
评估证据 [1][2][3][4][5]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

ChatTTS 是面向对话场景的生成式文本转语音模型,尤其适合为 LLM 助手合成语音,但它本身不是完整的自主 Agent。仓库提供算法基础设施、预训练模型接入方式、Python 库、命令行示例和 WebUI,可在本地读取文本并生成 WAV 或 MP3 音频。模型支持中文和英文、多说话人音色采样,以及对笑声、停顿和口语化程度等韵律特征的有限控制。已发布的开放模型是未经 SFT 的 4 万小时预训练版本,主模型则使用超过 10 万小时的中英文音频训练。代码采用 AGPLv3+,模型采用 CC BY-NC 4.0,且明确限于教育和研究用途,因此不适合需要商业授权或稳定生产质量的团队直接采用。

用户通过 ChatTTS.Chat() 创建实例并调用 chat.load(compile=False) 加载模型;chat.infer(texts) 接收一个或多个文本并返回音频数组。程序可用 torchaudio.save 将结果写成 24 kHz WAV,命令行示例 python examples/cmd/run.py 则把音频保存为 ./output_audio_n.mp3chat.sample_random_speaker() 可采样说话人嵌入,并通过 ChatTTS.Chat.InferCodeParams 设置 spk_embtemperaturetop_Ptop_KChatTTS.Chat.RefineTextParams 支持句级提示,如 [oral_2][laugh_0][break_6];跳过文本细化后,还可在文本中使用 [laugh][uv_break][lbreak] 进行词级控制。仓库也能运行 python examples/web/webui.py 提供本地 WebUI,并已列出流式音频生成和零样本推理代码。

  1. 研究人员需要在本地评估中英文对话式 TTS,并研究自回归语音生成、音频分词或韵律表现。
  2. LLM 助手原型开发者需要把回复文本转换成带有停顿、笑声和口语化节奏的语音。
  3. 交互式演示开发者需要从随机说话人嵌入生成不同音色,用于多角色对话原型。
  4. Python 开发者需要批量输入多段文本,并将返回的数组保存为 24 kHz WAV 音频。
  5. 研究团队需要通过本地 WebUI、命令行或 Python API 比较多次采样结果并筛选可用语音。

这个 Agent 有哪些优点和局限?

优点
  • 专门针对对话式语音优化,支持中文、英文及多说话人生成,而不是只面向单一旁白场景。
  • 提供句级与词级韵律控制,可显式插入笑声、长短停顿并调整口语化参数。
  • 同时提供 Python API、命令行程序和本地 WebUI,便于研究、批处理和交互式试验。
  • 支持随机说话人嵌入、流式音频生成和零样本推理代码,适合进一步研究与原型开发。
局限
  • 已发布模型采用 CC BY-NC 4.0,并被明确限定为教育和研究用途,不能直接用于商业项目。
  • 自回归生成可能出现多说话人混入或音质不佳,文档建议重复采样来寻找合适结果。
  • 当前词级控制只有 [laugh][uv_break][lbreak],多情绪控制仍在路线图中。
  • 英文仍被标注为实验性功能;来源没有承诺生产级稳定性或完整性。
  • 生成 30 秒音频至少需要 4 GB GPU 显存;即使在 RTX 4090 上,文档给出的实时因子也约为 0.3。
  • 训练时加入了少量高频噪声,并用 MP3 尽量压缩音质以降低滥用风险,这会限制追求高保真输出的场景。

如何安装或部署这个 Agent?

克隆并安装依赖:

git clone https://github.com/2noise/ChatTTS
cd ChatTTS
conda create -n chattts python=3.11
conda activate chattts
pip install -r requirements.txt

也可安装稳定版:

pip install ChatTTS

或安装 GitHub 最新版:

pip install git+https://github.com/2noise/ChatTTS

本地开发模式使用:

pip install -e .

首次使用还需要加载模型;来源未要求 API 密钥。若使用 GPU,FAQ 表明生成 30 秒音频至少需要 4 GB 显存。Linux 可选安装 safetensors vllm==0.2.7 torchaudio。文档明确不建议安装仍无法正常运行的 TransformerEngine 适配,也不建议为了推理安装会拖慢生成速度的 FlashAttention-2。

如何使用这个 Agent?

在项目根目录启动 WebUI:

python examples/web/webui.py

命令行生成 MP3:

python examples/cmd/run.py "Your text 1." "Your text 2."

Python 最小调用:

import ChatTTS
import torch
import torchaudio
chat = ChatTTS.Chat()
chat.load(compile=False)
wavs = chat.infer(["Hello from ChatTTS.", "你好,这是 ChatTTS。"] )
torchaudio.save("output.wav", torch.from_numpy(wavs[0]).unsqueeze(0), 24000)

部分 torchaudio 版本要求直接传入 torch.from_numpy(wavs[0]),而不是增加一个维度。若要控制韵律,可创建 ChatTTS.Chat.RefineTextParams(prompt='[oral_2][laugh_0][break_6]') 并传给 chat.infer

这个 Agent 与同类方案有什么区别?

仓库将 Bark、XTTSv2 和 VALL-E 列为自回归式 TTS 参考,并说明此类模型通常难以完全避免说话人混入和音质波动。Fish Speech 被列为使用 GVQ 音频分词器进行 LLM 建模的参考;ChatTTS 自身使用预训练的 Vocos 声码器。来源没有给出这些具名系统之间的统一量化基准,因此无法据此断言 ChatTTS 在速度、音质或稳定性上全面领先。

常见问题

可以用于商业产品吗?
不能按已发布模型的现有条款直接商用。代码是 AGPLv3+,模型是 CC BY-NC 4.0,并明确限定为教育和研究用途。
运行需要多少显存?
FAQ 表明生成 30 秒音频至少需要 4 GB GPU 显存;RTX 4090 约可生成每秒 7 个语义 token,实时因子约为 0.3。
必须连接 ChatGPT 或其他模型 API 吗?
不需要。来源只展示本地 Python、CLI 和 WebUI 工作流,没有记录 ChatGPT、Codex、Claude 或其 API 的原生集成。
为什么同一段文字有时音质不佳或混入多个说话人?
这是文档承认的自回归模型稳定性问题,通常难以完全避免;建议进行多次采样并选择合适结果。
现在能精确控制哪些情绪或语气?
可控制口语化提示、笑声和停顿;当前发布模型的词级控制仅有 [laugh][uv_break][lbreak]。多情绪控制尚未完成。

相关 Agents