Communityコーディング&開発github.com

akomlik/find-music

カスタムプロジェクトに最適なBGM(3分未満)を、ブラウザタブ(YouTube Audio Library、Creatormix.com)またはローカル「03_Audio_Library/01_Curated_BGM」プールから厳選、フィルタリング、プレビューし、自動保存します。ダウンロードしたトラックは[BPM]_[Mood]_[TrackName]_[Artist].mp3形式にリネームして再利用性を高めます。

find-music とは?

このスキルは、**「動画用BGMワークフロー」** と **「音楽再利用禁止ルール」** を実装するエージェント向けスキルです。各プロジェクトにユニークなサウンドスケープを保証し、過去に使用したトラックを自動的に除外します。Claude Code、Cursor、CodexなどのAIエージェント上で動作し、Creatormix.comのCDNから直接MP3をダウンロードするCLIスクリプト(`fetch_creatormix_catalog.py`)や、YouTube Studio Audio Libraryのブラウザ操作をサポートします。タクソノミー標準に基づき、BPM、ムード、カテゴリに応じて`03_Audio_Library/01_Curated_BGM/`に整理・保存し、ファイル名を`[BPM]_[Mood]_[TrackName]_[Artist].mp3`に統一します。これにより、過去のプロジェクトで使用済みのトラックを除外し、常に新しいBGMを調達できるため、映像制作の「トーン」のマンネリ化を防ぎます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/akomlik/antigravity-video-studio/tree/HEAD/.agents/skills/find-music

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

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

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

ドキュメント

ライブブラウザ&ローカルプール音楽マッチャー(/find-music)

目的

「動画用音楽ワークフロー」 と 「反マンネリ&音楽再利用禁止ルール」 を実装します。

  1. プロジェクト間の音楽再利用ゼロ: すべての動画にユニークなサウンドスケープを設定。過去のプロジェクト(04_Project_Catalog/*/Storyboard.md および .fcproj)で使用済みのトラックは自動的に除外されます。
  2. ローカルプールのトラック数が100曲を超えるまでオンライン検索を必須: ローカルプールが小さいとサウンドトラックの選択が繰り返しになるため、/find-music と /storyboard は、既存のローカルトラックを再利用する前に、CreatorMix Direct Online Catalog(fetch_creatormix_catalog.py)および YouTube Studio Audio Library から新しいロイヤリティフリーのトラックを取得します。
  3. 摩擦のない直接CDN取得: すべての曲に手動でブラウザを操作する代わりに、fetch_creatormix_catalog.py が21のアルバムから134以上の著作権フリーなトラックを直接クエリし、3分未満でフィルタリングし、CDNストリームURLから直接 03_Audio_Library/01_Curated_BGM/<Category>/[BPM]_[Mood]_[TrackName]_[Artist].mp3 にダウンロードします。

ディレクトリ&タクソノミー標準

保存されたトラックはすべて 03_Audio_Library/01_Curated_BGM/ 内に配置されます。

  • 01_Rolling_Cadence/ — 110–125 BPM: 安定したペダリング、平坦な道、海岸沿いのレーン
  • 02_Scenic_Wonder/ — 80–105 BPM アンビエント / メロディック: 広大なパノラマ、山頂、虹、海岸のハイキング
  • 03_Punchy_Climbs/ — 120–140 BPM アップビート / ドライビング: サドルから立ち上がる努力、高速な下り
  • 04_Warm_Social_And_Retro/ — 75–115 BPM アコースティック / ボサノバ / カフェ / レトロ: 市場への買い物(SaPobla_Market_Trip)、カフェ休憩、パーティー、1977年以降/1980~1984年のアーカイブスライドショー
  • 05_Short_Transitions/ — 15–30秒 スティンガー、コメディリフ、クイックイントロ

ファイル名形式: [BPM]_[Mood]_[TrackName]_[Artist].mp3
(例: 118bpm_ChillBeat_CircuitRush_TheMiniVandals.mp3, 085bpm_WarmChillhop_BubbleGum_Creatormix.mp3)

ステップバイステップ実行ワークフロー

ステップ 1: プロジェクト/クリップのモーションプロファイルと長さを分析

  1. <project_dir>/Storyboard.md と <project_dir>/project_manifest.json を読み込む(またはターゲットのビデオクリップを調査する)。
  2. ターゲットビデオの長さ(ルール: < 3:00)とシーンフェーズ(例: 01_Rolling_Cadence → 04_Warm_Social_And_Retro)を決定する。
  3. 04_Project_Catalog/ 内の過去のプロジェクトをスキャンして、除外する(既に使用済みの)トラックのリストをコンパイルする。

ステップ 2: 新しい音楽を入手(直接CreatorMix CLI または YouTube Studio ブラウザ)

オプション A: CreatorMix オンライン検索と自動ダウンロード(即時、ブラウザ操作ゼロ)

希望するジャンルや検索語を指定して fetch_creatormix_catalog.py を実行します。

# 特定のジャンルで、未使用の新しいトラックを検索:
python3 ./.agents/skills/find-music/scripts/fetch_creatormix_catalog.py --genre chillhop --max-duration 180

# 勝ちトラック(例: 候補 #2)をダウンロード:
python3 ./.agents/skills/find-music/scripts/fetch_creatormix_catalog.py --genre chillhop --download-idx 2

このスクリプトは、CreatorMix CDNから高品質MP3を直接ダウンロードし、標準の [BPM]_[Mood]_[TrackName]_Creatormix.mp3 命名規則に従ってフォーマットし、03_Audio_Library/01_Curated_BGM/<Category>/ に移動し、music_catalog.json を自動的に更新します!

オプション B: YouTube Studio オーディオライブラリブラウザタブ(studio.youtube.com)

YouTube オーディオライブラリで特定のアンビエントやビンテージムードを検索する場合:

  1. chrome-devtools または /browser を使用して、開いている YouTube Studio タブに接続します。
  2. フィルターを適用: 長さ < 3:00、ジャンル(Dance & Electronic、Ambient、Folk & Acoustic)、ムード(Inspirational、Happy、Calm)。
  3. トラックを ~/Downloads にダウンロードし、save_music_track.py を実行して自動タグ付けと移動を行います。
    python3 ./.agents/skills/find-music/scripts/save_music_track.py \
      --source latest \
      --bpm 118 \
      --mood "ChillBeat" \
      --title "Circuit Rush" \
      --artist "The Mini Vandals" \
      --category "01_Rolling_Cadence" \
      --source-site "YouTube_Audio_Library"
    

ステップ 3: クリエイターに確認し、タイムライン配置の提案を行う

新しいトラックをAlexanderに報告し、/swap-music、/magic-movie、または /build-cut-table を使用してトラック A2 に配置する提案を行います。

Individual skills in this repo

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

関連スキル