mcpField
R
resemble-chatterbox

resemble-chatterbox

github.com/calesthio创意与媒体219119 次安装15 周前更新
代码仓库

关于 resemble-chatterbox

Resemble Chatterbox 技能介绍如何通过本地 Python 推理或 Resemble 托管 API 使用 Chatterbox 文本转语音模型,涵盖声音参考、表达控制、部署选择及授权与生产检查。

主要功能

  1. 01本地 Python 与托管 API 路径
  2. 02参考声音合成指导
  3. 03情绪与表达控制
  4. 04模型及部署方式选择
  5. 05声音授权与生产检查

适用场景

  1. 01选择本地或托管语音合成
  2. 02依据获准的声音片段生成语音
  3. 03调整旁白或对话的表达效果
  4. 04审查声音授权与部署限制

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/calesthio/generative-media-skills --skill resemble-chatterbox

安装后在 Claude Code 中输入/resemble-chatterbox确认已加载。

附带文件EVAL.md

详细介绍

Resemble Chatterbox

如果生产环境需要富有表现力的 AI 语音、零样本/参考音色功能、本地或本地部署,或使用 Chatterbox 系列音色的 Resemble 托管 TTS,请使用 Chatterbox。不要把它当作通用的“名人模仿”工具。将每个参考音色都视为生物特征/个人数据,并在生成前要求提供书面授权。

本技能中的时效性信息已于 2026-07-10 根据文末列出的 Resemble AI、GitHub、Hugging Face 和 Resemble 文档官方来源核实。

先选择部署路线

已记录的事实:

  • 本地/开源路线:Resemble 通过官方 resemble-ai/chatterbox GitHub 仓库和 ResembleAI/chatterbox Hugging Face 模型卡,以 MIT 许可证发布 Chatterbox 系列代码和权重。本地软件包通过 pip install chatterbox-tts 安装,并提供 ChatterboxTTS 和 ChatterboxMultilingualTTS 等 Python 类。
  • 托管路线:Resemble 的合成 API 使用 https://f.cluster.resemble.ai/synthesize 进行同步 TTS,并提供用于分块 WAV 的流式 HTTP 端点。请求使用 Authorization: Bearer YOUR_API_KEY 进行身份验证。
  • Resemble 文档中列出的托管 Chatterbox 模型版本包括 Chatterbox、Chatterbox-Turbo 和 Chatterbox Multilingual。托管版 Turbo 通过 model 值 chatterbox-turbo 选择;Resemble 的模型版本页面还列出版本代码 tts-v4 和 tts-v4-turbo。

生产环境决策:

  • 如果项目需要本地部署管控、不向供应商上传音频、自定义批处理、离线评估或宽松的模型修改权限,优先选择本地/开源 Chatterbox。
  • 如果项目需要托管音色、流式 API 交付、较低运维负担、团队音色库、计费支持,或希望达到生产规模但不自行管理 GPU 推理,优先选择 Resemble 托管服务。
  • 对于低延迟 Agent 或对话循环,如果其记录的副语言标签支持很重要,优先选择 Turbo。
  • 对于跨语言音色克隆或本地化,优先选择 Multilingual V3;如果需要优先保证某种语言或地区方言的发音质量,则使用 Single Language Pack 模型。
  • 如果任务是英语旁白/角色语音,且需要夸张的情绪表现和本地创作管控,同时不需要多语言覆盖,则优先选择原版英语 Chatterbox。

能力边界

