mcpField
L
lyria

lyria

github.com/calesthio创意与媒体72.7k795 次安装今天更新
代码仓库

关于 lyria

lyria 是一项技能,指导在 OpenMontage 中使用 Google Lyria 3 单轮生成音乐,涵盖模型选择、结构化提示词、人声与时长检查及结果记录;当前适配器使用 Lyria 3 Pro Preview。

主要功能

  1. 01Lyria 模型选择指南
  2. 02结构化音乐提示词设计
  3. 03人声与歌词检查
  4. 04音频时长和格式检查
  5. 05生成费用与来源记录

适用场景

  1. 01为视频剪辑制作音乐
  2. 02规划器乐段落或完整歌曲
  3. 03检查生成的人声与歌词
  4. 04制作时长精确的成品母版

安装

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

$npx skills add https://github.com/calesthio/openmontage --skill lyria

安装后在 Claude Code 中输入/lyria确认已加载。

附带文件agents/openai.yamlreferences/api-and-prompting.md

详细介绍

Google Lyria 3

将 Lyria 3 用作单轮音乐生成器。请将它与 Lyria RealTime 区分开来,后者是一种实验性 WebSocket 模型,可用于持续引导的器乐演奏。

选择模型、设计人声或自定义歌词、使用图像输入、调试响应,或查看当前限制和定价时,请阅读 references/api-and-prompting.md。

必需工作流

  1. 确认预期用途:背景配乐、循环、器乐提示音或完整歌曲。
  2. 确认人声、语言、目标时长、音乐结构和交付格式。
  3. 说明提供商、确切模型、预估单次请求费用,以及此次调用是探索性还是最终生成。
  4. 按照以下规范编写一条结构化提示词。
  5. 执行一次已获批准的生成调用。重试应视为另一次可能产生费用的随机生成。
  6. 原样保留提供商返回的源文件。
  7. 在记录时长、格式或审批元数据之前,先检查实际文件并试听。
  8. 如果剪辑需要精确时长,则另外制作一个成品母版。

谨慎选择模型

需求模型规范
提示词迭代、预览、循环、精确 30 秒的源文件lyria-3-clip-preview始终生成 30 秒 MP3;当前每次请求收费 $0.04
完整歌曲、人声、更长的结构、图像条件配乐lyria-3-pro-preview时长受提示词影响,最长约三分钟;当前每次请求收费 $0.08
实时、持续引导的器乐演奏lyria-realtime-exp使用独立的 WebSocket 工作流;不要通过 google_music 路由

当前的 OpenMontage google_music 适配器固定使用 lyria-3-pro-preview。它不支持 Clip、WAV 响应格式选择、多张图像或 RealTime 控制。请明确说明这一限制,不要暗示可通过该适配器使用这些选项。

不要在不说明的情况下更换模型。对于 30 秒的视频,要么获得批准后使用 Pro 并制作精确时长的母版,要么通过明确支持的路径使用 Clip。

编写提示词

按以下顺序说明:

  1. 用途和时长 — 音乐的用途及所需时长。
  2. 流派和时代 — 使用音乐术语,不要模仿在世艺术家。
  3. 速度和和声 — BPM 或速度范围、拍号、调性或调性中心。
  4. 乐器和质感 — 指明主奏、节奏、低音和氛围层。
  5. 结构 — 标注时间戳的段落,或使用 [Intro]、[Verse]、[Chorus]、[Bridge]、[Outro]。
  6. 力度变化和同步 — 结合剪辑时间安排乐器进入、休止、渐强、重击和延音。
  7. 人声要求 — 仅器乐的限制、人声特征,或清晰分隔的自定义歌词。
  8. 混音和结尾 — 音乐密度、前景/背景定位、余量特征和最终衰减。
  9. 排除项 — 不需要的人声、乐器、表现手法、陈词滥调、突兀结尾或受版权保护的内容。

视频背景配乐应使用覆盖完整所需时长的时间窗口。每个窗口只要求一个主要变化,并指出精确的同步时刻。

对于纯器乐输出,在适用时写明以下所有内容:

Instrumental only. No lead or backing vocals, speech, choir, humming,
vocal chops, spoken samples, lyrical fragments, or recognizable quotations.

