资讯动态

Chatterbox 语音合成完全教程:23 种语言、3 秒声音复刻与情感调音

发布时间:2026/9/5 18:42:43 来源:尧图企业网站定制
Chatterbox 语音合成完全教程23 种语言、3 秒声音复刻与情感调音【免费下载链接】chatterboxSoTA open-source TTS项目地址: https://gitcode.com/GitHub_Trending/chatterbox7/chatterbox跑通第一条生成命令后目录里会多出几个 wav 文件同一段法语用男声读、用女声读中文播客腔、日语广告腔各一版全都来自同一个 5 亿参数的模型而复刻某个人声音时你手里只有对方 3 秒左右的录音。Chatterbox 是 Resemble AI 开源的多语言 TTS语音合成项目核心解决三件事用 23 种语言的文本直接出声、用几秒参考音频克隆音色、用两个参数控制说话的夸张程度。为什么值得装一台先说它对你的实际用处再谈细节一次装好全球 23 种语言中、英、日、韩、法、德、西、俄、阿拉伯语都在同一个模型里切换只靠一个语言代码不用为每种语言单独部署模型声音复刻零门槛3 到 5 秒清晰人声即可当参考片段跨语言克隆用英文素材的声音说中文也基本稳定情感有旋钮exaggeration控制夸张程度cfg_weight控制语速节奏日常、播报、戏剧化各有一套调法界面现成Gradio 可视化页面开箱即跑不写代码也能试参数从零跑通装环境到出第一声音频官方在 Python 3.11 上开发测试过所有依赖版本都固定在 pyproject.toml 里所以装好就能跑不用来回查版本。先建个独立环境conda create -yn chatterbox python3.11 conda activate chatterbox然后是安装两条路选一条pip install chatterbox-tts或者从源码装适合要改代码的人git clone https://gitcode.com/GitHub_Trending/chatterbox7/chatterbox cd chatterbox pip install -e .首次生成音频参考 example_tts.py 的最小用法——先自动选设备再加载模型、传文本、存文件import torch import torchaudio as ta from chatterbox.tts import ChatterboxTTS # cuda 优先没有就退回 cpuMac 可写 mps device cuda if torch.cuda.is_available() else cpu model ChatterboxTTS.from_pretrained(devicedevice) wav model.generate(Today is a good day for a long walk.) ta.save(first.wav, wav, model.sr)第一次运行会从 Hugging Face 拉模型权重之后就走本地缓存了。播放first.wav出声就算跑通。23 种语言一键切换你要做多语言 App、给视频批量换配音或者内容要面向不同地区就用多语言模型。入口在 mtl_tts.py用法和单语言版几乎一样多传一个language_idfrom chatterbox.mtl_tts import ChatterboxMultilingualTTS mtl ChatterboxMultilingualTTS.from_pretrained(devicedevice) # 想用 V3 检查点加载时加 t3_modelv3 french Bonjour, comment ça va? Ceci est un test de synthèse vocale. zh 你好这是一个语音合成测试。 ta.save(french.wav, mtl.generate(french, language_idfr), mtl.sr) ta.save(chinese.wav, mtl.generate(zh, language_idzh), mtl.sr)支持的语言和代码一共 23 种语言代码语言代码语言代码语言代码阿拉伯语ar英语en意大利语it荷兰语nl丹麦语da西班牙语es日语ja挪威语no德语de芬兰语fi韩语ko波兰语pl希腊语el法语fr马来语ms葡萄牙语pt希伯来语he印地语hi中文zh俄语ru瑞典语sv斯瓦希里语sw土耳其语tr对中文、拉美/西班牙西语、巴西/葡萄牙葡语、印地语这 6 个重点语种官方还出了单独的专项微调模型Single Language Pack需要更细的口音与方言控制时可以考虑。3 秒参考音频复刻一个声音你要给播客换固定主播音、把客户的一段话转成品牌声音、或者给角色配音但不想录就是声音复刻的活儿。分两条路走TTS 模式换声音——文本照写把参考音频路径塞给generate即可完整示例见 example_vc.pywav model.generate( text, audio_prompt_pathreference.wav, # 3-5 秒清晰人声 )VC 模式直接换音色——手里已经有一段音频只想换掉说话人from chatterbox.vc import ChatterboxVC vc ChatterboxVC.from_pretrained(device) wav vc.generate(audiospeech.wav, target_voice_pathtarget.wav) ta.save(converted.wav, wav, vc.sr)音色特征由 voice_encoder 模块从参考音频里提取。片段短、清晰、无背景音效果最好3 秒左右就够太长反而容易带进杂音。情感调音两个参数管掉语气同一句今天天气不错可以读成平淡播报也可以读成惊喜分享。开关就是exaggeration夸张度和cfg_weight节奏权重都直接传给generatecalm model.generate(警告系统即将过载, exaggeration0.3, cfg_weight0.6) drama model.generate(警告系统即将过载, exaggeration0.8, cfg_weight0.3)几个实测取向的起点场景exaggerationcfg_weight日常对话0.5默认0.5默认情感朗读0.7 及以上0.3 左右平稳播报0.3 – 0.40.6 – 0.8注意exaggeration调高往往会把语速带快这时把cfg_weight往下压一点节奏就稳了。可视化界面不想写代码就开 Gradio根目录自带三个页面脚本一条命令起来python gradio_tts_app.py # 文本转语音 python gradio_vc_app.py # 语音转换 python multilingual_app.py # 多语言综合应用以 TTS 页面为例左边输入文本、上传参考音频两个滑块分别对应exaggeration0.25–2.00.5 为中性和cfg_weight0–1More options 里还藏着 temperature、min_p、top_p、repetition_penalty 和随机种子右边直接播放结果。调参对比靠听页面比改代码快得多。原理一图流整个流水线是三段文本进 T3、声音进编码器、两路特征合成交给 S3Gen 出波形。三句话讲完文本由 T3 模型 转成语义 token这一步顺带把情感、韵律信息编码进去参考音频由 VoiceEncoder 提出发声人特征两路特征进入 S3Gen 解码成 mel 谱再过 HiFi-GAN 还原波形模块文件在 src/chatterbox/models/ 下都有对应源码想看哪段读哪段。调优与避坑日常对话默认exaggeration0.5、cfg_weight0.5对大多数语言都够用先别动参数。声音复刻参考片段的语言尽量和目标文本一致否则输出可能带上参考片段的口音确实要跨语言时把cfg_weight设为 0 能减轻这种串音。参考说话人语速偏快时cfg_weight降到 0.3 附近节奏会更稳。戏剧化朗读cfg_weight压到 0.3 左右、exaggeration抬到 0.7 以上嫌语速被带快了再回调cfg_weight。常见问题发音发怪 → 先查language_id是不是拼对了显存不够 →devicecpu硬跑只是慢不是不能跑Mac 用户 → 用devicemps具体补丁写法见 example_for_mac.py文本太长 → 单段控制在 200 字内质量更稳最后提一句每条生成音频都内置了 Perth 神经水印能扛住 MP3 压缩和常规剪辑检测准确率接近 100%。用开源模型生成声音这件事本身没问题但别把它用在冒充他人上。写在最后一个模型覆盖 23 种语言、几秒音频就能复刻声音、两个参数就能调语气——这就是 Chatterbox 现在给到的。装好环境先跑第一条generate命令把first.wav听进耳朵里剩下的调参就交给耳朵。【免费下载链接】chatterboxSoTA open-source TTS项目地址: https://gitcode.com/GitHub_Trending/chatterbox7/chatterbox创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价