akomlik/find-music

Sélectionne, filtre, prévisualise et enregistre automatiquement une musique de fond adaptée (durée < 3:00) à partir de vos deux onglets de navigateur ouverts (bibliothèque audio YouTube et creatormix.com) ou de votre pool local 03_Audio_Library/01_Curated_BGM/, en renommant les pistes téléchargées au format [BPM]_[Mood]_[TrackName]_[Artist].mp3 pour une réutilisation future.

Qu'est-ce que find-music ?

Cette compétence d'agent AI met en œuvre un workflow complet de sélection musicale pour les projets vidéo, en garantissant des paysages sonores uniques sans réutilisation. Elle automatise la recherche de pistes libres de droits via la bibliothèque audio YouTube et le catalogue CreatorMix, filtre par durée (max 3 minutes) et télécharge directement via CDN les pistes correspondantes. Les pistes sont automatiquement renommées et classées dans un répertoire standardisé (03_Audio_Library/01_Curated_BGM/) avec une taxonomie par BPM et ambiance (par exemple, 01_Rolling_Cadence, 02_Scenic_Wonder). Cette compétence utilise des scripts Python (fetch_creatormix_catalog.py, save_music_track.py) pour effectuer les téléchargements, le suivi des exclusions des projets passés et l'enregistrement structuré, le tout sans friction de navigation manuelle. Elle est idéale pour les éditeurs vidéo et les créateurs de contenu utilisant des workflows audio automatisés avec des agents AI.

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

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Correspondance de musique en direct depuis le navigateur et le pool local (/find-music)

Objectif

Implémente le « Workflow musical pour vidéo » et la « Loi anti-monotonie et d'interdiction de réutilisation musicale » :

  1. Aucune réutilisation de musique entre les projets : Chaque vidéo doit avoir un paysage sonore unique. Les pistes utilisées dans les projets passés (04_Project_Catalog/*/Storyboard.md et .fcproj) sont automatiquement exclues.
  2. Recherche en ligne obligatoire jusqu'à ce que le pool local dépasse $> 100$ titres : Parce que les petits pools locaux conduisent à des choix de bande-son répétitifs, /find-music et /storyboard interrogent de nouvelles pistes libres de droits dans le Catalogue CreatorMix Direct en ligne (fetch_creatormix_catalog.py) et la Bibliothèque audio YouTube Studio avant de réutiliser toute piste locale existante.
  3. Récupération CDN directe sans friction : Au lieu d'exiger une navigation manuelle dans le navigateur pour chaque morceau, fetch_creatormix_catalog.py interroge directement 134+ pistes libres de droits réparties dans 21 albums, filtre par durée < 3:00 et télécharge directement via les URLs de flux CDN dans 03_Audio_Library/01_Curated_BGM/<Catégorie>/[BPM]_[Ambiance]_[NomPiste]_[Artiste].mp3 !

Répertoire et norme de taxonomie

Toutes les pistes enregistrées se trouvent dans 03_Audio_Library/01_Curated_BGM/ :

  • 01_Rolling_Cadence/ — 110–125 BPM : pédalage régulier, routes plates, voies côtières
  • 02_Scenic_Wonder/ — 80–105 BPM Ambiance / Mélodique : panoramas larges, sommets, arcs-en-ciel, randonnées côtières
  • 03_Punchy_Climbs/ — 120–140 BPM Entraînant / Dynamique : efforts hors-selle, descentes rapides
  • 04_Warm_Social_And_Retro/ — 75–115 BPM Acoustique / Bossa / Café / Rétro : sorties au marché (SaPobla_Market_Trip), pauses café, fêtes et diaporamas d'archives 1977+ / 1980–1984
  • 05_Short_Transitions/ — 15–30s : jingles, riffs comiques, intros rapides

Format de nom de fichier : [BPM]_[Ambiance]_[NomPiste]_[Artiste].mp3
(Exemples : 118bpm_ChillBeat_CircuitRush_TheMiniVandals.mp3, 085bpm_WarmChillhop_BubbleGum_Creatormix.mp3)

Workflow d'exécution étape par étape

Étape 1 : Analyser le profil de mouvement et la durée du projet / clip

  1. Lire <répertoire_projet>/Storyboard.md et <répertoire_projet>/project_manifest.json (ou inspecter le clip vidéo cible).
  2. Déterminer la durée de la vidéo cible (règle : < 3:00) et les phases de scène (par exemple 01_Rolling_Cadence $\rightarrow$ 04_Warm_Social_And_Retro).
  3. Analyser les projets passés dans 04_Project_Catalog/ pour compiler la liste des pistes exclues (déjà utilisées).

Étape 2 : Rechercher de la musique fraîche (CLI CreatorMix Direct ou navigateur YouTube Studio)

Option A : Recherche en ligne CreatorMix Direct et téléchargement automatique (instantané, zéro friction navigateur)

Exécutez fetch_creatormix_catalog.py avec votre genre ou termes de recherche souhaités :

# Rechercher des pistes fraîches jamais utilisées dans un genre spécifique :
python3 ./.agents/skills/find-music/scripts/fetch_creatormix_catalog.py --genre chillhop --max-duration 180

# Télécharger la piste gagnante (par exemple, candidate n°2) :
python3 ./.agents/skills/find-music/scripts/fetch_creatormix_catalog.py --genre chillhop --download-idx 2

Le script télécharge le MP3 haute qualité directement depuis le CDN CreatorMix, le formate selon la convention de nommage standard [BPM]_[Ambiance]_[NomPiste]_Creatormix.mp3, le déplace dans 03_Audio_Library/01_Curated_BGM/<Catégorie>/, et met à jour music_catalog.json automatiquement !

Option B : Onglet navigateur Bibliothèque audio YouTube Studio (studio.youtube.com)

Si vous recherchez des ambiances spécifiques (vintage, etc.) dans la bibliothèque audio YouTube :

  1. Connectez-vous via chrome-devtools ou /browser à votre onglet YouTube Studio ouvert.
  2. Appliquez les filtres : Durée < 3:00, Genre (Dance & Electronic, Ambient, Folk & Acoustic), Ambiance (Inspirational, Happy, Calm).
  3. Téléchargez la piste dans ~/Downloads et exécutez save_music_track.py pour l'étiqueter et la déplacer automatiquement :
    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"
    

Étape 3 : Confirmer au créateur et proposer un placement dans la timeline

Signalez la nouvelle piste à Alexander et proposez de la placer sur la piste A2 via /swap-music, /magic-movie ou /build-cut-table.

Individual skills in this repo

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

Skills associés