对于自定义歌词,应在单独的 Lyrics: 区块之前写出演唱指示,并使用段落标签。提示词应使用演唱者需要使用的语言。

明确指定人声要求

需要人声时,先明确以下内容,再编写提示词:

  1. 人声角色 — 独唱主唱、二重唱、呼应式演唱、伴唱合唱团或人声氛围音。
  2. 语言和文字 — 指明演唱语言,并让自定义歌词使用一种统一的文字;不要擅自转写或切换语言。
  3. 歌手特征 — 声线类型或音域、音色、力度、咬字、装饰音和情感距离。不要模仿指定艺人。
  4. 段落表现 — 说明主唱何时进入、何处出现和声或回声,以及哪些段落保持纯器乐。
  5. 歌词规范 — 将演唱指示与 Lyrics: 区块分开,使用 [Verse]、[Chorus]、[Bridge] 和 [Outro],并仅用圆括号标注有意加入的伴唱回声。

试听前,将返回的人声视为不可信内容。检查歌词是否遵循要求、语言是否偏移、发音和清晰度、是否有不需要的伴唱、人声与乐器的平衡,以及演唱是否符合要求的情感变化。技术上有效但咬字不清或歌词被改动的文件,不算合格的人声结果。

在探测前,将时长视为不可信

Lyria 3 Pro 的时长由提示词指令和时间戳控制,而不是由精确的 API 参数控制。OpenMontage 适配器会追加目标时长指令,但其返回的 duration_seconds 字段表示请求时长,并非媒体探测结果。

务必检查生成的文件:

ffprobe -v error -show_entries \
  format=duration,format_name,bit_rate:stream=codec_name,sample_rate,channels \
  -of json output.mp3

如果要求精确时长:

  • 保留未经改动的服务商源文件;
  • 分别记录请求时长和测得时长;
  • 在音乐上合适的边界处裁剪,并应用短淡出,以此生成新的母版;
  • 未经批准的制作计划,不要拉伸、循环或重新生成;
  • 记录衍生过程,并再次探测母版。

安全地进行身份验证和诊断

Gemini API 通常使用 GEMINI_API_KEY。OpenMontage 也支持 GOOGLE_API_KEY 和 Vertex 服务账号凭据。

  • 每次运行只使用一种已知的凭据路径。
  • 调试时切勿打印密钥或编辑凭据文件。
  • 不要假设第一个密钥被拒后,会自动改用第二个已配置的密钥。
  • 在当前 OpenMontage 解析器中,如果 GOOGLE_API_KEY 和 GEMINI_API_KEY 均非空,前者优先。
  • 将 403、API_KEY_SERVICE_BLOCKED 以及项目或服务限制视为身份验证或 Google 项目配置问题,而非提示词质量问题。
  • 遇到权限错误时不要反复重试。先解决凭据或项目路径问题。
  • 仅在获批的重试次数和预算政策范围内,重试临时性限流或超时错误。

解析并记录结果

优先使用 interaction.output_audio。对于交错响应,遍历 model_output 步骤并选取音频块;如果歌词或结构描述相关,则单独捕获输出文本。

记录:

  • 服务商和确切的模型;
  • 原始提示词及任何图像来源信息;
  • 请求时长和探测时长;
  • 实际编解码器、采样率、声道数和文件路径;
  • 单次调用成本和总尝试次数;
  • 是否请求了人声,以及试听时是否检测到人声;
  • 服务商源文件,以及任何单独衍生的制作母版。

质量检查清单

  • 提示词明确说明用途、速度、乐器、结构、动态、人声要求和结尾。
  • 时间戳区间覆盖预期时长,且互不矛盾。
  • 未请求模仿艺人或使用受版权保护的歌词。
  • 输出文件存在且非空,能够解码并包含音频流。
  • 实际时长和技术属性来自探测结果,而非请求元数据。
  • 检查器乐输出中是否意外包含人声素材。
  • 试听开头、同步节点、转场和结尾。
  • 保留未经改动的源文件,并明确记录任何制作母版的来源。
  • 涉及来源信息时,说明 SynthID 水印和预览模型的不稳定性。

评论

支持 Markdown