Communitygithub.com

générateur-musique

Génère de la musique procédurale pour scènes, vidéos, jeux et pièces sur mesure. Utilisez-le pour des bandes-son, des ambiances, des jingles, des boucles, de la musique pour voix-off, des thèmes, du clonage d'instruments, du mixage/mastérisation, ou lorsque la musique sonne robotique, plate ou décalée. Crée des projets comprenant recherche, fiches de direction, presets personnalisés, partitions déclaratives, rendu via pipeline.py avec contrôles qualité jusqu'à validation.

Qu'est-ce que générateur-musique ?

Ce skill est un système complet de génération de musique procédurale pour les agents IA (comme Claude Code, Cursor, Codex). Il est conçu pour produire de la musique originale pour vidéos, jeux, publicités, podcasts, ou voix-off à partir de descriptions d'ambiance (par exemple "montée cinématique tendue", "lo-fi calme"). Il prend en charge le clonage d'instruments, le mixage et la mastérisation de stems existants, l'adaptation à des styles culturels variés (carnatique, arabe, africain, est-asiatique, etc.) et la synchronisation à la vidéo. Le système fonctionne via un pipeline strict et mesurable : recherche documentée, création d'une fiche de direction, génération de presets et de partitions déclaratives, rendu avec un script `pipeline.py`, puis validation automatique via des contrôles qualité objectifs. L'agent IA orchestre toutes les décisions créatives tandis que les scripts exécutent les tâches techniques, garantissant une approche modulaire, basée sur les données et itérative (un seul changement à la fois).

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/rashee1997/music-generator/tree/HEAD

Demander à votre IA préférée

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

Documentation

Générateur de Musique

Un système de génération musicale procédurale qui crée de la musique originale via un pipeline strict et mesurable. Toutes les décisions sont prises par l'agent ; les scripts les exécutent. Le pipeline utilise des mesures objectives et des contrôles qualité plutôt que des suppositions subjectives.

Quand l'utiliser

Utilisez ce skill lorsque :

  • Vous créez de la musique originale pour la vidéo, les jeux, les publicités, les podcasts ou les voix-off
  • Vous générez des bandes-son à partir de descriptions d'ambiance (ex. "montée cinématique tendue", "lo-fi calme")
  • Vous clonez des instruments à partir d'enregistrements
  • Vous mixez ou masterisez des stems existants
  • Vous écrivez une musique adaptée à une vidéo avec coupes/dialogue
  • Vous corrigez une musique robotique, plate ou déséquilibrée
  • Vous travaillez avec des styles culturels spécifiques (carnatique, arabe, africain, est-asiatique, etc.)

Démarrage rapide

Exécutez depuis le répertoire du skill avec son environnement virtuel :

  • Windows : .venv/Scripts/python.exe
  • Unix : .venv/bin/python

Première configuration : voir references/setup.md.

Flux de travail

Suivez ces étapes dans l'ordre. Ne sautez jamais d'étapes.

ÉtapeActionRésultatVérification
1Créer le projetpython scripts/setup_project.py --new-project <dossier> --title "<Titre>" (ajouter --ambience uniquement si demandé)Structure de projet avec direction/, presets/, scores/, out/, reports/, STATUS.md
2Recherchepython scripts/research_kb.py <dossier> --topic "<sujet>" --tags <mots-clés>. Ajoutez des sources web via TinyFish. Pour ambiances/effets, utilisez --sounds et documentez des références réelles avec licences/mesures.reports/research_<sujet>.md avec citations de la base de connaissances et sources
3Fiche de directionCopiez templates/direction_sheet.json vers <dossier>/direction/direction_<titre>.json. Remplissez tous les champs selon references/music-direction.md. Pour la vidéo, exécutez d'abord scripts/video_score.py.Fiche complète avec job, feeling, sections, motifs, hits, intention de mix, spatialisation
4Créer les presetspython scripts/presets.py scaffold instruments/vocals/environments/sfx <nom> --project <dossier>. Chaque preset nécessite un placement spatial unique.Presets dans le projet avec caractère, azimuth/distance spatiale
5Écrire la partitionCréez <dossier>/scores/<titre>_score.json (déclaratif, référence les presets). Utilisez templates/custom_score_template.py pour un contrôle précis.JSON valide avec des pistes référençant les presets
6Rendu et contrôle qualitépython scripts/pipeline.py <dossier>/scores/<titre>_score.json --project <dossier>out/master.wav (copie de la version la plus récente), out/master_vNN.wav, out/versions.json, <master>.json tags, stems/, midi/, reports/ci_report.json avec 0 ÉCHEC
7RéviserModifiez UN seul levier à la fois (references/music-direction.md §6). Relancez l'étape 6 jusqu'à succès (max 5 tentatives).Tous les contrôles passent
8Écouter et livrerpython scripts/listen.py out/master.wav --direction direction/<fiche>.jsonVérifier et rapporter les résultats

