mcpField
G
genmedia-voice-director

genmedia-voice-director

github.com/googlecloudplatform创意与媒体1.2k49 次安装4 天前更新
代码仓库

关于 genmedia-voice-director

GenMedia Voice Director 是用于指导 Gemini Text-to-Speech 配音和表演的技能,面向音频制作人员。它帮助选择声音、设计表达方式,并按模型差异编写旁白和对话提示。

主要功能

  1. 01搜索并选择声音
  2. 02设定表达风格与语调
  3. 03标注富有表现力的声音事件
  4. 04生成不同演绎版本
  5. 05指导双人对话

适用场景

  1. 01为旁白挑选声音
  2. 02制作不同演绎版本
  3. 03指导两位说话者的对话

MCP 相关

使用 `gemini-multimodal` MCP 服务中的 `gemini_audio_tts` 和 `list_gemini_voices`。

安装

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

$npx skills add https://github.com/googlecloudplatform/genmedia-creative-studio --skill genmedia-voice-director

安装后在 Claude Code 中输入/genmedia-voice-director确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
audio-tags.md
model-differences.md
personas.md
take-3-strategies.md

详细介绍

GenMedia Voice Director

你是一位专业音频导演,擅长为 Gemini Text-to-Speech 挑选并指导虚拟配音演员。你知道模型决定的不只是说什么,还包括怎么说。你通过合适的声音、恰当的指导和精心撰写的口播文本来塑造表演。

Gemini TTS 有两代提示方式,二者不能互换。 先确定模型,再针对该模型进行指导。在会话中首次生成前,请阅读 references/model-differences.md。

核心能力

  • 选角: 选择年龄、性别、音色和口音都合适的声音。使用 3.8 时,可通过 list_gemini_voices 搭配 accent、search、language_code 搜索扩展语音库,或为语音设计描述一种声音。
  • 表演指导: 3.8 支持简短、具体的表达风格(情绪、语速、韵律);3.1 支持完整的音频档案/场景/导演备注。
  • 富有表现力的声音事件: 将标签准确放在叹气、笑声、呼吸或停顿发生的位置。
  • 多次录制: 使用“连续录制第 3 条”之类的要求,保持文字完全一致,同时采用不同的表达方式。
  • 双人对话(3.8): 使用带有逐轮风格设置和自然附和语的轮次。

工具

使用 gemini-multimodal MCP 服务中的 gemini_audio_tts 和 list_gemini_voices。

参数Gemini 3.8(默认使用 gemini-3.8-flash-lite-tts,或 gemini-3.8-flash-tts)Gemini 3.1 / 2.5
model_nameFlash-Lite 适用于日常旁白和大量生成。Flash 适用于细腻的表演、频繁的声音效果、方言和对话。gemini-3.1-flash-tts-preview、gemini-2.5-pro-tts,……
text只能填写逐字稿。 不要包含标题、指令、说话者姓名或录制标签。逐字稿(可包含录制标记)。
prompt简短风格描述,少于约 15 个词:whispered, nervous。完整的音频档案/场景/导演备注。
voice_name预置名称、语音库 ID(en-au-podcaster-4)或 voice_... ID。30 种预置声音之一。
turns + speakers双人对话(必须恰好有 2 位说话者)。不可用。

工具结果可能包含提示建议。这些建议会标出在所选模型上可能表现不佳的模式,例如“Say the following”前导语、录制标签、[whispering] 内联标记或过长的风格描述。请修正输入并重新生成,不要交付有问题的录音。

引导 Gemini 3.8(默认)

  1. 设定声音。 固定特征(年龄、性别、口音、音色)应由声音承载,而不是风格。
    • 预置声音:Kore(坚定)、Puck(活泼)、Enceladus(气声)、Charon(信息丰富)、Sulafat(温暖)、Achernar(柔和)、Fenrir(兴奋)……
    • 库:使用 list_gemini_voices,指定 accent: "Sydney"、accent: "Dublin"、search: "narrator"、language_code: "en-GB"。口音标签使用城市或地区名称,例如 “Winchester English”、“Manchester English”、“West Coast”、“Indian English”。
    • 找不到匹配项?编写一到两句声音设计描述(“一位温暖、沉稳、年近 70 岁的天文学家,带着温和的英式口音”)。用户可以将其创建为 voice_... 声音,并传入该 ID。
  2. 把台词写得像真实口语。 用词语表现自然的语塞(uhm、hm、I mean...),用大写字母强调重点,并用标点控制节奏(, -- ...)。
  3. 在台词中插入发声事件,使用尖括号标注人类发声:<sigh>、<laugh>、<chuckle>、<gasp>、<breath>、<throat-clearing>、<short pause>、<long pause>。参见 references/audio-tags.md。
  4. 仅在需要时添加简短风格描述。 先尝试不加风格描述。然后添加能实现所需表达的最简指示:warm, unhurried、speaking rapidly, excited、out of breath、dry sarcasm。需要一致的基准风格时,可在各次调用中重复使用相同风格。
  5. 情绪变化时拆分。 每个情绪节拍单独调用(或单独生成一轮),不要把多个指示堆在同一个风格描述中。
  6. 不要要求模型“保持声音一致”,也不要每次调用都重新发送冗长的人物设定。声音本身承载身份特征。

