Communitygithub.com

notasimrazzaq/AI-Video-Editor

Ajoute des effets sonores à une vidéo de motion design : les clics du kit (pop, tick, counter, chime, snap, star, switch, fill, success) et l'ensemble papier / stop-motion (paper-flip, paper-drop, paper-rustle, tape-rip, marker-tick, marker-scribble, stamp, paper-slide, thump). PROMPT 13. À utiliser lorsque l'utilisateur demande des effets sonores, SFX, clics, tictacs, dings, sons nets, bruits de pages, bruits de papier, ou 'rends-le plus sonore'.

Qu'est-ce que AI-Video-Editor ?

Ce skill pour agent IA permet d'ajouter automatiquement des effets sonores (SFX) à des vidéos de motion design, en se basant sur deux bibliothèques : un kit de sons d'interface (pop, tick, chime, etc.) et un ensemble de bruits de papier/stop-motion (paper-flip, paper-rustle, marker-scribble, etc.). Il est conçu pour être utilisé avec Claude Code, Cursor ou Codex, et s'intègre à un workflow de production vidéo. L'agent lit un fichier JSON listant les événements sonores et leurs instants, puis génère les balises `<audio>` appropriées dans le HTML, ou mixe directement les sons sur une vidéo existante via FFmpeg. Le skill garantit une synchronisation image par image, gère les volumes et évite les chevauchements indésirables. Il prend en charge à la fois le rendu initial et le mixage rapide sur une vidéo déjà rendue, ce qui permet des itérations rapides. Les sons sont générés par scripts (sans licence) et adaptés à différents styles (kit par défaut, style Paper Cut avec sons plus fréquents).

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/notasimrazzaq/AI-Video-Editor/tree/HEAD/.agents/skills/mg-sound

Demander à votre IA préférée

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

Documentation

Effets sonores

Tous dans kit/sfx/ (copiés dans sfx/ de chaque projet). Créés en code, sans problème de licence. L'ensemble papier est généré par tools/make-paper-sfx.ps1 (synthèse FFmpeg ; relancez pour modifier un son).

FichierÀ placer sur
tick.wavchaque élément de liste / case à cocher apparaissant (styles propres)
counter.wavpendant le défilement d'un nombre (début du comptage)
chime.wavla dernière carte / carte de fin
pop.wavune pilule, un badge, un autocollant, un jeton de calendrier qui apparaît
snap.wavune capture d'écran ou une carte qui se met en place
star.wav · switch.wav · fill.wav · success.wavsurbrillance · bascule avant→après · remplissage de barre · objectif atteint
paper-flip.wavtourner la page : recadrage entrée/sortie, changement de scène
paper-drop.wavune carte en papier qui atterrit
tape-rip.wavbande adhésive épinglant une carte (une par carte, pas par bande)
paper-rustle.wavlettres de demande de rançon / une salve de jetons
marker-tick.wavcoche au marqueur sur une ligne de liste
marker-scribble.wavplusieurs croix / gribouillis à la suite (~0.85 s)
stamp.wavtampon en caoutchouc, claque "VS", claque de carte compteur
paper-slide.wavcarte glissant depuis le côté
thump.wavimpact sur la ligne clé

Ensemble UI net / verre (tools/make-crisp-sfx.ps1 [-Project projects\<n>]) — à utiliser lorsque l'utilisateur demande "plus net"

FichierÀ placer sur
crisp-clickatterrissage d'une carte / panneau
crisp-poppilule, jeton, badge, bouton de lecture
crisp-tickligne de liste, petite apparition, début de barre
glass-tapcarreau / logo d'application en verre liquide apparaissant
type-burstfrappe au clavier (0.6 s)
count-rollcomptage (1 s)
whooshrecadrage entrée/sortie, grand zoom
hitimpact
alert · switch-on · send · sparkle · dinglimite/erreur · bascule/interrupteur · bouton envoyer · étoiles/surbrillance · succès / carte de fin

Règles

  • Kit par défaut (créateur) : pas de son sur les glissements d'entrée/sortie, pas de whooshes, ~20 dB en dessous de la voix, peu de sons.
  • Style Paper Cut (utilisateur demande des sons papier nets) : un son à chaque atterrissage / tape / tick / tampon / retournement ; toujours pas de sons sur les légendes ou les sorties.
  • Synchroniser à l'image où l'événement visuel atterrit, pas au début de l'interpolation.

Décalages du modèle Paper Cut (depuis kit/templates/paper-cut-vertical.html)

ComposantSons
headline(t0)paper-drop t0+0.35 · tape-rip t0+0.42
ransom(t0)paper-rustle t0
checklist(items)paper-drop items[0].t−0.10 · tape-rip items[0].t−0.05 · marker-tick chaque item.t+0.08
counter(t0)stamp t0+0.17 (vol 0.25) · counter t0+0.2 · tape-rip t0+0.25
versus(t0, right.t)paper-slide t0 · paper-slide right.t · stamp right.t+0.52
calendar(t0, crossAt, glowAt, stamp)paper-drop t0+0.35 · tape-rip t0+0.42 · marker-scribble crossAt · pop glowAt+0/0.12/0.24 · stamp stamp.t
reframe(t0, t1)paper-flip t0 · paper-flip t1
punch(t0)thump t0
dernière cartechime ~0.5 s après son atterrissage

Comment faire (une liste → HTML + mix rapide)

  1. Écrivez projects/<nom>/sfx.json : [[temps, "nom-son", volume?], ...] (volume facultatif ; valeurs par défaut dans tools/sfx.mjs).
  2. node tools/sfx.mjs projects/<nom> → écrit les balises <audio> (ids uniques, durées réelles, pistes non chevauchantes) dans index.html entre <!-- sfx:start --> / <!-- sfx:end -->, donc chaque rendu futur les inclut.
  3. Déjà rendu ? Ne pas refaire le rendu (les rendus sont lents) : node tools/sfx.mjs projects/<nom> --mix renders/with-cards.mp4 renders/with-sfx.mp4 mixe les sons sur l'audio existant avec FFmpeg et copie le flux vidéo (~10 s pour une bande de 3 min). Le limiteur évite l'écrêtage.
  4. npx hyperframes lint (attendez 0 erreurs). Vérifiez les niveaux : ffmpeg -ss <t> -t 1 -i out.mp4 -af volumedetect -f null NUL.
  5. Copiez le résultat dans exports/. Ajustez en modifiant sfx.json et en réexécutant l'étape 3 (secondes).

Ne touchez jamais à l'audio de la <video>. Le lecteur intégré de VS Code ne peut pas lire l'AAC ; prévisualisez les vidéos finies dans VLC / le lecteur par défaut.

Individual skills in this repo

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

Skills associés