ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Chatterbox 开源语音合成快速上手:支持23种语言、3秒声音克隆,5行代码出结果

Chatterbox 开源语音合成快速上手:支持23种语言、3秒声音克隆,5行代码出结果 Chatterbox 开源语音合成快速上手支持23种语言、3秒声音克隆5行代码出结果【免费下载链接】chatterboxSoTA open-source TTS项目地址: https://gitcode.com/GitHub_Trending/chatterbox7/chatterbox想让自己的博客文章开口朗读还顺手生成中、英、日多语言版本Chatterbox 是 Resemble AI 开源的一套语音合成TTS模型约5行 Python 代码即可出片喂一段3秒录音就能克隆声音多语言版一次覆盖23种语言全部模型免费可商用下载。一分钟认识 ChatterboxChatterbox 是 Resemble AI 发布并开源维护的 TTS 模型家族最新的多语言版本为 Multilingual V3。它的定位很清晰用开源模型做到接近商业 TTS 服务的水准同时把声音克隆和表达力控制做进模型里。官方还在生成音频中内置了 PerTh 神经水印可被检测工具识别方便追溯 AI 生成内容。核心能力可以概括为四条零样本声音克隆提供一段3~10秒的参考录音无需训练即可让模型用这个声音说话23种语言一个500M参数模型覆盖中、英、日、韩、法、德、西、阿拉伯语等通过language_id参数切换表达力控制通过exaggeration夸张度和cfg_weight语速/稳定性两个参数调节情绪与节奏低延迟选项Turbo350M和 Nano110M两个小模型专为语音助手和端侧/CPU 推理设计3分钟跑起来环境要求Python 3.10官方在 Python 3.11 / Debian 11 上测试GPU 非必须但 CUDA 下体验最好。依赖版本已在pyproject.toml中固定源码安装可保证环境一致。方式一一条命令安装pip install chatterbox-tts方式二从源码安装适合要改代码的开发者git clone https://gitcode.com/GitHub_Trending/chatterbox7/chatterbox cd chatterbox pip install -e .最小示例这段代码加载原版 Chatterbox 模型合成一句英文并保存为 wav 文件import torchaudio as ta from chatterbox.tts import ChatterboxTTS model ChatterboxTTS.from_pretrained(devicecuda) # 也可用 mps / cpu wav model.generate(Hello, this is Chatterbox, an open-source TTS model.) ta.save(output.wav, wav, model.sr)运行后会在当前目录生成output.wav用播放器打开能听到一段自然流畅的英文语音。Mac 用户可把device换成mps走 Apple 芯片加速具体写法参考 example_for_mac.py里面包含一个针对 MPS 的torch.load补丁。完整示例见 example_tts.py它还演示了法语合成和带参考音频的克隆调用。让它说多种语言效果先说同一个模型实例传不同的language_id就能切换语种不需要分别加载模型也不需要用其他语言的参考音频。支持的语言包括阿拉伯语ar、丹麦语da、德语de、希腊语el、英语en、西班牙语es、芬兰语fi、法语fr、希伯来语he、印地语hi、意大利语it、日语ja、韩语ko、马来语ms、荷兰语nl、挪威语no、波兰语pl、葡萄牙语pt、俄语ru、瑞典语sv、斯瓦希里语sw、土耳其语tr、中文zh。这段代码加载 V3 多语言模型分别合成中文和法语两句from chatterbox.mtl_tts import ChatterboxMultilingualTTS model ChatterboxMultilingualTTS.from_pretrained(devicecuda, t3_modelv3) wav_zh model.generate(你好这是一次多语言语音合成测试。, language_idzh) wav_fr model.generate(Bonjour, ceci est un test de synthèse vocale., language_idfr)其中t3_modelv3指定最新的 V3 检查点默认是 V2。V3 相比 V2 的主要改进是说话人相似度更稳、跨语言克隆时口音保留更好、减少了续写和重复跑题的幻觉。如果只关心某一种语言的质量下限比如中文普通话、巴西葡语、印度印地语官方还提供了一组 500M 的专项微调模型Single Language Pack对特定语言做质量控制效果更好。让某个人的声音替你说话零样本克隆分两种用法。用法一指定参考音频做 TTS。给generate传一个audio_prompt_path参数模型就用这段录音里的声音朗读你的文本# 用你自己的一段清晰语音建议3~10秒无背景噪音作为参考 wav model.generate(text, audio_prompt_pathreference.wav)用法二语音转换Voice Conversion。如果音频已经存在比如一段采访录音想换掉说话人用ChatterboxVC模块它会保留原音频的内容和节奏只替换音色。这段代码把一段音频转成目标声音from chatterbox.vc import ChatterboxVC model ChatterboxVC.from_pretrained(devicecuda) wav model.generate(audioinput.wav, target_voice_pathtarget_voice.wav)两种用法的区别audio_prompt_path是用这个声音读新文本VC 是把已有音频换个声音。典型场景是给虚拟角色固定人声、给同一篇内容配多个主播版本、为播客生成不同角色的旁白。更多参数和边界情况见 example_vc.py。控制语音的情绪与节奏原版 Chatterbox 暴露了两个最关键的旋钮generate的签名是generate(text, audio_prompt_pathNone, exaggeration0.5, cfg_weight0.5, ...)exaggeration夸张度。0.5 为中性调高后情感更饱满、语速偏快调低则更平淡克制cfg_weightCFG 权重。偏高更稳更贴文本偏低更有随机性同时能压低语速按场景的组合建议官方 Tips 整理场景exaggerationcfg_weight说明日常对话 / 默认0.50.5最稳的起点大多数语言都适用情感朗读、戏剧化0.7~0.3有感情但语速偏快调低 cfg_weight 补偿节奏新闻播报、正式场合0.3~0.40.6~0.8平稳清晰参考音频说话偏快0.5~0.3降低语速让节奏更从容一个容易踩的坑跨语言克隆时比如用英文参考音频合成中文参考音频的语言会串进输出口音这时把cfg_weight设为 0 可以显著缓解。Turbo 和 Nano 的情绪表达走另一条路——副语言标签直接在文本里写[laugh]、[chuckle]、[cough]模型会合成出对应的笑声、咳嗽声。适合电话机器人、有声剧这类需要真人感的场景。四个模型怎么选模型参数语言解码步数适合场景Chatterbox原版500M英语10 步创意内容生成需要 CFG 夸张度调参Chatterbox-Turbo350M英语1 步低延迟语音助手、生产环境显存占用更低Chatterbox-Nano110M英语1 步端侧 / CPU 推理8核 CPU 可达 3 倍实时速度Chatterbox-Multilingual V3500M2310 步全球化应用、跨语言声音克隆选型思路一句话要中文等多语言就用 Multilingual V3要英文低延迟就用 Turbo显存/内存紧张或纯 CPU 就用 Nano。加载 Nano 的方式和 Turbo 相同给from_pretrained多传一个nanoTrue完整写法见 example_tts_nano.py。官方还通过 Podonos 平台对 Turbo 做了与 ElevenLabs Turbo v2.5、Cartesia Sonic 3、VibeVoice 7B 的盲听对比覆盖自然度、表达力和整体偏好三个维度报告可公开复现。需要说明的是这些是主观评测具体优劣建议以自己的素材实测为准。常见问题问答问加载模型时报显存不足CUDA OOM怎么办答三个方向依次尝试。第一把device换成cpu能跑但慢第二改用小模型——Turbo 显存占用明显低于 500M 系列Nano 甚至可以纯 CPU 跑第三确认没有别的大模型占着显存。500M 模型本身不算大多数报错是环境里其他进程占用所致。问合成出来的中文/法语带英文口音答通常是参考音频的语言和language_id不一致导致的口音迁移。最简单的修法是换一条与目标语言一致的参考音频手头没有的话把cfg_weight设为 0 也能明显减轻。问Mac 上 M 系列芯片能用吗答可以。device传mps即可但 MPS 下需要给torch.load打一个map_location补丁example_for_mac.py 里有现成的几行代码直接复制使用。问为什么我的机器跑得特别慢答按 CUDA → MPS → CPU 的顺序性能差距可达数倍到十倍。确认torch.cuda.is_available()返回 True 且装了匹配的 CUDA 驱动另外 Turbo/Nano 的单步解码本身就比原版 10 步快推理延迟敏感的场景换小模型收益很大。问生成的音频有水印吗怎么验证答有。所有模型生成的音频都内置了 PerTh 神经水印能扛住 MP3 压缩和常规剪辑。验证方法是用resemble-perth库安装 chatterbox-tts 时已作为依赖带入对音频跑一次watermark提取输出 1.0 表示检测到水印。具体脚本见 README.md 的 Watermark extraction 一节。资源导航核心代码入口src/chatterbox/tts.py原版、tts_turbo.pyTurbo/Nano、mtl_tts.py多语言、vc.py语音转换模型结构src/chatterbox/models/含 T3 文本模型、S3Gen 声学模型、voice_encoder 音色编码器可运行示例example_tts.py、example_tts_turbo.py、example_tts_nano.py、example_vc.py、example_for_mac.pyWeb 界面无需写代码体验python gradio_tts_app.py # TTS 界面含 exaggeration / cfg 滑杆 python gradio_vc_app.py # 语音转换界面 python gradio_tts_turbo_app.py # Turbo 界面建议从 example_tts.py 开始跑通第一条语音再按多语言 → 克隆 → 调参的顺序把上面的小节各试一遍想要免代码调试参数直接起gradio_tts_app.py用滑杆试就行。【免费下载链接】chatterboxSoTA open-source TTS项目地址: https://gitcode.com/GitHub_Trending/chatterbox7/chatterbox创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表