Communitygithub.com

OliviaPp8/minara-video-skills

Génère de la musique de fond et des effets sonores synchronisés pour les vidéos Minara à partir du script par seconde. Traduit l'ambiance de chaque scène et les actions à l'écran (taps, saisie, succès, notifications, transitions) en une feuille de repères, puis produit la musique de fond et les effets sonores localement (synthèse numpy, aucun service externe), avec option de réduction du volume sous la voix off.

Qu'est-ce que minara-video-skills ?

Cette compétence automatise la création de bandes sonores pour les vidéos Minara en analysant le script image par image. Elle génère une feuille de repères musicaux (`cues.json`) qui découpe la vidéo en sections musicales avec des niveaux d'énergie spécifiques (silence, intro, léger, montée, plénitude, breakdown, climax, outro) et ajoute des effets sonores synchronisés aux actions visibles (tap, saisie, succès, notification, etc.). La synthèse est entièrement locale via NumPy, sans dépendance à un service externe, garantissant un coût zéro et une sortie déterministe pour des graines identiques. Prend en charge le ducking automatique de la musique sous la voix off et produit trois fichiers : `bgm.wav`, `bgm-duck.wav` (avec ducking), et `preview-mix.wav` (prévisualisation avec voix off). Idéal pour les projets Minara qui ont besoin d'une ambiance musicale personnalisée sans recourir à des services en ligne ou à des droits de licence.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/OliviaPp8/minara-video-skills/tree/HEAD/skills/minara-music

Demander à votre IA préférée

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

Documentation

/minara-music — Générer musique + effets sonores à partir du script

Transformez le script par seconde de la vidéo en une feuille de repères musicaux, cues.json, puis synthétisez localement la musique de fond et les effets sonores synchronisés à l'image. La synthèse est purement locale avec NumPy et le résultat est déterministe (les mêmes repères + graine produisent toujours le même fichier audio). Elle n'utilise aucun service externe et ne coûte rien.

Source : l'approche de partitionnement du film de lancement de Minara V2, généralisée en un script réutilisable ; examples/v2-launch.json est la feuille de repères de ce film.

