Communitygithub.com

tofucurd/score-sync-video

Verwenden Sie diese Fähigkeit, um ein durchgehend partitursynchronisiertes Video und passende Cover aus MusicXML/MXL, einer Original-Partitur-PDF und einer echten Aufnahme zu erstellen. Auch geeignet für Ausrichtungskorrekturen, Vorschauüberprüfungen, Wiederaufnahme unterbrochener Renderings oder Cover-Überarbeitungen innerhalb dieses Workflows.

Was ist score-sync-video?

Diese Fähigkeit erstellt professionelle, mit der Partitur synchronisierte Videos aus MusicXML/MXL-Dateien, einer Original-Partitur-PDF und einer echten Audioaufnahme. Sie ist speziell für klassische Musik und komplexe Partituren konzipiert und unterstützt ein- und mehrsätzige Werke mit automatischer Ausrichtung, mehrstufiger Überprüfung und kontrolliertem Rendering. Die Fähigkeit wird auf CLI-Ebene ausgeführt und erfordert Python, Node.js, FFmpeg sowie Chromium. Sie umfasst eine vollständige Pipeline von der Partiturvorbereitung über die Audioausrichtung bis hin zum finalen HEVC-Video in 4K-Auflösung. Dank detaillierter Validierung, mehrstufiger Überprüfung durch mehrere KI-Agenten und robuster Wiederaufnahmefunktion eignet sie sich für Produktionsumgebungen, in denen Wiederholbarkeit und Qualitätssicherung entscheidend sind.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add tofucurd/score-sync-video

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Partitursynchronisiertes Video und Cover

Aus MusicXML/MXL, Original-Partitur-PDF und echter Aufnahme ein durchgehend partitursynchronisiertes Video erstellen. Verwendet Papierfarbe, Source Han Serif, festen blauen Cursor, einspaltigen fließenden Notensatz, durchgehende Notenhervorhebung und zweistöckige Formularnavigation. Werkangaben, Aufführungsweg, Timing, Struktur und Farben werden durch das aktuelle Projekt bestimmt; es werden keine Noten, Aufnahmen, Anker oder Projektüberarbeitungen eines Werks mitgeliefert. Die Originalmaterialien sind schreibgeschützt.

Version 1.0.1. Komponenten und Dateifingerabdrücke siehe Liste, Validierungsumfang siehe Aufzeichnung. Installationsvoraussetzungen siehe README. Notensatz wird von Verovio bereitgestellt; Lizenzen Dritter siehe Erklärung.

Umgebung und Einstieg

python3 scripts/bootstrap.py ausführen, danach das ausgegebene eigenständige Python verwenden. scripts/score_sync.py doctor prüft POSIX, Python, Node, FFmpeg/FFprobe, Chromium und Codierungsunterstützung, rendert aber nicht. Nicht standardmäßige Browserpfade mit SCORE_SYNC_CHROME angeben.

.runtime/bin/python scripts/score_sync.py init \
  --project /absolute/project/project.json \
  --score /absolute/score.mxl --pdf /absolute/original.pdf \
  --audio /absolute/recording.flac --title "Werkname" --composer "Komponist"

Für jeden Satz jeweils Score/Audio bereitstellen, PDF kann gemeinsam genutzt werden. Gesamte XML vorher in Arbeitskopien pro Satz aufteilen. Interpreten, Orchester, Satznamen und -nummern ergänzen; falls keine Nummer vorhanden, leer lassen. Format siehe Projektschnittstelle, keine Benutzer ohne Musiktheorie-Kenntnisse beauftragen, Taktindizes zu erstellen.

