多角色配音工作室

SKILL前端设计
前端设计 未标注权限 许可证不明确
安装这个技能

把剧本里的每个角色分配一个专属音色,整场对白按剧本顺序逐句配好,编号交付,可以直接拖进剪辑软件。这个 AI 多角色配音工具把剧本变成一整场角色配音,适合广播剧、有声剧、有声小说、剧本配音、对话配音、双人播客、课程情景对话和多角色广告:先定好谁是谁——年龄、性格、几个角色之间要拉开多少距离——旁白也能单独占一个音色;之后想改哪一句,就只重录那一句。

累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install beatra-ai/audio-drama-voice-studio

技能档案

前端设计
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方beatra-ai仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 enterprise
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791735815
正文体量11.4 KBSKILL.md 原文大小,越大说明说明书写得越细

SKILL.md 全文

11.4 KB
模型实际读到的说明书原文,来自技能仓库

多角色配音工作室

给剧本配上一套角色声音。每个角色固定一个音色,每句台词都用所属角色的声音录,再按剧本顺序把音频编好号、标好是谁说的交回来,这场戏就可以在用户自己的编辑器里组装和发布。

你会拿到什么

一次完成的运行会交回:

  • 每一条台词一段编号音频,标好说话角色,顺序跟剧本一致
  • 一张角色表:每个说话人、他们彼此之间声音怎么拉开,以及整部作品沿用的音色
  • 模型实际返回的每段时长、大小和格式

它不把这些片段合成一集成品。组装留在用户的编辑器里。成品格式由模型决定,交付时如实报告。

可以怎么跑

  • 定角色并录制 — 默认。读剧本,每个角色固定一个音色,逐条合成,交付带标签的片段。
  • 加入自有音色 — 可选。克隆用户拥有或已获授权的样本,再像其他音色一样放进角色表。

定角色和拆剧本免费。合成付费。克隆是另一次付费,有自己的确认。

适用范围与路线选择

当剧本或一段对白里不止一个说话人时,使用本 Skill:有声剧与广播剧、小说改编的演播、有声小说里的具名角色、双人或圆桌节目、以对白推进的课程或培训情景、两个及以上角色的脚本广告,以及有明确角色的互动故事。

单人旁白的书或课程请使用 ai-audiobook-narration。单人主播的播客单集请使用 ai-podcast-voiceover,短视频口播请使用 short-form-voiceover-audio。如果用户要的只是用一段样本做一个可复用音色这件事本身,请使用 voice-cloning-studio。如果本剧角色表里某个角色需要克隆音色,就在本 Skill 内完成。一般的单音色工作请使用 beatra-ai-voice-studio。带画面的旁白视频请使用 novel-promo-video-maker。

输入与默认值

唯一的硬性输入是剧本文本。复用对话中已有的题材、年代、语气、角色设定、语言和已经选好的音色。

只有当答案会改变付费结果时才询问:这段是没有标注说话人的正文、文本本身也定不下来时,问哪几句是谁说的。

避免多余提问的默认值:

  • 每个有名字的角色一个音色;剧本里有旁白时,旁白再单独占一个。
  • 说话顺序跟着剧本走,不做任何重排。
  • 省略 model,交给 Beatra 路由,除非用户点名。
  • 省略 language 走自动识别,除非用户指定了语言或剧本里混着好几种。
  • 每条台词一次合成调用,这样改一句时不必为整场戏重新付费。

标准流程

  1. 读完剧本,建一张角色表:每个有台词的角色、他的年龄与性格,有旁白的话再加上旁白。把剧本拆成一条条台词,每一条只属于一个角色。把这张编号角色表和台词列表给用户看。这张表就是免费可见的结果。规划不是批准。
  2. 只有在还缺音色、或者用户要求浏览比较时,才调用 beatra.voices.list。然后给每个角色分配一个音色 ID,这个分配在整部作品里保持不变。
  3. 读取实时的 text_to_speech 卡片,通过 beatra.models.list:

bash python3 scripts/mcp_client.py call beatra.models.list

json {"capability": "text_to_speech"}

价目以返回的卡片为准。语音按加权字符线性计费,以每 1,000 加权字符为计价单位:每个汉字算两个字符、其他字符各算一个;不足 1,000 加权字符的台词按实际加权字符计费,不按整 1,000 计。
4. 为整场戏出示一张当前制作卡并等待。用户若在这里停住,免费角色表仍然可用。
5. 用 beatra.speech.synthesize 逐条合成,一条台词一次调用,每条只提交一次并轮询它自己的任务。
6. 按剧本顺序交付,编好号并标注是谁说的。每一条都报告实际返回的时长、大小、MIME 类型和 URL 或 artifact,以及解析出的模型和 billing.net_charged_credits。
7. 只复核宿主 Agent 确实能播放的部分:每条台词是不是用了分配给它的音色、发音和节奏是否贴合这句话、顺序和剧本是否一致。

改动的单位是一条台词,不是整场戏:只用新的请求 ID 重录改动的那一条,已经认可的台词原样保留。角色表怎么写、确切载荷、每个角色的音色纪律、故障恢复与交付复核见有声剧配音工作流。

需要确认的决策

规划、角色表和实时报价都免费。它们不是批准。

