Chatterbox TTS:用 10 秒录音做出 23 种语言的声音克隆,完整讲清楚
2026/9/13 22:50:38 网站建设 项目流程

Chatterbox TTS:用 10 秒录音做出 23 种语言的声音克隆,完整讲清楚

【免费下载链接】chatterboxSoTA open-source TTS项目地址: https://gitcode.com/GitHub_Trending/chatterbox7/chatterbox

给它一段 10 秒的录音,这个声音马上就能开口说中文、法语、日语。这就是 Chatterbox,Resemble AI 开源的文本转语音(TTS)模型,无需训练、无需配音演员,只要一块显卡甚至纯 CPU,就能开始做多说话人对话、视频解说和助手配音。

认识 Chatterbox:一个家族,三档模型

Chatterbox 不是一个模型,而是一族:Multilingual V3 约 5 亿参数,支持 23 种以上语言,比上一版说话人相似度更高、乱说话的情况更少;Turbo 约 3.5 亿参数,主打低延迟英文语音交互,原生支持[laugh][chuckle]这类副语言标签;Nano 只有 1.1 亿参数,能在 CPU 上跑,8 核机器上约为实时速度的 3 倍。所有生成的音频都会隐式写入 Perth 水印,可用来追溯音频是否由模型生成。整个项目免费开源,适合需要做角色配音、多语言解说或语音助手的开发者和内容创作者。

三步装好并生成第一段语音

  1. 安装:一条命令装好,依赖版本在pyproject.toml中已固定。想改代码或依赖时,可从 https://gitcode.com/GitHub_Trending/chatterbox7/chatterbox 拉取源码,进入目录后执行pip install -e .
pip install chatterbox-tts
  1. 加载模型并生成:
import torchaudio as ta from chatterbox.mtl_tts import ChatterboxMultilingualTTS model = ChatterboxMultilingualTTS.from_pretrained(device="cuda", t3_model="v3") wav = model.generate("你好,今天天气真不错。", language_id="zh", audio_prompt_path="ref.wav") ta.save("out.wav", wav, model.sr)
  1. 听结果:device可填cudampscpulanguage_id指定目标语言;audio_prompt_path传入参考录音即可启用声音克隆;模型权重首次运行会自动下载。

拆解四个核心能力

零样本声音克隆:一段录音换一个声音

能做什么:不训练、不微调,直接用别人的声音说新文本。怎么做:把一段录音路径传给generateaudio_prompt_path,模型内部会自动提取说话人特征。效果:说话人音色和口癖基本保留,参考音频建议选 5~10 秒、安静清晰的片段。适合给游戏角色一人一份录音做全套台词。

23 种语言自由切换:一个声音说多种话

能做什么:同一个声音克隆体说法语、中文、日语等 23 种以上语言。怎么做:generate时传对应的language_id,如frzh。效果:V3 版本针对跨语言场景优化,音色和口音的稳定性比 V2 更好。适合做本地化视频解说或多语言有声内容。

情感强度可调:平静到夸张之间滑动

能做什么:控制语音的情绪表现力。怎么做:exaggeration管情绪强弱(同时会让语速变快),cfg_weight管多贴参考音色(数值越低越自由)。效果:两个参数配合就能从平稳播报滑到夸张表演,适合广告配音这类需要戏剧张力的场景。

低延迟与 CPU 部署:没有显卡也能跑

能做什么:在资源紧张的环境里实时出声。怎么做:用ChatterboxTurboTTS加载 Turbo,加nano=True换成 Nano,device直接写cpu。效果:解码步骤从 10 步压缩到 1 步,Turbo 的算力与显存占用低于老模型,Nano 面向端侧和 CPU 推理。适合实时语音助手和电话客服这类对延迟敏感的应用。

此外还有一项独立能力:语音转换。ChatterboxVCgenerate接收原始音频和目标音色路径,能把一段已有录音"换声"成目标说话人的声音,适合给旧素材重新配音。

按场景选参数:对照表与三个常见坑

场景推荐值说明
通用合成exaggeration=0.5cfg_weight=0.5默认配置,多数语言和提示词下表现均衡
参考人语速偏快cfg_weight≈0.3降低对参考节奏的跟随,语速更自然
戏剧化、夸张表达cfg_weight≈0.3exaggeration≥0.7exaggeration会加快语速,调低cfg_weight可压回节奏
参考音频与目标语言不一致cfg_weight=0避免把参考音频的口音"带"进其他语言

问:合成其他语言时,声音带着参考音频的口音怎么办? 答:让参考录音的语言和language_id一致;确实需要跨语言克隆时,把cfg_weight设为0

问:生成的语音语速忽快忽慢、听感不稳? 答:多半是exaggeration调太高导致语速被推快,把它降回 0.5 左右,再用cfg_weight微调节奏。

问:显存不够或者干脆没有 GPU? 答:换成 Turbo 或 Nano(nano=True),devicecpu,架构相同且解码只走一步,速度差距可接受。

从示例脚本开始你的第一条合成

Chatterbox 把"多说话人、多语言、可调节情绪"三件事打包进了一个 pip 可装的开源项目,从一段录音到成品音频之间只剩几行代码。下一步建议先运行 example_tts.py 跑通英文和多语言合成,再打开 example_vc.py 试试set_target_voice与语音转换,example_tts_turbo.py 则能演示副语言标签的用法。

【免费下载链接】chatterboxSoTA open-source TTS项目地址: https://gitcode.com/GitHub_Trending/chatterbox7/chatterbox

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询