scenario-sonilo について
テキストや動画から効果音、インストゥルメンタル音楽を生成するSoniloモデルの使い方を解説するScenarioスキルです。出力形式の選択、映像に合わせた音声生成、動画への音楽合成時に音声を残す方法を扱います。
主な機能
- 01テキストから効果音・音楽を生成
- 02動画を条件にした音声生成
- 03音声のみ・映像合成の出力
- 04動画区間ごとのプロンプト指定
- 05音声を残す方法の解説
活用シーン
- 01無音のゲーム映像に効果音を追加
- 02動画用の音楽を生成
- 03音声のみか映像合成かを選択
MCP 対応
`search`、`model_schema_get`、`model_run`、アセット関連ツールなどのScenario MCPツールで、モデルの検索、ジョブの実行、出力の取得を行います。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ scenario-labs/ skills --skill scenario-soniloインストール後、Claude Code で/scenario-soniloを入力して読み込まれたか確認します。
詳細
Scenario Sonilo Audio
概要
Scenario のオーディオファミリーである Sonilo は、2 つの軸で分かれています。音の種類(効果音またはインストゥルメンタル音楽)と、返されるもの(単独のトラック、または生成したトラックを多重化した、映像に変更のない元の動画)です。どのメンバーを選ぶかは、どんなプロンプトを使うかよりも、納品形式に合った戻り値を選ぶことのほうが重要です。search で探し、model_schema_get を仕様として扱ってください。
接続方法と基本的な手順については、このリポジトリの scenario スキルを参照してください。モデルに依存しないオーディオ作業については、scenario-audio スキルを参照してください。ここで名前が挙がっている関連スキルが利用可能なスキルにない場合は、ユーザーにインストールを依頼してください(npx skills add scenario-labs/skills --skill <name>)。無人で進める場合は、ツールスキーマに従い、スキルが不足していることを明示してください。
クイックリファレンス
メンバー名にはモードが示され、入力名は実際のスキーマに基づきます。
| メンバー | 主な入力 | 戻り値 |
|---|---|---|
| Text to SFX | prompt、duration、audioFormat | 効果音クリップ 1 つ |
| Text to Music | prompt、duration、numSamples | インストゥルメンタルトラック |
| Video to SFX | video、任意の prompt または segments | 動画の長さに合ったオーディオトラック |
| Video to Music | video、任意の prompt、numSamples、startOffset、duration | 音楽トラック |
| Video to Video SFX | Video to SFX と同じ | 効果音をミックスした動画と、トラック |
| Video to Video (music) | Video to Music と同じで、keepSpeechVocal も指定 | 音楽をミックスした動画 |
作成時点では、テキストからの効果音生成は 1~180 秒(デフォルトは 8 秒)、テキストからの音楽生成は 1~600 秒(デフォルトは 90 秒)に対応していました。動画入力は最大 360 秒、segments は最大 50 個、numSamples は 1~3 に対応し、startOffset は 10 秒刻みで設定できます。また、startOffset と duration の合計は動画の長さ以下である必要があります。audioFormat(デフォルトは aac、ほかに mp3、wav、flac。編集パイプラインでは wav または flac)は効果音のメンバーにのみあり、多重化するメンバーでは別トラックの形式を指定します。動画自体のオーディオは AAC のままです。音楽を多重化するメンバーは 2 つあり、同じスキーマを使用していました。新しいほうの結果を優先してください。長さに関するパラメーターはどれもコストに影響するため、まとめて実行する前に dry_run を行ってください。
動画が時間を決める
動画を条件とするメンバーでは、音が鳴るタイミングは映像によって決まり、プロンプトは音の質感だけを調整します。クリップ内の音声が生成に影響することはなく、映像だけが読み取られます。prompt は空でも有効で、多くの場合それが最適です。モデルがクリップの内容を説明し、各シーンを自動でカバーします。1 つの説明ではクリップ全体を表現できない場合、segments で範囲ごとにプロンプトを指定できます。各範囲は仕様上連続している必要があります。最初の start は 0、各 end は次の start と等しく、最後の範囲は動画の長さ以内に収めてください。Text to SFX にはタイミングを制御する機能がまったくないため、1 回の実行につき 1 つの音響イベントを説明してください。ムードよりも具体的な物理的な言葉(空洞な、くぐもった、力強い)を使い、音源、素材、空間、強度の順で記述し、パラメーターだけでなく文面でも長さの意図を伝えてください。どのメンバーにもシード値はないため、気に入った生成結果は保存してください。音楽のメンバーでは、再生成を繰り返す代わりに、numSamples を指定すれば 1 回の実行で最大 3 テイクを生成できます。
音楽生成後に残るもの
音楽を多重化するメンバーは、デフォルトで元のトラック全体を置き換えます。keepSpeechVocal: true にすると、人の声(会話、ナレーション、歌、群衆の声)を分離し、その下に音楽を抑えて流します。声以外(エンジン音、足音、環境音、既存のフォーリー)はすべて置き換えられます。そのため、フォーリーを多重化した後のクリップに音楽を付けることは避けてください。動画に両方が必要な場合は、Video to SFX と Video to Music から単独トラックを取得し、ポストプロダクションでミックスしてください。音楽の戻り値はインストゥルメンタルです。
実例:無音のゲームプレイ動画にフォーリーを追加する
target="models"、query="sonilo"、public=trueを指定してsearchを実行します。メンバーにはtxt2audio、video2audio、video2videoのいずれかの機能が表示されます。例:model_sonilo-v1-1-video-to-video-sound-effects(作成時点で有効な検索結果です。セッションごとに再検索してください)。- その ID を指定して
model_schema_getを実行し、何よりも先にフィールドと上限を確認します。 - 動画クリップを
upload_assetでアップロードし(scenarioスキルを参照)、アセット ID を取得します。 - 該当する
model_idとdry_run=trueを指定し、次のparametersでmodel_runを実行します。parameters={"video": "asset_x", "segments": [{"start": 0, "end": 4, "prompt": "footsteps on wet metal, close and sharp"}, {"start": 4, "end": 12, "prompt": "plasma rifle shots, hollow hangar reverb"}]}: 費用は動画の長さに応じて変わります。 wait=falseを指定してmodel_runを再実行し、返されたジョブ ID を使ってjobs_waitを実行します。タイムアウトした場合はpending_job_idsを指定して再度呼び出し、model_runは二度と実行しないでください。- 多重化された動画を
asset_displayで表示してから、動画と個別のトラックをasset_downloadでダウンロードします。
よくある間違い
- 編集で個別のトラックが必要なのに多重化する、またはその逆:Video to SFX は音声のみを返し、Video to Video SFX は完成した動画を返します。納品形式に応じて選んでください。
- すでにフォーリーが入っている動画を、音楽との多重化を行うメンバーで処理する:音声以外のサウンドが置き換えられ、フォーリーが消えてしまいます。
- 会話のある動画クリップで
keepSpeechVocalをオフのままにする(デフォルト):ナレーションがトラックのほかの部分とともに消えてしまいます。 segmentsの範囲に空白や重複を作る:仕様では、0 から連続した範囲が必要です。- 時系列に並ぶイベントを 1 つの Text to SFX プロンプトに詰め込む:タイミングを制御できないため、実行ごとに 1 つのイベントを指定してください。
- どのメンバーにも会話やボーカルを要求する:会話、ナレーション、歌唱を生成するメンバーはありません。対応するのは SFX とインストゥルメンタル音楽のみです。