Métadonnées de livraison et versions

La certification écrit automatiquement trois éléments, une fois le contrôle musical passé :

  • out/master_vNN.wav — chaque rendu certifié obtient son propre fichier de version. Les versions antérieures sont conservées ; un nouveau rendu n'en écrase jamais un.
  • out/master.wav — une copie de la version la plus récente, pour les outils qui attendent un seul master.
  • out/versions.json — chaque version avec son horodatage, ses mesures et le changement qui l'a validée (les échecs de contrôle qu'elle a résolus, ou premier rendu certifié).
  • out/master.json — les balises standard écrites à côté du master.

D'où viennent les balises : valeurs par défaut dans presets/metatdats/metadata.json (artiste, album, copyright, licence, éditeur, ISRC, langue), puis valeurs dérivées de la partition (titre, genre depuis piece_type, année, un commentaire factuel tonalité · BPM · piece_type), puis les propres surcharges du fichier <projet>/metadata.json. Écrivez les valeurs réelles dans <projet>/metadata.json plutôt que dans les scripts.

Règles pour un agent :

  • Ne jamais supprimer ou écraser un master_vNN.wav ou un enregistrement dans versions.json. Si une livraison nécessite une prise propre, elle devient une nouvelle version.
  • Vérifiez l'enregistrement après un rendu : python scripts/helpers/version_manager.py list --project <dossier>.
  • La compression MP3 est manuelle, jamais intégrée au pipeline : python scripts/helpers/compress_mp3.py out/master_vNN.wav -o <fichier>.mp3 -b 320k. Elle transporte les balises sidecar dans le MP3.
  • Les lignes de contrôle meta.tags et meta.version ne font que tracer cet enregistrement. Elles avertissent, n'échouent jamais, et sont de niveau INFO lors du premier rendu d'une pièce.

Principes clés

  • Modulaire : Son/espace dans presets/, notes dans scores/, intention dans direction/. Pas de scripts monolithiques.
  • Basé sur la recherche : Chaque instrument/voix/culture personnalisé nécessite des citations issues de la base de connaissances.
  • Les données plutôt que le code : Les nouveaux sons utilisent des données de scène ("scene"/"scene_layers"), pas des générateurs Python.
  • Un seul changement à la fois : Lors de la correction d'échecs de contrôle, modifiez exactement un paramètre et re-mesurez.
  • Mesurer, ne pas deviner : Utilisez les métriques et diagnostics du pipeline. Le goût n'est pas mesuré.
  • Chaque pièce reçoit un preset de mix : Contrôle le gain staging, la dynamique, le sidechain, le mastering.

Routes par tâche

TâcheRéférences clés
Adaptation/coupes vidéoreferences/video-scoring.md, scripts/video_score.py
Voix/cheeurs/humreferences/vocals-and-choirs.md, references/vocal-engine.md
Styles culturels/fusionknowledgebase/README.md, references/cultural-soul.md, references/genre-fusion.md
SFX/ambiances/bruitagesreferences/sound-effects.md, references/physical-scene.md, references/environments-as-presets.md
Orchestre SFZreferences/sfz-libraries.md, scripts/sfz_libs.py
Clonage/extraction d'instrumentsreferences/instrument-cloning.md, references/extraction.md
Mixage/mastérisationreferences/mixing-and-mastering.md, scripts/mixer.py, scripts/mix_diagnostics.py
Échecs de contrôle qualitéreferences/quality-gate.md, scripts/gate_profiles.py

Modèle de sortie

Terminé : out/master.wav (Xs, -X.X LUFS, -X.X dBTP), midi/<titre>_score.mid, stems/ (N), reports/ci_report.json.
Ce que c'est : <feeling, tonalité, BPM, instruments, presets>.
Contrôles : <N succès, 0 échec après K tentatives> ; écoute : <relevés>.
Non vérifié : goût, réalisme instrumental, adéquation dans la vidéo finale.
Suite : <un changement suggéré>.

Notes et limites

  • SoundFont GM utilisé par défaut ; bibliothèques SFZ optionnelles. Pas de mots chantés dans la synthèse standard (cheeurs/hum sont des textures).
  • listen.py nécessite le modèle earshot (python scripts/setup_project.py --ears pour installer).
  • Spatialisation casque uniquement pour les presets avec spatial.binaural : true.
  • Les diagnostics de mix rapportent mais ne bloquent pas les contrôles (les contrôles bloquants sont dans le contrôle qualité).
  • Voir AGENTS.md pour les règles complètes et references/troubleshooting-and-limits.md pour toutes les limites.

Skills associés