ChatTTS是什么
ChatTTS 是 2Noise 开发的生成式文本转语音模型,专门面向聊天助手、多人对话和口语化内容,而不是传统播报式朗读。
项目支持中文与英文,可在本地通过 Python、命令行或示例 WebUI 生成语音。英语在项目说明中仍标为实验性,不能假定与中文达到相同稳定度。
先区分官方项目与同名网站
| 对象 | 运营或维护方 | 当前性质 | 使用判断 |
|---|---|---|---|
| ChatTTS模型与代码 | 2Noise | 官方开源研究项目 | 以代码仓库和模型卡为事实标准 |
| ChatTTS官方简页 | 2Noise | 仅链接代码和模型 | 没有付费云生成入口 |
| 同名介绍网站 | NEXGOE LLC | 第三方产品介绍和演示聚合页 | 不是 2Noise 官方服务 |
| 网页中的免费演示 | 嵌入社区 Hugging Face Space | 第三方说话人演示 | 数据和可用性由外部服务决定 |
| 同名商店应用 | 其他开发者 | 第三方客户端 | 不能视为 2Noise 官方应用 |
同名网站链接官方仓库,但页面存在训练时数互相冲突、仍把已发布模型写成未来计划、宣称多语言 SDK 等未经官方项目证实的内容。实际部署和许可应以 2Noise 当前仓库与模型卡为准。
模型与训练数据状态
| 项目 | 状态 | 说明 |
|---|---|---|
| 主模型 | 未完整公开 | 使用超过 10 万小时中英文音频训练 |
| 公开模型 | 已发布 | 4 万小时预训练模型,没有监督微调 |
| 主要语言 | 中文与英文 | 英语仍处于实验性状态 |
| 训练数据权利 | 项目不主张所有权 | 资料来自公开渠道,模型仅限学术用途 |
| 安全处理 | 已加入限制措施 | 训练中加入少量高频噪声,并压缩公开音频质量以降低滥用风险 |
公开模型不是 10 万小时主模型的完整版本,也不是经过面向最终用户精调的商业语音引擎。网站宣传的训练规模和音质不能替代对公开权重的实际测试。
主要功能
对话式语音合成
- 输入中文、英文或一定程度的中英混合文本,模型生成更接近日常对话节奏的语音。
- 适合为 LLM 助手、对话原型、研究演示和多轮交互生成连续音频。
- 输出可用 24000Hz 采样率保存为 WAV,仓库命令行示例也会生成 MP3 文件。
- 它负责把文字转成声音,不负责理解业务问题、检索知识或生成对话文本。
多说话人与随机音色
- 模型支持多说话人,开发者可以采样随机 speaker embedding 获得不同音色。
- 保存采样得到的说话人嵌入后,可在后续推理中尝试复用相近音色。
- 随机说话人不是上传样本进行身份复刻,当前公开仓库没有把零样本声音克隆列为已完成能力。
- 同名网站宣传的声音克隆入口指向其他产品,不能作为 ChatTTS 官方模型能力。
笑声、停顿与口语化控制
- 句子级提示可调 oral、laugh 和 break 强度,用于控制口语程度、笑声倾向与停顿长度。
- 词级控制目前主要包括 laugh、uv_break 和 lbreak,可在指定位置插入笑声或不同停顿。
- temperature、top_P 和 top_K 用于调整采样随机性,参数变化会影响音色、韵律和稳定度。
- 更多情绪控制仍在路线图中,当前公开模型不能稳定按任意情绪标签生成。
批量推理与本地工具
- Python 接口可一次提交多段文字并返回音频数组,适合离线批量生成测试素材。
- 仓库提供命令行入口,可直接把一段或多段文字保存为本地音频。
- 示例 WebUI 便于在浏览器中测试本地模型,但它是开发示例,不是带账户、队列和 SLA 的生产平台。
- 官方仓库还提供 Colab 示例,云端运行会受到会话时长、GPU 配额和外部存储规则影响。
输入、参数与输出
| 环节 | 输入 | 输出 | 作用 |
|---|---|---|---|
| 基础推理 | 中文或英文文本 | 音频数组 | 把台词转成语音 |
| 说话人控制 | 随机或保存的 speaker embedding | 特定音色倾向 | 保持角色音色一致性 |
| 句子级韵律 | oral、laugh、break 提示 | 口语感、笑声和停顿变化 | 改善对话表现 |
| 词级韵律 | laugh、uv_break、lbreak 标记 | 指定位置的笑声或停顿 | 精细编排台词 |
| 采样控制 | temperature、top_P、top_K | 不同随机性和音质表现 | 在多次结果中选择 |
| 文件保存 | 音频数组与采样率 | WAV 或示例 MP3 | 剪辑、评测和播放 |
本地安装与使用教程
- 准备 Python 3.11 环境;需要 GPU 时先确认显卡驱动、CUDA、PyTorch 和可用显存相互兼容。
- 从 2Noise 官方仓库克隆代码,或安装 PyPI 中的 ChatTTS 包;不要从同名下载站获取不明可执行文件。
- 在独立虚拟环境安装项目依赖,首次运行前检查依赖版本和已知安全问题。
- 初始化 ChatTTS.Chat 对象,调用当前的 load 方法加载模型;旧教程中的 load_models 可能已经过时。
- 先用短句运行 infer,确认模型下载、推理设备和 24000Hz 音频保存流程正常。
- 需要固定角色时采样并保存 speaker embedding,再用相同嵌入测试多段台词的一致性。
- 使用句子级或词级控制标记调整口语、笑声和停顿,每次只改变少量参数并保留对比样本。
- 批量任务加入文本清洗、最大长度、失败重试和人工试听,避免异常输入造成显存耗尽或低质量音频。
- 对外展示前标记合成语音并检查许可、人物权利和内容风险;商业项目不得使用当前非商业模型权重。
硬件与性能
| 项目 | 官方仓库给出的参考 | 实际影响 |
|---|---|---|
| 30秒音频显存 | 至少约 4GB GPU 显存 | 更长文本、批量和并发会增加需求 |
| RTX 4090速度 | 约每秒 7 个语义 token | 依赖版本、参数与输入,不能外推到所有显卡 |
| 实时因子 | 约 0.3 | 生成时间约为音频时长的三成,属于特定测试条件 |
| CPU运行 | 代码可尝试本地推理 | 速度通常较慢,项目未给统一 CPU 基准 |
| TransformerEngine | 不建议安装 | 适配仍在开发,当前可能无法正常运行 |
| FlashAttention-2 | 不建议作为加速方案 | 项目记录显示可能反而降低生成速度 |
官方性能数字只用于估算开发环境,不能保证生产吞吐量。正式服务应按目标文本长度、并发、说话人数和硬件进行压力测试。
能力边界与已知限制
- 自回归模型可能出现说话人漂移、音质不稳定、异常停顿或同一句多次结果差异较大。
- 项目建议多次采样选择较好结果,这意味着它不适合不经审核的实时关键播报。
- 英语仍属实验性支持,复杂专名、缩写、数字、混合语言和长句可能需要预处理。
- 固定 speaker embedding 只能提高音色一致性,不能证明身份、年龄、性别或情感属性准确。
- 当前公开模型没有完整零样本声音克隆、任意情绪控制和正式流式生成承诺。
- 合成语音不保证无高频噪声、无伪影或适合广播级制作,后期降噪也可能改变音色。
路线图功能
| 功能 | 当前状态 | 使用判断 |
|---|---|---|
| 流式音频生成 | 路线图 | 不能按已上线能力设计实时产品 |
| DVAE编码器开源 | 路线图 | 等待正式代码与许可证 |
| 零样本推理 | 路线图 | 当前不应宣传为声音克隆 |
| 多情绪控制 | 路线图 | 当前控制范围有限 |
| ChatTTS.cpp | 路线图与社区倡议 | 未作为官方稳定跨平台版本交付 |
| 检测模型 | 计划开放 | 当前没有可依赖的公开检测服务 |
价格与使用成本
2Noise 没有为 ChatTTS 提供官方付费云套餐,代码和研究模型可自行下载。这里的“免费”指无需向项目购买订阅,不代表没有硬件、云 GPU、存储、电力和工程维护成本。
| 套餐或版本 | 价格 | 计费周期 | 核心权益或额度 | 适合用户 |
|---|---|---|---|---|
| 官方代码 | 0 元获取 | 无订阅 | AGPLv3+ 代码、Python 与示例工具 | 研究者和开发者 |
| 公开模型 | 0 元获取 | 无订阅 | 4 万小时预训练权重,仅限教育研究和非商业用途 | 学术实验 |
| 本地或云端算力 | 按自有硬件或云平台收费 | 设备投入或按使用量 | 推理、存储和带宽 | 需要批量运行的团队 |
| 同名网页演示 | 页面标为免费 | 第三方服务 | 嵌入社区 Space,额度和可用性未承诺 | 低敏感度快速试听 |
| 商业授权 | 未提供公开价格 | 不适用 | 当前公开模型明确禁止商业用途 | 不能用于商业部署 |
同名网站没有公开 ChatTTS 订阅或结算页面,也不能代表 2Noise 提供商业授权。任何收费镜像、托管 API 或客户端都应单独核验开发者、模型许可和数据政策。
API、SDK与部署方式
| 方式 | 当前状态 | 说明 |
|---|---|---|
| Python包 | 官方提供 | 主要程序化调用方式 |
| 命令行 | 官方示例 | 输入文本并保存本地音频 |
| 本地WebUI | 官方示例 | 适合测试,不是生产托管服务 |
| API示例 | 仓库包含示例目录和 notebook | 需要自行部署和维护 |
| 2Noise公共云API | 暂未提供 | 没有公开密钥申请、价格、限流和 SLA |
| 多语言官方SDK | 暂未提供 | 第三方网站的笼统宣称没有官方项目证据 |
- 自行把 ChatTTS 暴露为网络 API 时,需要处理队列、超时、显存隔离、输入过滤、身份认证和滥用监测。
- 官方仓库中的 OpenAI API notebook 是部署或兼容示例,不表示 2Noise 运营公共接口。
- 社区 WebUI、API 封装和镜像并非官方产品,版本、许可证和安全质量各不相同。
开源许可证与商用限制
| 组件 | 许可证 | 核心限制 |
|---|---|---|
| ChatTTS代码 | AGPLv3+ | 修改、分发和通过网络提供服务时需评估完整开源义务 |
| 公开模型 | CC BY-NC 4.0 | 需要署名,仅限非商业用途 |
| 训练数据 | 项目不主张所有权 | 公开获取不代表没有第三方权利 |
| 生成音频 | 未单独给出完整商业授权 | 不能绕过模型的非商业限制 |
- “代码开源”不等于模型权重可商用,两个许可证必须分别遵守。
- 模型卡明确写教育和研究用途,不应把生成音频用于商业广告、付费产品、客户服务或营利内容。
- AGPLv3+ 对网络服务和修改版本有特定义务,准备公开部署的组织应让合规人员审查实际架构。
- 如果业务需要商业语音,应选择许可证明确允许商业用途的模型或取得权利方书面授权。
隐私、安全与滥用风险
本地部署时,输入文字和生成音频可以留在自己的设备或服务器,这是相对于第三方云端演示的主要隐私优势。项目本身没有为用户账户、在线生成或云存储提供隐私政策,因为 2Noise 不运营公开生成平台。
- 模型文件通常需要从外部模型托管平台下载,部署环境仍会产生网络请求、缓存和依赖安装记录。
- 同名网页演示会把交互交给嵌入的第三方 Space,敏感文本不应在没有核验其政策时提交。
- 第三方 App Store 应用、社区 API 和镜像由各自开发者处理数据,不能套用 2Noise 本地项目的判断。
- 生成接近真人的语音可能被用于冒充、诈骗和误导,应获取声音与台词授权并清楚标识合成内容。
- 项目加入高频噪声并计划开放检测模型,但这不能保证每段音频都可检测、带水印或无法被滥用。
- 对外 API 应限制请求长度、并发和危险内容,记录必要审计信息,同时避免保存无关个人数据。
适合用户与典型场景
- 语音研究人员:评估对话式 TTS、多说话人与韵律控制。
- Python 开发者:搭建本地非商业原型或研究工具。
- 高校与实验室:在许可证范围内开展中文和英文语音实验。
- LLM 应用研究者:为对话助手原型生成口语化回复并测试交互。
- 音频技术学习者:研究采样参数、说话人嵌入和音频保存流程。
- 不适合商业产品、广告、付费内容和未经授权的声音模仿。
优势与限制
| 方面 | 实际判断 |
|---|---|
| 对话表现 | 强调口语、笑声、停顿和多说话人,比纯朗读模型更适合聊天实验 |
| 开发方式 | Python、命令行、WebUI 和示例较齐全,可完全本地运行 |
| 语言 | 中文和英文可用,但英语仍为实验性 |
| 稳定性 | 自回归生成可能漂移,需要多次采样和人工试听 |
| 实时与克隆 | 流式、零样本和更多情绪仍在路线图,不能当作当前功能 |
| 商业使用 | 公开模型明确非商业,是实际应用的关键边界 |
| 网页体验 | 同名网站和演示方便了解概念,但并非官方托管服务且信息有冲突 |
总结
ChatTTS 适合研究对话式语音、多说话人和细粒度韵律控制,官方仓库提供了从 Python 推理到本地 WebUI 的完整入门路径。
使用时必须把 2Noise 官方项目、NEXGOE LLC 同名网站、社区 Space 和第三方应用分开。当前权重只允许教育研究和非商业用途,商业项目、声音克隆宣传以及敏感文本在线生成都需要格外谨慎。
桂公网安备45132202000164号