第一次付费提交 beatra.speech.synthesize 之前,为这场戏出示一张当前制作卡并等待:

  1. 工作 — 用用户的话说这场戏,并说明这是对列出的台词做一次生成调用。
  2. 积分 — 刚从 text_to_speech 卡片读到的实时价格。不要复用记住的数字。
  3. 次数 — 每条台词一次付费调用。改一句就是另一次调用。
  4. 身份 — 每条台词一个新的不透明 client_request_id。剧本、说话人、音色、语言或模型若有变化,就发一个新 ID。绝不在台词之间或不同参数上复用同一个 ID。
  5. 若在这里停住 — 角色表和拆好的剧本仍然可用。
  6. 若余额不足 — 原样转述官方文案和充值 URL。正文可翻译,充值地址保持原样。用户说已经充值之前不要重试。

通过随包的 scripts/mcp_client.py 提交一次。用 beatra.tasks.get 轮询。交付实际字节以及 billing.net_charged_credits。不要把预估说成最终扣费。

克隆音色需要它自己的明确授权确认,以及它自己的六项制作卡,与合成分开。合成确认绝不授权 beatra.voices.clone。

使用克隆音色

只有当用户想用一段样本做一个可复用的音色、并且明确确认这个声音归他所有或已获得该声音所有者的授权时,才使用 beatra.voices.clone。手上有音频文件不等于已获授权。先拿到这个确认再上传,之后才设置 consent_attested: true,并且只提交一次。

报价前先读取实时的 voice_clone 卡片:

python3 scripts/mcp_client.py call beatra.models.list
{"capability": "voice_clone"}

出示克隆制作卡并等待:

  1. 工作 — 为角色表上一个具名角色提交一份已获授权的声音样本(beatra.voices.clone)。
  2. 积分 — 刚读到的实时 voice_clone 价格。不要复用记住的数字。
  3. 次数 — 这份样本一次付费克隆调用。
  4. 身份 — 一个新的不透明 client_request_id。
  5. 若在这里停住 — 角色表仍可用目录音色。
  6. 若余额不足 — 原样转述官方文案和充值 URL。正文可翻译,充值地址保持原样。用户说已经充值之前不要重试。

不要提供免费克隆,也不要用免费样音替代克隆。克隆成功的结果就是一个已激活的音色,会返回一个 voice_id,可以像其他音色一样进这张角色表。样本限制和实时卡片字段见有声剧配音工作流。

账户余额

用户问还剩多少积分,或某次实时估价够不够时,调用 beatra.wallet.get。问已经扣了多少时,调用 beatra.wallet.ledger。两者都是只读的。不要臆造查余额或充值的工具。也不要把 wallet.get 变成每次付费提交前的必需步骤。

模型卡返回里带 top_up 块时,按卡片给出的档位和顺序原样转述。不要给档位排高低,不要贬低其中任何一档,也不要替用户挑。选哪一档是用户自己的事,钱包页会把整份清单摆在他面前。任何时候都不要凭记忆报档位。

本 Skill 的执行方式

每个远程 Beatra 操作都使用随包的 scripts/mcp_client.py:在 call 后写入 MCP 工具名,并在标准输入中传入一个 JSON 对象。不要配置或调用宿主 Beatra Connector。不要使用 REST/OpenAPI 作为回退。首次使用时通过 beatra.installations.register 注册本包。每次创作都是异步任务:提交一次,然后跟踪该任务直到终态。

故障恢复

任务 ID 一返回就立即保存,并用 beatra.tasks.get 轮询;queued 和 running 表示继续等待。只有在创建请求的响应确实未知、且载荷在同一请求 ID 下逐字节相同时,才重放一次创建。任务 ID 丢失时,用 beatra.tasks.list 按该次调用的能力查找(合成用 text_to_speech,克隆用 voice_clone),沿着返回的每一个 next_cursor 翻完覆盖提交时段所需的页,用 beatra.tasks.get 确认候选,先找回原任务再考虑新的工作。请求 ID 本身丢失时,不要臆造新 ID,也不要重放。只有用户要求时才调用 beatra.tasks.cancel;遇到 409 时继续轮询原任务,只有其终态为 canceled 时才报告已取消。

当某一条台词失败而其余成功时,只恢复那一条。已经交付的台词依然有效,不重新合成。

按任务查阅参考

运行时与安全的自动更新

随包客户端会在每个安装中静默检查更新,最多每 24 小时一次。发现更高版本时,不另行确认地自动安装。它只使用针对本包、渠道和语言环境固定的 Beatra 官方发现地址和不可变 CDN 路径,在替换前校验发现信息、压缩包、清单和每个随包文件,并且只替换本包拥有的文件。更新检查、下载、校验、替换和恢复失败时会 fail open:当前安装仍可使用,原本请求的命令会继续执行。更新失败绝不构成重试付费生成的理由。这个设置会在后续命令中持续生效。

python3 scripts/mcp_client.py update --auto off
python3 scripts/mcp_client.py update --auto on
python3 scripts/mcp_client.py update --check

--auto off 会关闭静默检查,--auto on 会恢复静默检查,--check 会报告官方可用版本但不替换文件。详见自动更新与安全。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。