audio-jingle について
audio-jingleは、プロジェクトの音声タイプに応じて音楽、音声、効果音を計画・生成するスキルです。種類に合わせてモデルを選び、統合ディスパッチャー経由で生成ファイルをプロジェクトに保存します。
主な機能
- 01音楽・音声・効果音モード
- 02音声タイプに応じたモデル選択
- 03テンポ、声、質感の計画
- 04統合ディスパッチャーで生成
- 05生成ファイルをプロジェクトに保存
活用シーン
- 01指定したスタイルとテンポの短い音楽を制作
- 02完成した原稿を音声に変換
- 03質感と長さを指定した効果音を生成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nexu-io/ open-design --skill audio-jingleインストール後、Claude Code で/audio-jingleを入力して読み込まれたか確認します。
同梱ファイルexample.html
詳細
オーディオジングルスキル
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 を確認します。既知の値に応じて分岐し、その値をそのまま使用してください。メタデータがないからといって、質問する必要はありません。可能であれば安全なデフォルトを推測し、不足している情報によって依頼された出力が大きく変わる場合や、生成できない場合に限り、確認フォームを提示してください。
重要:voice はプロバイダー固有です。minimax-tts の場合、--voice には有効な MiniMax の voice_id(例:male-qn-qingse)を指定する必要があり、自然言語による説明は使えません。音声についての文章での指示(「温かみのある女性ナレーター」「中立的な中国語」など)しかない場合は、プランには記載したうえで、--voice は省略してください。そうすれば、デーモンのデフォルトの voice id が適用されます。または、特定の id をユーザーに選んでもらってください。
ステップ 1 — プランを立てる
音楽
- ジャンル+参考アーティスト(1〜2 組)
- テンポ(BPM)+キー
- 楽器編成(最大 3〜5 種類)
- ボーカル:あり/なし/ハミング/合唱
- ムードの展開(イントロ → サビ → アウトロ)
音声
- 台本(下書きではなく最終版 — TTS は台本をそのまま読み上げます)
- 音声の方向性+話すペース
MiniMax の場合、これは文章での指定ではなく、実在する
voice_idを意味します - 固有名詞/頭字語の発音に関するヒント
効果音
- 音の質感(インパクト/シュッという音/環境音/フォーリー)
- 長さ+エンベロープ(鋭いアタックか、穏やかな盛り上がりか)
- レイヤーに関するメモ(単発か、重ねるか)
実行前に、プランを 2〜3 文で提示してください。
ステップ 2 — プロンプトを作成する
上流モデルが推奨する形式を使用してください。audioDuration は API パラメーターに直接割り当ててください。「30 秒にしてください」のような文をプロンプトに入れてはいけません。
ステップ 3 — メディアコントラクト経由で実行する
統合ディスパッチャーを使用してください。プロバイダーの API を直接呼び出してはいけません。
"$OD_NODE_BIN" "$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>"
コマンドは JSON を 1 行出力します:{"file": {"name": "...", ...}}。
ファイルのデータはプロジェクトに保存され、FileViewer がオーディオの再生コントロールを自動的に表示します。
ステップ 4 — 引き渡す
プランの要約、ディスパッチャーが返したファイル名、そしてユーザーがバリエーションを希望する場合に試すことを 1 文で伝えてください(例:「変えてみる」ではなく「テンポを 92 BPM から 108 BPM に変更する」)。
厳守事項
- TTS は台本を文字どおり読み上げます。実行前に校正してください。読点が 1 つ余計にあるだけでも、話すリズムが変わります。
- MiniMax TTS は
--voiceに自由形式の文章を指定すると拒否します。実在する MiniMax のvoice_id(例:male-qn-qingse)を使うか、フラグを省略してデーモンのデフォルト音声を適用してください。 - 音楽:30 秒未満は 1 セクション、30〜90 秒はイントロ+本編、90 秒以上は全体的な展開にします。15 秒に 3 幕構成の曲を詰め込もうとしないでください。
- 効果音:「かっこよくして」のような段落を書くより、よく説明されたレイヤーを 1 つ使ってください。生成モデルは具体的な音の質感を表す言葉に反応します。
- 毎回、ファイルを保存してください。ファイルが配置されるとすぐに、オーディオビューアに再生コントロールが表示されます。