audio-jingle について
audio-jingleは、プロジェクト向けに音楽、音声、効果音を制作するスキルです。プロジェクトのメタデータに基づいて内容を計画し、統一ディスパッチャーから生成を実行します。
主な機能
- 01音楽・音声・効果音を切り替え
- 02プロジェクトのメタデータから計画
- 03モデルに合わせたプロンプト作成
- 04統一ディスパッチャーでファイル生成
- 05納品とバリエーションの提案
活用シーン
- 01プロジェクト用の短い音楽やスコアの制作
- 02確定した原稿の音声化
- 03質感と長さを指定した効果音の生成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mphinance/ alpha-skills --skill audio-jingleインストール後、Claude Code で/audio-jingleを入力して読み込まれたか確認します。
同梱ファイルexample.htmlREADME.md
詳細
Audio Jingle スキル
3 つのサブモードがあります。アクティブなプロジェクトの audioKind が、どれを実行するかを決定します。
audioKind | ルーティング先のモデル | プランの焦点 |
|---|---|---|
music | Suno V5(デフォルト)、Udio、Lyria 2 | ジャンル + テンポ + インストルメンテーション |
speech | MiniMax TTS(デフォルト)、Fish、ElevenLabs V3 | スクリプト + ボイス + ペーシング |
sfx | ElevenLabs SFX(デフォルト)、AudioCraft | テクスチャ + インパクト + 長さ |
リソースマップ
audio-jingle/
├── SKILL.md
└── example.html
ワークフロー
ステップ 0 — プロジェクトのメタデータを読み取る
audioKind、audioModel、audioDuration(秒)、および(speech の場合は)voice。audioKind で分岐し、値をそのまま使用してください。何かが (unknown — ask) とマークされていない限り、確認フォームは使いません。
重要: voice はプロバイダー固有です。minimax-tts の場合、--voice には有効な MiniMax の voice_id(たとえば male-qn-qingse)を指定する必要があり、自然言語の説明ではありません。散文によるボイスの指示(「温かみのある女性ナレーター」、「ニュートラルな標準語」)しかない場合は、それをプランに残しつつ --voice を省略してデーモンのデフォルトの voice id を適用するか、ユーザーに特定の id を選んでもらってください。
ステップ 1 — プラン
Music
- ジャンル + 参考アーティスト(1〜2 組)
- テンポ(BPM)+ キー
- インストルメンテーション(最大 3〜5 楽器)
- ボーカル: あり / なし / ハミング / 合唱
- ムードの展開(イントロ → サビ → アウトロ)
Speech
- スクリプト(最終版であり下書きではない — TTS はそのまま読み上げます)
- ボイスのターゲット + ペーシング
MiniMax の場合、これは
--voiceに散文を書くのではなく、実際のvoice_idを意味します - 固有名詞 / 頭字語の発音ヒント
SFX
- テクスチャ(インパクト / ウーッシュ / アンビエンス / フォーリー)
- 長さ + エンベロープ(鋭いアタックか、穏やかな盛り上がりか)
- レイヤリングのメモ(単発のヒットか、重ねるか)
ディスパッチの前に、プランを 2〜3 文で述べてください。
ステップ 2 — プロンプトを組み立てる
上流モデルが好む形式を使用してください。audioDuration は API パラメーターに直接バインドし、「30 秒にしてください」といった文言を散文に決して入れないでください。
ステップ 3 — メディアコントラクト経由でディスパッチする
統一ディスパッチャーを使用してください — プロバイダー API を手動で呼び出さないでください:
node "$OD_BIN" media generate \
--project "$OD_PROJECT_ID" \
--surface audio \
--audio-kind "<music|speech|sfx>" \
--model "<audioModel from metadata>" \
--duration <audioDuration seconds> \
[--voice "<provider voice id (speech only)>"] \
--output "<short-slug>-<duration>s.mp3" \
--prompt "<assembled prompt from Step 2 — for speech, the literal script>"
このコマンドは 1 行の JSON を出力します: {"file": {"name": "...", ...}}。バイト列はプロジェクトに保存され、FileViewer がオーディオのトランスポートコントロールを自動的にレンダリングします。
ステップ 4 — 引き渡す
返信には、プランの要約、ディスパッチャーが返したファイル名、そしてユーザーがバリエーションを希望する場合に試すべきことを 1 文(「雰囲気を変えて」ではなく「テンポを 92 から 108 BPM に変える」など)を含めてください。
厳守事項
- TTS はあなたのスクリプトを文字通り読み上げます。ディスパッチの前に校正してください — コンマが 1 つあるだけでもリズムが変わります。
- MiniMax TTS は
--voice内の自由形式のボイス散文を拒否します。実際の MiniMax のvoice_id(たとえばmale-qn-qingse)を使用するか、フラグを省略してデーモンのデフォルトボイスを適用させてください。 - Music: 30 秒未満 = 単一セクション、30〜90 秒 = イントロ + 本文、90 秒以上 = 完全な展開。3 幕構成の曲を 15 秒に収めようとしないでください。
- SFX: 「かっこよくして」という段落よりも、よく記述された 1 つのレイヤーを優先してください — ジェネレーターは具体的なテクスチャの言葉に報いてくれます。
- 毎ターンファイルを保存してください。オーディオビューアーはファイルが保存された瞬間にトランスポートコントロールを表示します。