Communitygithub.com

bgmusic

Trouve et importe une musique de fond libre de droits pour une vidéo, à partir de catalogues publics, avec découpage, fondu et normalisation intégrés.

Qu'est-ce que bgmusic ?

Cette compétence permet à un agent IA de trouver et d'importer une musique de fond (music bed) de qualité pour une vidéo, en puisant dans deux grands catalogues CC0 : `btahir/open-lofi` (166 pistes lo-fi) et `SoundSafari/CC0-1.0-Music` (~9200 pistes). Elle est conçue pour les cas où les deux pistes synthétisées fournies par défaut avec openvidstudio ne suffisent pas, notamment pour des vidéos de lancement, de promotion ou des démos. L'agent peut rechercher une piste par humeur ou mot-clé, laisser l'utilisateur choisir parmi quelques candidats, puis importer la piste sélectionnée en la découpant, en appliquant des fondus et en normalisant le volume à -20 LUFS pour qu'elle reste en arrière-plan d'une narration. La compétence gère également le plan de repérage temporel des cues musicales et assure le suivi de la provenance via des fichiers `.source.json` et une ligne dans `MUSIC-SOURCES.md`. Elle fonctionne localement, nécessite `ffmpeg` sur le PATH, et utilise les API GitHub sans vendre les catalogues. Elle ne doit pas être utilisée pour des effets sonores ni pour la voix.

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

Demander à votre IA préférée

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

Documentation

Que fait bgmusic ?

Trouvez une véritable musique de fond pour une vidéo, à partir de catalogues de domaine public, sans télécharger de bibliothèque ni devoir créditer quiconque.

Quand les pistes intégrées suffisent

public/sfx/ fournit déjà deux musiques de fond qui ne coûtent aucune requête :

  • music-bed.mp3, un drone ambiant de 60s. Parfait pour un tutoriel technique court.
  • pulse-bed.mp3, 112bpm avec une grille de repères exacte dans pulse-bed.cues.json. Le seul morceau dont les coupures calées sur le rythme sont exactes plutôt qu'estimées, car il a été synthétisé plutôt qu'analysé.

Utilisez-les quand la vidéo est courte, principalement narrative, ou que la musique n'a qu'à ne pas être du silence. Cherchez ailleurs quand la vidéo est un lancement ou une promotion et que la musique de fond porte l'ambiance.

Les deux catalogues

SourceQuoiTaille
lofibtahir/open-lofi, 166 pistes lo-fi en 10 catégories~3 Mo par piste
cc0SoundSafari/CC0-1.0-Music, ~9200 pistes de freepd, chosic, Free Music Archive, freesound et Pixabay2-15 Mo par piste

Les deux sont sous licence CC0-1.0. Domaine public, usage commercial autorisé, aucune attribution requise, rien à mentionner dans la description de la vidéo. C'est pourquoi ces deux catalogues sont intégrés alors que plan_sound_effects envoie encore l'utilisateur vers Pixabay manuellement pour les effets.

Une mise en garde qu'il vaut la peine de mentionner : le corpus est agrégé par la communauté et fonctionne sur demande de retrait, donc sa déclaration CC0 par piste est celle du mainteneur, pas une licence que vous avez lue. Pour une vidéo produit, c'est acceptable et le fichier de provenance enregistre la source. Là où une mauvaise licence coûterait cher, restez sur lofi, qui est un auteur, une version, une déclaration de licence.

Le flux

find_music_bed -> [utilisateur auditionne] -> import_music_bed -> plan_music_cues -> stitch_composition

1. find_music_bed

Interrogez avec des mots d'ambiance ou de scène simples : "calme concentration codage", "nuit néon tardive", "chaud entraînant". Les titres et les catégories sont ce qui est mis en correspondance.

Le premier appel construit un index, environ sept appels à l'API GitHub, mis en cache dans output/music-index.json. Les recherches suivantes sont une lecture locale. Passez refresh: true seulement après qu'un catalogue a publié une nouvelle version.

Les catégories lofi sont des métadonnées réelles, donc category: "ambient-lofi" fonctionne. Les pistes du corpus n'en ont pas : une piste y est un nom de fichier dans un dossier nommé d'après le site dont elle provient. Quand rien ne correspond, l'outil renvoie un échantillon simple et définit matchedQuery: false. C'est un signal pour essayer un mot qu'un compositeur mettrait réellement dans un titre, pas pour abandonner.

Laissez l'utilisateur choisir. Renvoyez trois à cinq candidats avec leurs titres et catégories. La musique est une question de goût, et une mauvaise musique de fond est plus remarquable qu'une mauvaise police.

2. import_music_bed

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

Ce qu'il fait en plus du téléchargement : découpe seconds à partir de start, applique des fondus d'entrée et de sortie, et normalise à -20 LUFS pour que la musique de fond reste sous la narration au lieu de la combattre. Passez raw: true pour ignorer tout cela et garder la piste telle que publiée.

Où placer le fichier :

  • public/audio/music-bed.mp3 pour la musique de fond de la composition. stitch_composition attache ce chemin automatiquement, donc rien d'autre ne change.
  • public/imported_audios/ (par défaut) pour tout le reste, qui est le dossier contenant le matériel qui ne provient pas du pack intégré.

Il écrit <fichier>.source.json et une ligne dans MUSIC-SOURCES.md à côté de la piste : id, titre, dépôt source, licence, date. CC0 n'exige rien de tout cela. C'est là pour que, un an plus tard, la provenance d'une musique de fond soit une lecture de fichier plutôt qu'une supposition.

Sautez au milieu d'une piste avec start. Les intros sont généralement la partie la moins utile, et une musique de fond qui commence sur un temps fort n'a pas besoin d'édition pour sembler délibérée.

3. plan_music_cues

Appelez-le sur le fichier importé. Pour toute piste qui n'est pas pulse-bed.mp3, la grille est estimée à partir d'une enveloppe d'attaques, donc traitez-la comme un guide de planification : accrochez quelques révélations majeures à strongCues, pas toutes les coupures. docs/STYLE.md contient les tolérances.

Coûts et limites

  • Rien n'est vendu. open-lofi publie ses pistes uniquement dans une archive zip de 554 Mo, donc une importation lit le répertoire central de ce zip via des requêtes HTTP range et ne télécharge que les octets du membre choisi. Les 554 Mo ne sont jamais téléchargés.
  • Façonner une musique de fond nécessite ffmpeg dans le PATH. raw: true non.
  • La limite de l'API GitHub non authentifiée est de 60 requêtes par heure. Une construction d'index en utilise environ sept. Définissez GITHUB_TOKEN sur une machine qui le reconstruit souvent.
  • Le cache de l'index se trouve sous output/, qu'un projet déjà structuré a déjà dans son .gitignore.

Ce qu'il ne faut pas faire

  • Ne commitez pas un catalogue entier dans un projet. Une musique de fond par vidéo est l'unité ici.
  • Ne mettez pas de piste dans public/sfx/. Ce dossier est le pack qui accompagne le paquet, et public/sfx/CREDITS.md indique ce qu'il contient et pourquoi il n'a pas de conditions.
  • N'utilisez pas ceci pour des effets sonores. plan_sound_effects vérifie d'abord le pack intégré et ne cherche ensuite, ce qui est le bon ordre pour les effets.

Individual skills in this repo

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

Skills associés