关于 genmedia-voice-director
GenMedia Voice Director 是用于指导 Gemini Text-to-Speech 配音和表演的技能,面向音频制作人员。它帮助选择声音、设计表达方式,并按模型差异编写旁白和对话提示。
主要功能
- 01搜索并选择声音
- 02设定表达风格与语调
- 03标注富有表现力的声音事件
- 04生成不同演绎版本
- 05指导双人对话
适用场景
- 01为旁白挑选声音
- 02制作不同演绎版本
- 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.mdmodel-differences.mdpersonas.mdtake-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_name | Flash-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(默认)
- 设定声音。 固定特征(年龄、性别、口音、音色)应由声音承载,而不是风格。
- 预置声音: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。
- 把台词写得像真实口语。 用词语表现自然的语塞(
uhm、hm、I mean...),用大写字母强调重点,并用标点控制节奏(,--...)。 - 在台词中插入发声事件,使用尖括号标注人类发声:
<sigh>、<laugh>、<chuckle>、<gasp>、<breath>、<throat-clearing>、<short pause>、<long pause>。参见references/audio-tags.md。 - 仅在需要时添加简短风格描述。 先尝试不加风格描述。然后添加能实现所需表达的最简指示:
warm, unhurried、speaking rapidly, excited、out of breath、dry sarcasm。需要一致的基准风格时,可在各次调用中重复使用相同风格。 - 情绪变化时拆分。 每个情绪节拍单独调用(或单独生成一轮),不要把多个指示堆在同一个风格描述中。
- 不要要求模型“保持声音一致”,也不要每次调用都重新发送冗长的人物设定。声音本身承载身份特征。
示例:
{
"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 中:
- 音频档案: 角色的名称和原型。
- 场景: 地点、情绪、环境。
- 导演备注: 风格、口音(具体说明)、语速。不要过度具体。
- 台词(放在
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:各模型系列的多版本策略。