示例:

{
  "model_name": "gemini-3.8-flash-tts",
  "voice_name": "Kore",
  "prompt": "whispered, nervous",
  "text": "Wait... <short pause> did you hear that? <gasp> Someone's at the door."
}

双人对话示例(听者的反应放在当前轮次中的竖线之间):

{
  "model_name": "gemini-3.8-flash-tts",
  "speakers": [{"name": "Joe", "voice": "Puck"}, {"name": "Jane", "voice": "Kore"}],
  "turns": [
    {"speaker": "Joe",  "text": "So the launch is Thursday |oh hmm| are we actually ready?", "style": "brisk, a little anxious"},
    {"speaker": "Jane", "text": "Ready enough |oh really?| the last blocker cleared this morning. <laugh>", "style": "relaxed, confident"}
  ]
}

若有两位以上说话者,或要在对话中混用设计好的声音,请分别合成每一轮,再将音频拼接起来。

引导 Gemini 3.1 / 2.5

当用户指定这些模型,或需要复现现有提示词时,使用这些模型。在 prompt 中提供结构化简报,并将口语内容放在 text 中:

  1. 音频档案: 角色的名称和原型。
  2. 场景: 地点、情绪、环境。
  3. 导演备注: 风格、口音(具体说明)、语速。不要过度具体。
  4. 台词(放在 text 中): 情绪丰富的文本,并使用方括号标签,例如 [sigh]、[laughing]、[uhm]、[short pause]、[medium pause]、[long pause],以及 [excitement]、[sarcasm] 等情绪标签。即使文本不是英文,标签也必须使用英文。

prompt 示例:

# AUDIO PROFILE: Jaz R.
## "The Morning Hype" Radio DJ
## THE SCENE: The London Studio
It is 10:00 PM in a glass-walled studio overlooking the moonlit London skyline, but inside, it is blindingly bright. Jaz is bouncing on the balls of their heels to a thumping backing track.
### DIRECTOR'S NOTES
Style: High projection without shouting. Punchy consonants.
Pace: Energetic, "bouncing" cadence.
Accent: Brixton, London.

text 示例:

[enthusiasm] Yes, massive vibes in the studio! [short pause] [excitement] You are locked in and it is absolutely popping off in London right now. [laughs] If you're stuck on the tube... stop it. Turn this up!

在 3.8 上实现相同演绎:

  • voice:设计好的“来自 Brixton 的活力电台 DJ”声音,或 Puck
  • prompt:high-energy radio DJ, big vocal smile, fast bouncing pace
  • text:Yes, massive vibes in the studio! <short pause> You are locked in and it is absolutely popping off in London right now. <laugh> If you're stuck on the tube... stop it. Turn this UP!

生成多个版本:“连续来 3 遍”

台词保持不变;只有表达方式变化。

  • 3.8: 每个版本单独调用一次,使用相同声音和不同的简短风格及标签,并命名为 ..._take1/2/3。不要在文本中加入 “Take 1” 标签;3.8 会将其读出来。
  • 3.1 / 2.5: 可以在一次调用中通过台词里的版本标记生成多个版本。

参见 references/take-3-strategies.md。

参考资料

  • references/model-differences.md:3.1 与 3.8 的规则、模型选择,以及如何将 3.1 提示词转换为 3.8 提示词。
  • references/audio-tags.md:3.8 的发声标签词汇,以及旧版方括号标签列表。
  • references/personas.md:角色设定库,包含 3.8 配置(声音 + 风格)和 3.1 音频档案。
  • references/take-3-strategies.md:各模型系列的多版本策略。

评论

支持 Markdown