Communitygithub.com

openvidstudio-bgmusic:背景音楽検索・編集

ビデオに背景音楽が必要な場合に、パブリックドメインのカタログからトラックを見つけ、トリミング・フェード・ノーマライズしてBGMとして整形します。

openvidstudio-bgmusic:背景音楽検索・編集 とは?

このスキルは、OpenVidStudioで使用する背景音楽(BGM)を、2つのCC0パブリックドメインカタログ(lofi: 166トラック、cc0: 約9200トラック)から検索・取得し、ビデオに適したBGMに整形するためのツールです。ユーザーが「find music」「background music」「the music is boring」などと発言した場合や、デモ・ローンチ・プロモーションビデオのBGMを必要とする場合に起動されます。内部処理では、find_music_bedでキーワード検索、import_music_bedでトラックのダウンロード・トリミング・フェード・LUFSノーマライズ、plan_music_cuesでビートキュー生成を順に行います。lofiカタログは単一作者・単一ライセンスで信頼性が高く、cc0カタログはコミュニティ収集ですが商用利用に適しています。効果音(plan_sound_effects)やナレーション生成(generate_narration)には使用しないでください。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/AnayDhawan/openvidstudio/tree/main/.agents/skills/bgmusic

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

bgmusic

ビデオ用の本格的なBGMを、パブリックドメインカタログから見つけます。ライブラリのダウンロードやクレジット表記は不要です。

内蔵BGMで十分な場合

public/sfx/ にはあらかじめ2つのBGMが同梱されており、リクエスト不要で使用できます。

  • music-bed.mp3:60秒のアンビエントドローン。短い技術解説ビデオに最適です。
  • pulse-bed.mp3:112bpmで、pulse-bed.cues.json に正確なキューグリッドが付属。シンセサイズで生成されたため、ビートロックカットが推定ではなく正確です。

ビデオが短い、ナレーション主体、または音楽が無音でなければ十分という場合はこれらを使ってください。ローンチやプロモーションビデオでBGMが雰囲気を担う場合は、新しい曲を探しましょう。

2つのカタログ

ソース内容サイズ
lofibtahir/open-lofi、10カテゴリ・166曲のローファイトラック1トラックあたり約3MB
cc0SoundSafari/CC0-1.0-Music、freepd、chosic、Free Music Archive、freesound、Pixabayからの約9200トラック1トラックあたり2~15MB

どちらもCC0-1.0ライセンスです。パブリックドメイン、商用利用可、帰属表示不要、ビデオ説明文にも不要です。これが、plan_sound_effects がユーザーに手動でPixabayを勧めるのに対して、この2つが自動接続されている理由です。

1つ注意点:このコーパスはコミュニティ収集で、削除リクエストに依存しています。各トラックのCC0主張はメンテナーの判断であり、あなたが読んだライセンスではありません。製品ビデオであれば問題ありませんが、ライセンス違反が重大な影響を与える場合は、単一作者・単一リリース・単一ライセンスの lofi を使用してください。

フロー

find_music_bed -> [ユーザーが試聴] -> import_music_bed -> plan_music_cues -> stitch_composition

1. find_music_bed

ムードやシーンを表すプレーンな単語でクエリします。例:"calm focus coding"、"late night neon"、"warm upbeat"。タイトルとカテゴリがマッチング対象です。

初回呼び出しでインデックスを構築(約7回のGitHub API呼び出し)し、output/music-index.json にキャッシュします。以降の検索はローカル読み取りです。カタログが新しいリリースを公開した場合のみ refresh: true を指定してください。

lofi のカテゴリは実際のメタデータなので、category: "ambient-lofi" のように使えます。cc0カタログのトラックにはカテゴリがなく、ファイル名とサイト名のフォルダのみです。何も一致しない場合、ツールはプレーンなサンプルを返し、matchedQuery: false を設定します。これは諦める合図ではなく、作曲家が実際にタイトルに使うような単語を試すように促すものです。

ユーザーに選ばせてください。 3~5件の候補をタイトルとカテゴリとともに返します。音楽は好みの問題であり、間違ったBGMは間違ったフォントよりも目立ちます。

2. import_music_bed

import_music_bed(id: "lofi:terminal-rain", out: "public/audio/music-bed.mp3", seconds: 45, start: 12)

ダウンロード以外の機能:start から seconds 秒にトリミング、フェードイン・アウト、-20 LUFSにノーマライズ(BGMがナレーションと喧嘩しないように)。raw: true でこれらの加工をスキップし、公開されたままのトラックを保持します。

保存先:

  • public/audio/music-bed.mp3:コンポジションのBGM用。stitch_composition が自動的にこのパスを参照するため、他に変更は不要です。
  • public/imported_audios/(デフォルト):その他の素材用。内蔵パックに含まれない素材を保存するフォルダです。

トラックと一緒に <file>.source.json と MUSIC-SOURCES.md の行が書き込まれます(id、タイトル、ソースリポジトリ、ライセンス、日付)。CC0ではこれらは不要ですが、1年後にBGMの出所を推測ではなくファイルで確認できます。

start でトラックの中盤から開始できます。イントロは最も役に立たない部分であることが多く、ダウンビートで始まるBGMは編集なしでも意図的に感じられます。

3. plan_music_cues

インポートしたファイルに対して呼び出します。pulse-bed.mp3 以外のトラックでは、グリッドはオンセットエンベロープから推定されるため、計画のガイダンスとして扱ってください:すべてのカットではなく、主要な演出のいくつかを strongCues にスナップします。docs/STYLE.md に許容差が記載されています。

コストと制限

  • ベンダリングはありません。open-lofi は554MBのリリースzip内にのみトラックを公開しているため、インポート時はHTTP range requestでそのzipの中央ディレクトリを読み取り、選択したメンバーのバイトだけを取得します。554MB全体がダウンロードされることはありません。
  • BGMの整形には ffmpeg がPATH上にある必要があります。raw: true の場合は不要です。
  • GitHubの未認証API制限は1時間あたり60リクエストです。インデックス構築には約7回かかります。頻繁に再構築するマシンでは GITHUB_TOKEN を設定してください。
  • インデックスキャッシュは output/ に保存されます。スキャフォールドされたプロジェクトでは既にgitignoreされています。

やってはいけないこと

  • カタログ全体をプロジェクトにコミットしないでください。1ビデオあたり1つのBGMが単位です。
  • トラックを public/sfx/ に置かないでください。そのフォルダはパッケージに同梱されたパックであり、public/sfx/CREDITS.md に内容と利用条件が記載されています。
  • 効果音には使用しないでください。plan_sound_effects は最初に内蔵パックを確認し、その後で検索するため、効果音には適切な順序です。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

関連スキル