已记录的事实:

  • Chatterbox 是 Resemble AI 推出的开源文本转语音模型系列。模型卡将 Chatterbox Multilingual V3 描述为一款拥有 500M 参数的通用多语言模型,并提供针对部分语言微调的 Single Language Pack,以及用于英语创意控制的原版 Chatterbox。
  • 官方文档和模型卡介绍了零样本/参考语音合成。开源模型卡展示了用于以不同语音进行条件控制的 audio_prompt_path。Resemble 的营销页面称,开源 Chatterbox/Turbo 支持使用 5 秒参考语音克隆;托管版 Resemble 模型版本文档则将 10 秒以上列为 Chatterbox 系列语音克隆的数据集要求。
  • Chatterbox 可通过本地示例中的 exaggeration 参数控制情绪和强度。Resemble 托管版 Chatterbox-Turbo 文档介绍了原生副语言标签,例如 [cough]、[laugh] 和 [chuckle];Turbo 页面还展示了 [sigh]、[gasp]、[cough]、[laugh]、[whisper] 和 [breath]。
  • Resemble 的托管同步端点接受文本或 SSML,最多 3,000 个字符,并可返回 wav 或 mp3;托管流式 HTTP 端点接受最多 2,000 个字符,并返回分块 WAV。模型版本页面列出的 Chatterbox 变体字符数上限为 2,000,并指出某些 SSML 标签不受支持。因此,除非当前端点的响应能证明并非如此,否则应以更严格的端点/模型限制为准。
  • 公开托管文档称,Chatterbox-Turbo 支持 Rapid English 语音和 Pre Built Library 语音,不支持 Chatterbox Multilingual。除非当前账户/API 证据证明确实支持,否则不要假设自定义多语言语音可以使用 model: "chatterbox-turbo"。
  • 托管 API 输出包含时长、合成耗时、采样率和 issues 等响应元数据。
  • Resemble 称 Chatterbox 默认会对输出添加 PerTh 水印。开源模型卡称,生成的音频包含 PerTh 水印,即使经过 MP3 压缩、音频编辑和常见处理,水印仍能保留,同时检测准确率接近 100%;Resemble 的 PerTh 资料介绍了不可感知的水印及后续检测。

限制与注意事项:

  • 不要承诺说话人身份完全一致、口音迁移完美或绝无幻觉。文档称 V3 可减少幻觉,并非消除幻觉。
  • 不要假设 Resemble 的每个官方页面都列出了相同的语言。开源 GitHub/Hugging Face Chatterbox 卡列出 23 种通用多语言支持语言;Resemble 托管版/模型页面的语言列表部分重叠但并不完全一致,较新的营销页面还提到了其他语言/Single Language Packs。应在任务执行时,针对具体模型卡或托管模型页面核实目标语言。
  • 不要将 PerTh 水印视为可替代同意、披露或滥用审查的措施。水印用于支持来源追溯,并不代表获得许可。
  • 不要移除或试图规避 PerTh。Resemble 表示,移除水印违背预期用途。
  • 不要将托管 API 数据描述为零保留,除非用户与 Resemble 签有合同,或相关文档明确说明该 TTS 路由适用零保留。Resemble 的公开隐私资料称,为提供服务会按需保留个人数据,包括生物识别/感官数据;Trust Center 提到会根据客户要求和合同实施数据保留与处置控制。

参考音色处理

已记录的事实:

  • 本地示例使用 audio_prompt_path 指定参考录音。
  • Resemble 的 Chatterbox 页面介绍了基于短参考音频片段进行零样本克隆,无需微调。
  • Resemble 托管式音色创建及相关条款要求用户拥有必要的权利、同意和许可;Resemble 可能要求获得被克隆音色所属个人的同意。

生产要求:

  1. 使用任何参考音频片段前,确认音色使用权:所有者身份、允许的用途、适用地区/平台、使用时长、撤销条款,以及输出是否必须标注为合成内容。
  2. 保持参考音频片段干净:仅含一位已同意的说话者、干声、无音乐、无严重降噪伪影、无声音重叠,并为目标用途提供足够的语音和韵律变化。
  3. 尽可能保持参考语言与目标语言一致。若跨语言迁移,应预期出现口音残留,并进行口音/发音质量检查。
  4. 对于面向公众、政治、医疗、金融或类似名人的音色,必须取得明确的书面授权;如有任何含糊之处,应升级处理。
  5. 将参考音频片段和生成的输出存储在受访问控制的项目存储空间中。除非用户批准供应商路径,否则避免将仅限本地使用的参考素材发送到托管 API。