Flux de travail (dans l'ordre)

  1. Lire le script : récupérez le script par seconde de minara-video (ou du storyboard / du timing de la voix off). Si le script comporte des colonnes « ambiance sonore » ou « musique », suivez-les ; sinon, jugez à partir de l'ambiance de l'image.
  2. Écrire la feuille de repères : dans le dossier audio-src/cues.json du projet, écrivez :
    • duration (= durée finale de la vidéo), bpm (par défaut 120), key (par défaut La mineur ; pour les morceaux brillants / de célébration, vous pouvez utiliser Do majeur), seed.
    • sections : découpez le script en sections musicales, choisissez une energy par section, et utilisez note pour décrire l'image correspondante (pour une référence croisée facile).
    • sfx : chaque action visible dans le script (tap, saisie, commande remplie, notification qui s'affiche, transition, verrouillage) reçoit un effet sonore, synchronisé à la seconde indiquée dans le script.
  3. Montrer d'abord la feuille à l'opérateur ; ne pas rendre encore : dans des tableaux Markdown, listez « plage temporelle / énergie / image correspondante » et « temps de l'effet / type / action correspondante », et attendez qu'il donne son accord avant de lancer le rendu. Il modifie la feuille, pas le code.
  4. Rendre :
    python3 ~/.claude/skills/minara-music/scripts/make_music.py <projet>/audio-src/cues.json -o <projet>/assets [--vo <projet>/assets/vo.wav]
    
  5. Auto-vérification : le script affiche chaque section ; puis mesurez le volume sonore par section pour confirmer que le climax est le plus fort, que la rupture / l'outro retombent clairement, et que le ducking fonctionne. Pour les problèmes d'écoute (trop chargé, un effet sonore qui prend le dessus), ajustez level / gain et refaites le rendu ; chaque rendu prend quelques secondes.
  6. Livrer : donnez le chemin vers bgm.wav (ou bgm-duck.wav), et utilisez open -R pour mettre en surbrillance preview-mix.wav afin qu'il puisse écouter. Dans HyperFrames, ajoutez-le comme piste audio, avec la voix off sur une piste séparée.

Fichiers de sortie

FichierContenu
bgm.wavMusique + effets sonores, 48 kHz stéréo, crête à -1 dBFS, fondu d'entrée de 0,4 s au début et fondu de sortie de 3,2 s à la fin
bgm-duck.wavGénéré lorsqu'il y a une voix off : la musique est réduite de duck_db (par défaut -8 dB) là où la parole se produit ; les effets sonores ne sont pas réduits
preview-mix.wavGénéré lorsqu'il y a une voix off : musique + voix off mélangées, pour écoute uniquement, pas pour la vidéo finale

Types de sections d'énergie

ÉnergieSonUtilisé pour
silentAucune musiquePauses nécessitant un silence complet
introDrone grave + nappe douceOuverture, logo, convergence des données
lightNappe + arpège léger + rythme clairseméInteractions mobiles, démos de fonctionnalités légères
buildAjoute une basse et une caisse claire sur chaque temps, crescendo automatique à la fin de la sectionMontée progressive vers un moment clé
fullBatterie complète + clap + basse + arpègeDémonstration continue des fonctionnalités principales (backtesting, mise en ligne, automatisation)
breakdownSupprime la batterie et la basse, ne laissant que la nappe et un arpège doux ; la caisse claire revient dans la dernière mesureChangements de scène, sections sur la sécurité / la vie privée qui nécessitent de « respirer »
climaxLe plus complet : batterie complète + mélodie principale + crash au début de la section ; ajoute automatiquement un crescendo si la section précédente n'est pas buildNom du produit / apparition du slogan de lancement
outroRésout sur l'accord tonique + cloche de marque, fondu avec tout le mixCarte de fin, appel à l'action

Chaque section peut prendre "level": 0.5–1.3 pour ajuster finement son volume. Les accords suivent les mesures globales (mineur i–VI–III–VII, majeur I–V–vi–IV), afin qu'ils ne se brisent pas entre les sections.

Types d'effets sonores (sfx)

TypeSonAction typiqueParamètres optionnels
tapClic courtTap sur bouton, sélectiongain
typingTic-tac de frappe continueSaisie dans un champ de textechars, cps (caractères/seconde, correspondant à la vitesse de frappe à l'écran)
successDeux notes de cloche ascendantesCommande remplie, stratégie en coursgain
notifyAlerte de trois notesNotification ou rappel qui s'affichegain
bellSon de cloche uniqueApparition d'avatar/logonote (MIDI, défaut 81)
blipsNotes courtes ascendantesProgression du backtest, chargement de donnéescount, step (secondes), note
sparkleGrains scintillants + bruit souffléConvergence de particules, ouverturedur
riserBruit montantTransition manuelle, montée en tensiondur
whooshBalayage inverséFenêtre qui se ferme, transition pousser/tirerdur
thudBruit sourd de verrouillageVerrouillage, confirmation, atterrissage lourdgain
crashCymbaleAccent supplémentairegain

Chaque effet sonore peut prendre gain pour ajuster son volume.

Règles

  • Les effets sonores suivent uniquement les actions visibles : s'il n'y a pas d'action correspondante à l'écran, n'ajoutez aucun effet sonore, comme pour « n'ajoutez pas de texte à la légère ».
  • Copiez les timings du script ; n'estimez pas : le t de l'effet sonore utilise les secondes réelles du script par seconde / de la chronologie d'animation ; cps pour la frappe utilise la vitesse de frappe dans l'animation.
  • Si la longueur ou l'ordre du script change, mettez d'abord à jour cues.json et refaites le rendu ; n'étirez pas l'audio manuellement.
  • N'utilisez pas de services de musique IA externes ni de pistes téléchargées depuis le web ; lorsqu'une musique sous licence commerciale est nécessaire, l'opérateur fournit le fichier.

Individual skills in this repo

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

OliviaPp8/minara-video-skills

Create Minara product guide/tutorial videos from screen recordings supplied by the operator. Use for /minara-guide-video, “给录屏加字幕配音”, retiming a new recording cut, building a timeline approval player, or correcting caption/product meaning. Drives caption-recording from source analysis through pre-render approval, final verification, and local delivery. Not for synthetic HyperFrames marketing videos.

OliviaPp8/minara-video-skills

Make Minara use case / beginner tutorial videos (mobile App or desktop), rebuilding the product UI in HyperFrames code and walking through the real user path step by step. Unlike minara-video (marketing demo, UI redesign allowed), this skill requires a faithful UI: copy, layout, components, and interaction paths all follow the product frontend code and screen recordings. Triggers: "use case 视频", "教程视频", "操作演示", "新手教程", "按 App 界面做一个视频"; also makes covers for these videos ("封面", "cover", "缩略图").

OliviaPp8/minara-video-skills

Write Minara video scripts before any animation work — launch / promo films, single-scene supplements, use case tutorials. Turns a brief, product screenshots, frontend code, Figma frames or a feature note into an English-only script doc built around a keyframe sheet; each keyframe has a still image (rendered from UI code, exported from Figma, or AIGC-generated from screenshots), a picture description, the voiceover line, on-screen text (花字) with style, timing and duration, and the BGM style / sound cues. Also covers what each scene must land, user flow + UI copy, voiceover word budget and open questions, in a calm, neutral, natural voice. Then hands off to minara-video, minara-usecase-video and minara-music. Use for /minara-videoscript, "写视频脚本", "视频脚本", "分镜脚本", "关键帧", "关键帧脚本", "花字", "补充脚本", "旁白稿", "video script", "voiceover script", "keyframes".

OliviaPp8/minara-video-skills

The operator's standard workflow for making Minara marketing / launch / demo videos. Built on the hyperframes skill, with a stricter process - confirm style → high-level storyboard → copy → build each scene separately → confirm a per-second script → iterate on a local test page → render only once the user is satisfied.

Skills associés