music-video (Musikvideo)
Verwandle einen fertigen Song in ein 24fps-Musikvideo. Der Song ist das Master-Audio. Szenenintervalle decken ihn exakt einmal ab.
Auslöser (Triggers)
- music video / MV / lyric video / visualizer / storyboard
- Musikvideo / MV-Synthese / Lyric-Video / Song-Animation
Fähigkeiten
code: Initialisiere ein festgelegtes p5.js- und p5.brush-Projekt und animiere den Song in JavaScript.hybrid: Untersuche lokale Charakterbilder, Szenenstills und Videoclips und setze sie zusammen. Es wird keine Bild- oder Video-Generierungs-API aufgerufen.- Lokale Beat-, Onset-, Tiefenfrequenz- und Lautstärkeanalyse für Schnittpunkte und Animations-Cues.
- Frame-genaue Zusammenstellung mit dem Originalsong als einziger Tonspur.
Eingaben
Erforderlich:
song: lokale Audiodatei (.mp3,.wav,.m4a,.flac,.ogg,.aac)brief: die visuelle Idee, Zielgruppe und eventuell benötigte Referenzenmode:codeoderhybrid
Optional:
lyrics: Text oder.srt. Erforderlich vor dem Storyboarding, wenn das Vokaltiming wichtig ist.assets: Verzeichnis mit Stills und Clips fürhybridaspect:16:9(Standard),9:16,1:1oder4:3
Wenn der Benutzer zuerst einen Song erstellen möchte, verwende text-to-music (Text-zu-Musik) und kehre dann mit der gewählten Datei hierher zurück.
Ausgaben
<project>/output/final.mp4docs/CREATIVE_BRIEF.md,docs/STORYBOARD.md,docs/TASKS.mdunddocs/PROGRESS.mdaudio/analysis.jsonunddocs/inspect.json, falls Assets vorhanden sind
Arbeitsablauf
Führe python3 skills/music-video/scripts/mv.py vom Repository-Stammverzeichnis aus. Wenn dieses Skill woanders installiert ist, verwende das scripts/mv.py neben dieser Datei. Erstelle das Projekt außerhalb des Skill-Verzeichnisses.
- Wähle
code, wenn das Video in JavaScript gezeichnet wird. Wählehybrid, wenn der Benutzer Stills oder Clips bereitstellt. Frage einmal nach, wenn beides nicht klar ist. - Initialisiere ein isoliertes Projekt:
python3 skills/music-video/scripts/mv.py init \
--project ./mv-project --song ./song.mp3 --lyrics ./lyrics.txt --mode code
python3 skills/music-video/scripts/mv.py init \
--project ./mv-project --song ./song.mp3 --lyrics ./lyrics.srt \
--assets ./clips --mode hybrid --aspect 16:9
- Analysiere den Song. Behandle Tempowechsel als Näherungswerte und bestätige Abschnittsgrenzen anhand des Audios:
python3 skills/music-video/scripts/mv.py analyze --project ./mv-project
- Ermittle das Liedtext-Timing. Falls der Benutzer keine Zeiten angegeben hat, verwende speech-to-text (Sprache-zu-Text) nur, wenn
NOIZ_API_KEYoder~/.config/noiz/api_keybereits existieren. Gib den Schlüssel niemals aus. Wenn beides nicht existiert, frage nach Liedtext oder Zeitstempeln und lade den Song nicht hoch. - Lese references/opus-5.5-prompt.md (Referenzen/Opus-5.5-Prompt) und befolge es. Schreibe das kreative Briefing und Storyboard, bevor Szenencode oder Zusammenstellung erfolgt. Überprüfe die Eröffnung und den Haupt-Höhepunkt, bevor du die anderen Kapitel erstellst.
- Im
code-Modus lies<project>/animation/ANIMATION_GUIDE.md(Projekt/Animation/ANIMATIONSLEITFADEN.md), bevor du zeichnest. SetzePROJECT.bpmundPROJECT.offsetausaudio/analysis.json. Die festgelegte Vorlagenleinwand ist 1920×1080; änderestudio.htmlund das Renderer-Fenster, bevor du ein anderes Seitenverhältnis verwendest. Überprüfe Bewegung mit dem Vorlagen-Renderer:
node render.mjs --sheet=1,2,3 --out=../output/sheets/pilot.jpg
node render.mjs --strip=START:END --out=../output/sheets/pilot-motion.jpg
node render.mjs --clip --range=START:END --out=../output/pilots/opening.mp4
Führe diese Befehle innerhalb von <project>/animation aus. Verwende --chrome oder setze CHROME_PATH, wenn Chrome sich nicht an einem Standardort befindet. Ein Kontaktbogen dient nur der Layout-Vorschau. Ein --strip oder die Wiedergabe von Eröffnung, Höhepunkt und Ende ist die Bewegungsprüfung.
7. Im hybrid-Modus untersuche lokale Medien und stoppe, wenn ein erforderlicher Clip fehlt. Generiere keinen Ersatz.
python3 skills/music-video/scripts/mv.py inspect --project ./mv-project
- Schreibe
timeline.json(Zeitachse.json) unter Verwendung von references/timeline.schema.json (Referenzen/Zeitachsen-Schema.json). Intervalle sind beistart_frame(Start_Frame) inklusive und beiend_frame(End_Frame) exklusiv. - Setze zusammen und überprüfe das Ergebnis:
python3 skills/music-video/scripts/mv.py assemble --project ./mv-project
Timeline (Zeitachse)
{
"fps": 24,
"width": 1920,
"height": 1080,
"audio": "audio/source.mp3",
"scenes": [
{
"id": "opening",
"start_frame": 0,
"end_frame": 240,
"source": "output/pilots/opening.mp4",
"source_start": 0,
"fit": "cover",
"transition": "fade",
"fade_frames": 6
}
],
"overlays": []
}
fade (Überblendung) bleibt innerhalb seiner eigenen Szene. Überlappe keine Szenen, um eine Überblendung zu erzeugen.
Fertigstellung
Beende nur, wenn alle Punkte zutreffen:
[0, ceil(dauer × 24))ist exakt einmal abgedeckt, ohne Lücke oder Überlappung.final.mp4hat einen Videostream und den vollständigen Originalsong.- Die Eröffnung, der Haupt-Höhepunkt und das Ende wurden in Bewegung überprüft.
- Die zuletzt gelesene Geschichte hat Zeit, um anzukommen.
docs/PROGRESS.mdenthält keinen offenen Blocker.
Sicherheit
init --mode code klont JohnHeibel/ClaudeAnimationBase bei Commit 0ac8bf2b31942376cb6b8c4074715595d512acd2 in das Projekt. Diese Vorlage ist MIT-lizenziert. Analyse, Inspektion, Rendern und Zusammenstellung bleiben lokal. Der Hybrid-Modus lädt keine Medien hoch und ruft keinen Bild-, Video- oder Musikgenerierungsdienst auf.
Anforderungen
ffmpegundffprobe- Python 3.9+
analyze:uv pip install 'numpy>=2,<3'code-Modus:git, Node.js und Google Chromehybrid-Modus: nur lokale Assets
Einschränkungen
- Dieses Skill komponiert keine Musik, generiert keine Soundeffekte und erstellt keine Bilder oder Videos über eine API.
- Das Beat-Raster geht von einem weitgehend gleichmäßigen Tempo aus.
- Aquarellfüllungen im Code-Modus können ohne dedizierte GPU Sekunden pro Frame dauern. Bitte den Renderer, diese Füllungen auf integrierten Grafiken zu vermeiden.
- Die Zusammenstellung lehnt einen Clip ab, der kürzer als seine Szene ist, anstatt ihn einzufrieren oder neu zu timen.