Erstellungsablauf

  1. Notenquelle und Route prüfen. prepare analysiert Ereignisse und nativen Notensatz. PDF Seite für Seite durchgehen, Noten, Pausen, Transpositionen, Rhythmen, Verzierungen, Bögen und Ausdrücke prüfen; begründete Korrekturen in eine separate Kopie schreiben. Tatsächliche Wiederholungen/Springe in source_route eintragen, nicht annehmen, dass alles wiederholt oder übersprungen wird. Notenquelle und Struktur erläutert Identität und Notensatzeinschränkungen.
  2. Mit echter Aufnahme ausrichten. Standardmäßig verwendet align den mehrstufigen refined-Abgleich und gibt Kandidaten, Verzierungsbelege und ein vollständiges Anschlags-Audit aus. Gesamte Route, schnelle Texturen, Einsätze, Tempowechsel, Wiederholungsabschnitte und Coda prüfen; Quellidentitätseinschränkungen anhand der Aufnahmebelege ergänzen, dann betroffene Zuordnungen aktualisieren. Ausrichtungsalgorithmus enthält Formeln und Parameter. coarse nur als Einstiegspunkt für Diagnose alter Kandidaten.
  3. Struktur und Bild vervollständigen. Zweistufige structure.json, natürliche Stimmenabschnitte, materials.json, Etiketten und Cover-Konfiguration selbstständig ausfüllen. Bei instrumentübergreifend gleichem Material Farbe beibehalten, bei unbekannten Beziehungen Hauptfarbe verwenden. Sämtlicher Formularinhalt stammt aus dem aktuellen Werk, unvollständige Punkte dürfen nicht in die Vorschau gelangen. Einzelheiten siehe Visuelle Richtlinien.
  4. Echte Überprüfung dokumentieren. pdf-review.json und alignment-review.json für die aktuelle Notenquelle/Aufnahme werden durch die tatsächliche Arbeit ausgefüllt. preflight prüft Bindungen, Szenendaten und Cover-Konfiguration, startet aber keinen Browser. Änderungen an Notenquelle, Route, Aufnahme oder Beschnitt machen alignment-inputs.json ungültig; es dürfen nicht einfach nur Hashes geändert werden, um eine neue Überprüfung vorzutäuschen.
  5. Vorschau erstellen und prüfen. Standardmäßig 30 Sekunden pro Satzanfang, zusätzlich tatsächliche hochauflösende Frames, Cover in zwei Seitenverhältnissen und Prüf-PDF übergeben. Schnelle Passagen, dichte Seiten, Übergänge und tatsächliche finale Codierungsmuster zusätzlich prüfen. Drei echte Agenten sehen sich jeweils dasselbe vollständige Projekt an und führen eine Kreuzprüfung durch; bei unzureichender Nebenläufigkeit kann nacheinander unabhängig geprüft werden, keine Namen oder Genehmigungen fälschen. Gefundene Probleme beheben und erneut prüfen, keine feste Anzahl von Wiederholungen.
  6. Nach Bestätigung Rendern einfrieren. Neues Projekt standardmäßig Vorschau-Bestätigung einholen, dann mit approve --statement "tatsächlicher Bestätigungstext" Autorisierung aufzeichnen und render ausführen. Bei bereits vorhandener Rendergenehmigung für denselben Auftrag übernimmt der korrigierende Benutzer die ursprüngliche Genehmigung, aktualisiert betroffene Vorschau/Prüfung und bindet mit approve --inherit --statement "tatsächlicher Korrekturbefehl" neue Fingerabdrücke. Nach dem Einfrieren aufs Rendern konzentrieren, keine eigenmächtigen Änderungen an der Gestaltung.
  7. Wiederaufnahme und Auslieferung. Wenn der Benutzer pausiert, nur das Rendern dieses Projekts stoppen, vollständige Blöcke erhalten, resume setzt das Rendern fort. Nach bestandener erforderlicher Prüfung fertiges Video, Cover und Kapitel ausliefern, keine unbefristete Überprüfung anhängen. clean listet standardmäßig nur den Cache auf; nur bei erteilter Genehmigung clean --apply. Auslieferungsspezifikation erläutert Audio, Kapitel, Wiederaufnahme und Speicherverwaltung.