生产启发式建议:

  • 对于本地零样本克隆:如果对应的本地模型卡确实支持短提示词,则从 5-20 秒的干净语音开始;如果相似度或稳定性较弱,应先测试更长的干净音频片段,再更换模型。
  • 对于托管式音色创建:按文档要求准备至少 10 秒的音频,并遵循账户当前的音色创建工作流。
  • 在推理前对输入音频进行标准化:单声道、以语音为主、无削波、响度适中,并裁去较长的静音。如果自然呼吸声有助于体现说话者特征,则应保留;移除无关的室内噪声。

提示词与交付控制

已记录的事实:

  • 本地模型卡的提示指出,默认设置约为 exaggeration=0.5 和 cfg/cfg_weight=0.5,适用于大多数提示词。
  • 官方提示指出,将 cfg 降至约 0.3 可改善语速较快的参考说话者的节奏;富有表现力或戏剧性的语音可使用较低的 cfg 和较高的 exaggeration,例如约 0.7。
  • 官方提示提醒,较高的 exaggeration 往往会加快语速,而降低 cfg 可以通过让语速更从容来进行补偿。
  • 托管文档和 Resemble 资料均显示,Turbo 支持文本副语言标签。
  • Resemble 接受 SSML,但托管模型文档列出了 Chatterbox 不支持的 SSML 标签,包括 <prosody>、<emotion>、<phonemes>、<substitutions>、<emphasis> 和 <say-as>。

制作经验法则:

  • 将 TTS 文本写成表演台词,而非散文。简短分句、自然标点和有意安排的段落分隔,比密集的指令更重要。
  • 仅在有助于表达时使用大小写和标点;Resemble 的 Chatterbox 页面显示,大小写会影响强调,但过度使用大写会让语音听起来不自然。
  • 将方括号中的副语言标签视为表演事件,而非装饰。应谨慎使用,通常放在句子边界处。
  • 将长稿分成语义完整的片段。每个片段都应低于最严格的相关限制,然后在后期处理中进行交叉淡化或匹配房间底噪。
  • 对于多语言本地化,应先以地道表达本地化脚本,再进行合成。不要直接输入字面翻译并指望模型自行调整节奏。

建议的起始设置:

  • 中性旁白:exaggeration=0.5、cfg_weight=0.5;使用干净的参考音频;采用标准标点。
  • 戏剧性角色演绎:exaggeration=0.65-0.85、cfg_weight=0.25-0.4;缩短句子;测试语速。
  • 语速较快的参考说话者:将 cfg_weight 降至约 0.3;在后期降低语速前,先通过标点增加停顿。
  • 跨语言克隆:使用 Chatterbox Multilingual V3 或相关的 Single Language Pack;匹配 language_id;检查口音和非目标语言音素。
  • Agent/IVR Turbo:在可用时使用托管或本地 Turbo;保持话语简短;仅包含必要的标签,例如 [chuckle] 或 [breath]。

集成模式

本地/开源 Python 模式

适用于可以安装 Python 依赖并在本地运行推理的项目。生产环境中应固定软件包和模型版本。

示例:

import torchaudio as ta
from chatterbox.tts import ChatterboxTTS

device = "cuda"  # use "mps" or "cpu" only after performance testing
model = ChatterboxTTS.from_pretrained(device=device)

script = (
    "The first launch window opens at dawn. "
    "Keep your voice calm, precise, and just a little awed."
)

wav = model.generate(
    script,
    audio_prompt_path="approved_reference_voice.wav",
    exaggeration=0.55,
    cfg_weight=0.45,
)

ta.save("scene_01_narration.wav", wav, model.sr)

这样做的优点:参考语音条件控制明确,起始设置接近文档中的默认值,并且会写入适合编辑和 QA 的未压缩 WAV 文件。

