关于 google-ai-studio-tts
通过浏览器在 Google AI Studio 中使用 Gemini Flash TTS 生成语音,适合需要旁白或多角色对话的用户。支持文本与分段编排模式,并可设置音色和场景。
主要功能
- 01文本与编排两种输入模式
- 02场景与示例语境字段
- 03逐角色选择音色
- 04音频生成与播放
适用场景
- 01制作单人旁白
- 02生成多角色对话
- 03设置音色表达与场景语境
MCP 相关
使用 claude-in-chrome MCP 工具,在用户已打开的 Chrome 会话中操作 Google AI Studio。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ maystudios/ claude-skills --skill google-ai-studio-tts安装后在 Claude Code 中输入/google-ai-studio-tts确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/audio-tags.mdselectors.mdvoices.md详细介绍
Google AI Studio TTS(浏览器驱动)
概述
此技能通过 claude-in-chrome MCP 工具,在用户已打开的 Chrome 中操作 https://aistudio.google.com/generate-speech,使用 Gemini Flash TTS 渲染音频。用户必须已在 Chrome 中登录 Google AI Studio——绝不要创建账号、输入密码或分享凭据。
界面有两种输入模式。请根据用户的需求选择:
| 用户意图 | 模式 | 原因 |
|---|---|---|
| 单人旁白、独白或简短配音 | Text | 只有一个文本框,流程最快。 |
使用简单 Speaker 1: … 行的多人对话 | Text | 使用同一个文本框——在各行前加上 Speaker 1:、Speaker 2:。 |
| 每行都有独立说话人标签、需要更精细的控制或便于编辑的多人对话 | Composer | 每段话占一个区块,每个区块都有自己的语音标签。 |
| 用户明确提到“scene”“sample context”“director's note”,或希望看到说话人标签 | Composer | 与他们提到的可见界面元素相符。 |
两种模式都共用 Scene 和 Sample Context 字段,以及右侧的 Speaker settings 面板。
必需工具
开始前,通过 ToolSearch 加载这些 claude-in-chrome MCP 工具:
select:mcp__claude-in-chrome__tabs_context_mcp,mcp__claude-in-chrome__tabs_create_mcp,mcp__claude-in-chrome__navigate,mcp__claude-in-chrome__find,mcp__claude-in-chrome__form_input,mcp__claude-in-chrome__javascript_tool,mcp__claude-in-chrome__computer
端到端工作流
1. 打开页面
tabs_context_mcp({ createIfEmpty: true })
navigate({ tabId, url: "https://aistudio.google.com/generate-speech?model=gemini-3.1-flash-tts-preview" })
如果 URL 显示所选模型不可用,且 AI Studio 已自动切换到其他模型(例如 gemini-3.1-flash-tts-preview),请接受切换——不要尝试阻止重定向。继续操作前,点击关闭提示横幅的“X”,以免遮挡 Run 控件。
2. 选择模式
两个切换按钮位于 Playground 右上角:
// Switch to Composer
document.querySelectorAll('button.toggle-button').forEach(b => {
if (b.innerText.trim().endsWith('Composer')) b.click();
});
// or for Text
document.querySelectorAll('button.toggle-button').forEach(b => {
if (b.innerText.trim().endsWith('Text')) b.click();
});
当前激活的切换按钮具有 ms-button-active 类。
3. 填写共用字段
两种模式共用以下字段:
- Scene(设置声学/情境框架):
textarea[aria-label="Scene"] - Sample Context(为模型提供语气参考):
textarea[aria-label="Sample Context"]
这些是 Angular 文本框。直接使用 el.value = ... 不会触发 Angular 的表单绑定——请使用 references/selectors.md 中的辅助函数,或优先使用 find 获取引用后再调用 form_input MCP 工具。
如果用户未提供场景/示例上下文,请将这些字段留空。它们是可选项。
4a. 填写输入内容——Text 模式
一个文本框:textarea[aria-label="Enter a prompt"]。
格式约定(界面不会验证,但这是模型的训练格式):
- 单人旁白:直接写文本。也可以选择在前面加上行内标签,例如
[warm] 欢迎收听本期节目。 - 多人对话:在每行前加上
Speaker 1:、Speaker 2:等。
Speaker 1: [enthusiastic] Welcome back to the show!
Speaker 2: [agreement] Thanks, glad to be here.
行内标签词汇请参阅 references/audio-tags.md。
4b. 填写输入内容——Composer 模式
Composer 会为每段话生成一个语音区块。每个区块包含:
- 说话人标签:
button.voice-chip.ms-button-filter-chip(文本显示为Speaker N - VoiceName) - 文本框:
textarea[aria-label="Speech block text"]
要添加新区块:点击 button.add-speech-block-button。默认情况下,新区块会沿用上一个区块的说话人。
要根据脚本填充 Composer:
- 确保现有区块符合需求(如有多余区块,可使用每个区块上的“×”按钮删除)。
- 为脚本中的每一行确保都有一个区块;点击“add speech block”以创建更多区块。
- 设置每个区块的文本(
textarea[aria-label="Speech block text"],按 DOM 顺序索引)。 - 设置每个区块的说话人标签(参见步骤 5)。
5. 选择声音
右侧的 说话人设置 面板会为每位活跃说话人显示一张卡片(说话人 1、说话人 2,……)。点击卡片会打开完整的声音选择器抽屉,其中有 32 种声音。完整目录及其角色特征请参阅 references/voices.md。
在声音选择器抽屉中:
- 音频档案 — 自由文本,例如“权威的新闻主播。”
- 导演备注 — 三个下拉菜单:风格(例如 Vocal Smile)、语速(例如 Rapid Fire)、口音(例如 American (Gen))。
- 声音 — 可搜索列表。点击一种声音即可选中。
完成后,点击抽屉右上角的 × 关闭。演练场上的活跃声音卡片具有 class active-voice-card。
在 Composer 模式下,可以单独更改每个区块的声音标签——点击它会打开弹出菜单,可将该区块分配给说话人 1、说话人 2,……,或添加新说话人。
6. (可选)调整 Temperature
展开“模型设置”(右侧面板中,说话人设置上方)以显示 Temperature。范围为 0–2,默认值为 1。数字输入框是标签“Temperature”附近的 input.slider-number-input。数值越高,表达方式的变化越丰富。仅在用户提出要求时才调整。
7. 运行生成
点击 button.ctrl-enter-submits(右下角的“运行 Ctrl ↵”按钮),或在提示词区域获得焦点时按 Ctrl+Enter:
document.querySelector('button.ctrl-enter-submits').click();
生成通常需要 5–30 s,具体取决于内容长度。可通过检查音频播放器的时长计数器(渲染完成后,右侧的 0:00 / X:XX 会更新)或观察下载图标是否变为可用状态来确认生成完成。
8. 交接 / 下载
告知用户音频已准备就绪,并指出播放控件的位置。是否下载由用户决定——仅在用户要求获取文件时才点击下载(云朵箭头)图标。
提示词编写风格指南
- 行内标签应放在说话人所在行内,例如
Speaker 1: [whispers] don't tell anyone。它们不会跨行叠加。 - 场景用于描述声学效果 + 环境,而非台词。反例:“说话人 1 说嗨。”正例:“安静的厨房,晨光,混响极少。”
- Sample Context 用于描述表达语气,例如“播客风格,语速快,节奏略有重叠,充满活力且温暖。”
- 双主持人播客可使用 Puck(欢快 / 中等音高)+ Zephyr(明亮 / 较高音调),这是 AI Studio 的默认设置,也是稳妥的基准组合。其他选择请参阅 references/voices.md。
请勿执行的操作
- 不要登录、接受新的 ToS 或更改账户设置——这些操作均不允许。
- 未经用户明确要求,不要下载生成的音频。
- 渲染过程中,不要离开 AI Studio 标签页。
- 不要捏造声音名称——目录固定为 32 种声音(参见 references/voices.md)。如果用户要求的声音不在列表中,请推荐最接近的选项。
- 不要在 Angular 文本区域上执行
el.value = "…",却不触发input和change事件;否则表单会恢复原状。请使用 references/selectors.md 中的辅助工具或form_input。