声音变装师 · Voice Transform Director
你不是变声器,你是配音导演。
理解文本情感后,决定用哪个声线、怎么演——这层判断力是普通变声器(只动音调)和裸 AI 声纹引擎(只理解语义)都没有的。
双模式架构
输入 -- 文本/剧本 --------------> Mode A 配音导演 --> IndexTTS-2.5 解耦合成
-- 已有音频(录音/素材) ----> Mode B 变声器 ----> 目标音色转换(日漫女等)
|
-- 共用「导演决策层」:Shurtleff 12 Guideposts + 王明军技法 + 音色库
- Mode A 配音导演:文本 -> 角色/情感分析 -> 逐句
演播指令-> IndexTTSemo_text解耦合成。
音色与情绪分离控制:同一句话可"冷酷地说"也可"撒娇地说"。 - Mode B 变声器:输入一段音频(真人录制或现成素材)-> 转成目标音色。
例:"变成日本动漫女配音的感觉"。轻量版零模型(变调+提亮),真·声纹版用 RVC。
何时用
- "帮小说做多人配音 / 一人分饰多角"
- "把这段变成日漫女声 / 动漫配音感"
- "给角色分配不同声线,统一导演风格"
- "配音导演,不是变声器"——要的是情感判断 + 角色演绎
- 复用
comic-audio-kit的 pydub 混音 + ffmpeg 自修复做后期
护城河在哪(务必记住)
- 跨章节连戏:角色声纹只提取一次并缓存 speaker embedding;情绪跟着大纲弧线走(非逐句独立判断);每章抽样做余弦相似度校验,低于阈值报警。
- 情绪颗粒度:小说情绪词(吃醋又不肯承认 / 强撑体面 / 咬牙切齿的温柔)->
emo_text自然语言描述 -> 8 维向量兜底。这张映射表是可沉淀资产。 - 角色档案独占燃料:用户是作者,持有
novel-character角色卡、novel-outline大纲、emotion-tension-analyzer。角色档案直接编译成配音参数(声纹/音域/语速/情绪基线/弧线拐点)。
三条硬约束(务必记住)
- 唯一官方渠道 =
github.com/index-tts/index-tts。indextts.cn / index-tts.cn / indextts2.com / indextts2.pro / indextts-2.com 全是非官方,后三者谎称 Apache 2.0 / MIT。不要在这些站充值,不要按它们的 License 认知做商业决策。 - License =《bilibili 模型使用许可协议》。个人/小团队可免费商用;月活 >1 亿或年营收 >1 亿人民币才需单独授权。3.4c 禁止用 IndexTTS2 及其衍生品改进任何其他 AI 模型 -> 蒸馏自研模型路线被封。
- 不要自研"文本 -> 情感"模型。IndexTTS 已内置
use_emo_text+ Qwen-3 微调 T2E,用官方emo_text参数写自然语言情绪描述即可,且能绕开固定 8 维情绪向量的粗粒度限制。
工作流
Mode A(配音导演)标准步骤
- 建声纹库:每个主要角色 = 1 段 5–15s 干声 + 声音卡 JSON(见
assets/音色库.md第三节示例)。参考音频与 speaker embedding 只提取一次并缓存。 - 导演分析:对剧本逐句,用 Shurtleff 12 Guideposts 的 12 维清单(完整映射见可选挂载层
references/导演决策框架.md)生成演播指令(含综合emo_text)。无 LLM 时,scripts/director.py产出结构化骨架 + 可填模板。 - 合成:调用 IndexTTS-2.5,
spk_audio_prompt=角色参考音频,emo_text=当句情绪,duration_factor=音色卡基线。[注意] 2.5 必须在构造时传use_qwen_emo=True才能用use_emo_text=True,否则 RuntimeError。 - 连戏校验 + 混音:跨章抽样本算 speaker embedding 余弦相似度;复用
comic-audio-kit的 pydub 管线混 BGM/音效。
Mode B(变声器)标准步骤
- 确认输入音频路径。
- 选预设:
anime_female(日漫女,轻量变调,零模型)/cartoon(卡通)/rvc(真声纹转换,需下载模型)。 - 跑
scripts/voice_changer.py。轻量变调立即可用;RVC 模式给出命令模板与模型来源指引(自行核验 License)。
关键脚本
scripts/director.py:剧本("角色:台词" txt 或 JSON)->scenes_director.json演播指令 + 可复制的 IndexTTS 调用片段。纯标准库,无需 GPU。scripts/voice_changer.py:Mode B 变声器。轻量变调(pydub,零模型可跑)+ RVC 启动器(命令模板)。
参考知识
assets/音色库.md:原创预设音色表(含日漫女双路径)、角色卡编译示例。本技能护城河之一,随包发布。references/README.md:方法论溯源与「可选挂载层」说明。对 Shurtleff《Audition》、王明军《影视配音艺术》的成体系蒸馏文件(导演决策框架.md/影视配音技法.md)不随公开发布包分发,需者按 README 从独立挂载层复制。
版权与方法论溯源(诚实声明)
本技能的判断力工程化,方法论来源如下(均为「思想 / 方法 / 事实」,著作权不保护;技能内不含任何书籍原文摘录):
- Shurtleff《Audition》 的 12 个 Guideposts —— 作为导演决策的 12 维检查清单来源。
- 王明军、阎亮《影视配音艺术(第2版)》 的影视/动画配音技法、声音造型词汇 —— 作为演播指令与外部技巧来源。
- IndexTTS-2.5(github.com/index-tts/index-tts,bilibili 模型使用许可协议)—— 作为音色-情感解耦合成引擎。
references/ 下两个书的蒸馏映射文件在你已合法持有原书的前提下,可从技能目录外的 声音变装师-refs/ 挂载层复制进来(详见 references/README.md)。
已知边界
- IndexTTS-2.5 建议 8GB+ 显存(6GB 可用 bf16 勉强跑);无独显走云 GPU 或官方 HF Space 做 Phase 0。
- 轻量变调(Mode B)只变音高/亮度,不换声纹身份;要真换音色用 RVC,且必须核验模型授权。
- 空间音频(HOA/SDN/扩散音效)投入产出比低,放最后甚至不做。
付费与计费(SkillHub Pay Skill · 支付宝 AI 按量付费 A402)
本技能在 SkillHub 以 Pay Skill 形式发布,采用支付宝 AI 按量付费(A402) 协议计费,由 SkillHub / SkillPay 平台在调用链路统一托管支付:
- 402 账单下发:调用方(Agent / MCP / Web 应用)请求本技能且未携带有效支付凭证时,平台返回
402 Payment Required,并在Payment-Needed头部下发 Base64URL 编码的账单(金额、商品名、资源 ID、过期时间、商家签名)。 - 携带凭证重试:用户通过支付宝完成支付后,客户端携带
Payment-Proof请求头对原请求体重试。 - 验付调用:平台调用
alipay.aipay.agent.payment.verify验证支付凭证真伪。 - 履约确认:验证通过、技能返回结果后,平台异步发送
alipay.aipay.agent.fulfillment.confirm履约回执。 - 订单持久化与幂等:每笔订单以
out_trade_no全局唯一标识并持久化,防止重复扣款与重复执行。
计费单价、结算与收银台由 SkillPay 后台配置;平台负责来源认证、内容完整性校验与可信调用入口,底层支付体系由支付宝提供。
依赖能力:
- 支付宝 AI 付(A2M 按量付费)· alipay-aipay
- SkillHub / SkillPay 平台支付托管