本地多语言模式

示例:

import torchaudio as ta
from chatterbox.mtl_tts import ChatterboxMultilingualTTS

model = ChatterboxMultilingualTTS.from_pretrained(device="cuda", t3_model="v3")

wav = model.generate(
    "Bonjour, votre colis est pret pour le retrait.",
    language_id="fr",
    audio_prompt_path="approved_french_reference.wav",
    exaggeration=0.5,
    cfg_weight=0.5,
)

ta.save("pickup_fr.wav", wav, model.sr)

这样做的优点:明确选择 V3,提供语言 ID,并避免跨语言口音迁移,除非有意进行测试。

托管同步 API 模式

适用于用户拥有 Resemble API 密钥和 voice_uuid 的情况。

请求示例:

curl -X POST "https://f.cluster.resemble.ai/synthesize" \
  -H "Authorization: Bearer $RESEMBLE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "voice_uuid": "YOUR_APPROVED_VOICE_UUID",
    "data": "Thanks for calling. I can help you check your appointment time.",
    "model": "chatterbox-turbo",
    "output_format": "wav",
    "precision": "PCM_16",
    "sample_rate": 48000,
    "use_hd": false
  }'

这样做的优点:明确请求 Turbo,以获得更低延迟和副语言支持,并要求输出便于编辑的 WAV。将 audio_content 从 base64 解码,存储时长、采样率和 issues,仅对安全的瞬时故障进行带退避的重试。

托管流式模式

对于注重首音播放时间的交互式语音 Agent,应使用流式传输。保持 data 简短,预期 WAV 会分块传输,并预先确认所选语音是否支持 Turbo。只有在延迟可接受且用户同意体验变更时,才回退到同步模式。

生产质量保证

交付前的最低审核要求:

  • 权利:参考语音、脚本内容和预期分发方式均已获授权。
  • 模型路由:记录本地/开源或托管路由,并注明模型变体、软件包/模型修订版本或 API 模型值、日期和设置。
  • 文本准确性:没有遗漏词语、臆造续写、意外重复或偏离脚本的短语。
  • 语音质量:相似度符合要求,且不会产生超出已批准用途的冒充风险;不同片段之间没有身份漂移。
  • 表现:语速、重音、情感、呼吸和副语言标签均符合场景要求。
  • 语言:发音、口音、姓名、数字和语码转换均符合受众需求。
  • 音频工程:没有削波、断音、长时间静音、机器人音效、房间底噪不匹配或片段拼接处的不连续。
  • 水印/来源:未禁用或移除 PerTh 行为;已记录来源要求。
  • 隐私/安全:已批准将托管输入上传;本地参考文件未泄露到日志或公开产物中。
  • 无障碍和披露:法律、平台政策或用户要求规定时,披露该语音由 AI 生成。

故障模式与修复方法

  • 偏离提示词续写或重复:缩短片段、完善标点、降低表达设置;多语言场景尝试 V3,并使用干净的种子/运行记录重新生成。
  • 语速过快:降低 cfg_weight,增加标点停顿,避免过度使用 exaggeration,并测试更平缓的参考片段。
  • 语气过于平淡:小幅提高 exaggeration,改写文本以突出情绪起伏,并选择符合预期活力的参考语音。
  • 跨语言克隆时口音泄漏:使用相同语言的参考语音,设置准确的语言 ID,测试不同的 cfg_weight,或改用单语言包。
  • 副语言标签被直接念出:确认运行环境支持 Turbo/标签,调整标签语法,或移除标签,改用单独的音效/呼吸素材进行编辑。
  • API 截断或请求错误:将文本拆分至低于端点/模型限制,移除不受支持的 SSML,并检查 API 返回的 issues。
  • 后期处理后出现水印疑虑:在可用时运行 PerTh 检测;保留母版前 WAV 和导出的分发文件以供比较。

已于 2026-07-10 核验的官方来源

评论

支持 Markdown