lyria について
lyriaは、OpenMontageでGoogle Lyria 3による単発の音楽生成を案内するスキルです。モデル選択、構造化プロンプト、ボーカルと長さの確認、結果の記録を扱い、現在のアダプターはLyria 3 Pro Previewを使用します。
主な機能
- 01Lyriaモデル選択のガイド
- 02構造化された音楽プロンプトの設計
- 03ボーカルと歌詞の確認
- 04音声の長さと形式の確認
- 05生成コストと出所の記録
活用シーン
- 01動画編集用の音楽制作
- 02インストゥルメンタルやフルソングの計画
- 03生成されたボーカルと歌詞の確認
- 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 を単一ターンの音楽生成に使用します。連続的に演奏を制御する実験的な WebSocket モデルである Lyria RealTime とは区別してください。
モデルの選択、ボーカルやカスタム歌詞の設計、画像入力の使用、応答のデバッグ、最新の制限や料金の確認を行う際は、references/api-and-prompting.md をお読みください。
必須のワークフロー
- 想定する用途を確認します。アンダースコア、ループ、インストゥルメンタルのキュー、またはフルソングのいずれかです。
- ボーカルの有無、言語、目標の長さ、音楽の構成、納品形式を確認します。
- プロバイダー、正確なモデル名、リクエストごとの推定コスト、および呼び出しが試作段階か最終段階かを伝えます。
- 以下の仕様に沿って、構造化したプロンプトを1つ作成します。
- 承認を得た生成呼び出しを1回行います。再試行も、料金が発生する可能性のある確率的な生成として扱います。
- 返されたプロバイダーのソースを変更せずに保持します。
- 長さ、形式、承認に関するメタデータを記録する前に、実際のファイルを調べて再生します。
- 編集で正確な長さが必要な場合は、別途プロダクションマスターを作成します。
モデルを慎重に選ぶ
| 用途 | モデル | 仕様 |
|---|---|---|
| プロンプトの反復、プレビュー、ループ、正確に30秒のソース | lyria-3-clip-preview | 常に30秒の MP3 を生成します。現在はリクエストごとに $0.04 です |
| フルソング、ボーカル、長めの構成、画像条件付きスコア | lyria-3-pro-preview | プロンプトに応じて最長約3分まで生成します。現在はリクエストごとに $0.08 です |
| ライブで継続的に制御するインストゥルメンタル演奏 | lyria-realtime-exp | 別個の WebSocket ワークフローです。google_music 経由ではルーティングしないでください |
現在の OpenMontage google_music アダプターは lyria-3-pro-preview に固定されています。Clip、WAV 応答の選択、複数の画像、RealTime の制御には対応していません。アダプターからそれらのオプションを利用できるかのように示さず、この制限を明示してください。
モデルを黙って変更しないでください。30秒の動画では、Pro の使用と正確な長さへのマスタリングについて承認を得るか、明示的にサポートされた経路で Clip を使用してください。
プロンプトを作成する
次の順序で指定します。
- 目的と長さ — 音楽の用途と希望する長さ。
- ジャンルと時代 — 現役アーティストの模倣ではなく、音楽用語を使います。
- テンポとハーモニー — BPM またはテンポの範囲、拍子、キーまたは調性の中心。
- 楽器編成と質感 — リード、リズム、ベース、アンビエントの各レイヤーを明記します。
- 構成 — タイムスタンプ付きのセクション、または
[Intro]、[Verse]、[Chorus]、[Bridge]、[Outro]を指定します。 - ダイナミクスと同期 — 編集時刻に合わせて、音の入り、休止、盛り上がり、アクセント、伸ばす音を指定します。
- ボーカルの方針 — インストゥルメンタルのみの制約、ボーカルのプロファイル、または明確に分けたカスタム歌詞を指定します。
- ミックスと終わり方 — 密度、前景/背景での役割、ヘッドルームの特性、最後の余韻を指定します。
- 除外事項 — 不要なボーカル、楽器、表現、ありがちな要素、唐突な終わり方、または著作権で保護された素材を指定します。
動画のアンダースコアでは、希望する長さ全体をカバーするタイムスタンプの区間を使います。各区間では主な変化を1つだけ求め、正確な同期タイミングを明示します。
インストゥルメンタルのみの出力では、必要に応じて以下のすべてを記載します。
Instrumental only. No lead or backing vocals, speech, choir, humming,
vocal chops, spoken samples, lyrical fragments, or recognizable quotations.
カスタム歌詞では、演奏の指示を独立した Lyrics: ブロックの前に記載し、セクションラベルを使用します。歌手が歌う言語でプロンプトを作成してください。
ボーカルを意図的に指定する
ボーカルをリクエストする場合は、プロンプトを書く前に次の項目を定義します。
- ボーカルの役割 — ソロのリード、デュエット、コール&レスポンス、バックボーカルのアンサンブル、またはボーカルテクスチャ。
- 言語と文字体系 — 歌唱する言語を明記し、カスタム歌詞には一貫した文字体系を使用します。暗黙のうちに音訳したり、複数の言語を切り替えたりしないでください。
- 歌手のプロファイル — 声種または音域、音色、強度、発音、装飾、感情的な距離感を指定します。特定のアーティストを模倣しないでください。
- セクションごとの振る舞い — リードボーカルの入り、ハーモニーやエコーが現れる箇所、インストゥルメンタルのままにするセクションを明記します。
- 歌詞のルール — 指示と
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 のサービスアカウント認証情報にも対応しています。
- 1 回の実行につき、既知の認証情報の経路を 1 つ使用します。
- デバッグ中にキーを表示したり、認証情報ファイルを編集したりしないでください。
- 最初のキーが拒否された場合に、設定済みの 2 つ目のキーが自動的に使われると想定しないでください。
- 現在の OpenMontage リゾルバーでは、両方が空でない場合、
GOOGLE_API_KEYがGEMINI_API_KEYより優先されます。 403、API_KEY_SERVICE_BLOCKED、プロジェクトまたはサービスの制限は、プロンプト品質の問題ではなく、認証または Google プロジェクト設定の問題として扱います。- 権限の問題に対してリトライを繰り返さないでください。まず認証情報とプロジェクトの経路を解決します。
- 承認済みのリトライおよび予算ポリシーの範囲内で、一時的なレート制限またはタイムアウトのエラーに限ってリトライします。
結果を解析して記録する
interaction.output_audio を優先します。インターリーブ形式の応答では、model_output の各ステップをたどって音声ブロックを選択します。歌詞や構成の説明が関係する場合は、出力テキストを別途取得します。
次の項目を記録します。
- プロバイダーと正確なモデル名。
- 元のプロンプトと、画像がある場合はその来歴。
- リクエストした長さと検証した長さ。
- 実際のコーデック、サンプルレート、チャンネル数、ファイルパス。
- 1 回あたりのコストと試行の合計回数。
- ボーカルをリクエストしたかどうか、および試聴してボーカルを検出したかどうか。
- プロバイダーからのソースと、別途派生した制作マスター。
品質チェックリスト
- プロンプトに、目的、テンポ、楽器、構成、ダイナミクス、ボーカルの方針、エンディングが記載されています。
- タイムスタンプの範囲が、矛盾なく意図した再生時間をカバーしています。
- アーティストのなりすましや著作権のある歌詞はリクエストされていません。
- 出力ファイルが存在し、空ではなく、デコード可能で、音声ストリームを含んでいます。
- 実際の長さと技術的な特性は、リクエストのメタデータではなく検証結果に基づいています。
- インストゥルメンタル出力に意図しないボーカル素材が混入していないか確認しています。
- 冒頭、同期が必要な箇所、トランジション、エンディングを試聴しています。
- 未加工のソースを保持し、制作マスターには明確な来歴を付与しています。
- 来歴が重要な場合は、SynthID の電子透かしとプレビューモデルの不安定さを明記しています。