Einschränkungen für fertiges Video

  • Standardmäßig 3840×2160, 60 fps, HEVC Main44410 MOV, Original-Audio verlustfrei eingebettet. Audio ist die einzige Hauptuhr; keine Normalisierung, keine Zeitdehnung, kein Abschneiden von Nachklängen, keine Stille zwischen Sätzen für ganzzahlige Frames.
  • Keine Erklärungen, Unterrichtspausen, Segmentwiederholungen, MIDI-Spuren, SRT, Lehrtitel, zusätzliche Motivboxen oder abstrakte Dekorationen; aktuelle Struktur und kurze Satzbezeichnungen in der Navigation beibehalten.
  • Tatsächlich gespielte sichtbare Noten haben nachvollziehbare grafische Bindungen und vollständige Hervorhebungsintervalle. Notenhälse, Punkte und Beziehungen über Systeme hinweg bleiben erhalten, Noten werden nicht verformt.
  • In natürlichen kurzen Abschnitten erklingende Stimmen und übergreifende Haltebögen bleiben erhalten, nicht wegen ein oder zwei Takten Pause wiederholt ausgeblendet. Stimmgrenzen sind fest, dasselbe 4-Sekunden-Gewicht steuert Transparenz und Raum, keine erneute sekundäre Expansion.
  • Fester blauer Balken, waagerechter Notenfluss. Hauptfarbe und begrenzte Materialfarben folgen kontinuierlich den musikalischen Beziehungen, nicht nur instrumentenbasierter Farbwechsel.
  • Zweistöckige Navigation insgesamt mit navigation.py: aktueller Titel, zentrierter Abschnitts-Tag, blauer aktueller Abschnitt, kurzer vertikaler Pfeil, 8px Papierfarbtrennung sowie Eltern/Kind-/Satzübergänge. Breite und Pfeil werden anhand tatsächlicher Aufnahme-Samples berechnet.
  • Schriftart nur mitgelieferte Source Han Serif, native Musik-Zeichen bleiben erhalten. Cover aus dem aktuellen Notensatz extrahiert, zwei Bildausschnitte unabhängig in verschiedenen Seitenverhältnissen, Kategorie-Text optional, keine Verwendung von Notensätzen anderer Werke als Dekoration.
  • Nur für Notensatzkorrekturen engraving_overrides/layout_overrides mit Identität, altem Wert und Ausgabeprüfung verwenden. Bei ID- oder Geometrieänderungen erneut prüfen, alte Koordinaten nicht blind übernehmen.

Finales MOV enthält Satznamen und Startpunkte, zusätzlich B站章节.txt und chapters.json ausliefern. Grenzen stammen aus tatsächlichen kumulativen PCM-Samples des zusammengefügten Audiomaterials; keine Angabe von metronomischen Tempi, geschätzten Dauern oder Framenummern.

Anwendungsgrenzen

Automatische Ausrichtung ist ein Vorschlag. Rubato-Passagen, repetitive Texturen, leise und überdeckte Verzierungen erfordern Belegprüfung; es wird nicht behauptet, dass ein einziger automatischer Durchlauf die physikalische Einschwingzeit jedes Instruments liefert. Textkritik, Struktur und Farbgebung werden ebenfalls nicht automatisch erledigt.

Partwise MusicXML/MXL wird akzeptiert; timewise, Mikrotöne, überwiegend nicht fixierte Tonhöhen und komplexe Änderungen erfordern vorherige Anpassung. Gemischte Abtastraten und Attacca-Grenzen siehe Auslieferungsspezifikation. Wenn nur Code/Daten geprüft werden, preview, covers, render oder PDF-Ausgabe nicht aufrufen.

Allgemeine Lokale Referenz-Snapshot-Schnittstelle ermöglicht die Wiederherstellung bereits geprüfter Daten des Benutzers. Das öffentliche Repository enthält keine projektspezifischen Snapshots; Snapshots können nicht auf andere Aufnahmen angewendet werden und übertragen keine Genehmigung neuer Benutzer.

Verwandte Skills