BeatFlow
Nutze Codex für musikalische Entscheidungen. Verwende die integrierte Engine für exaktes Timing, funktionale Tonhöhenrealisierung, Stimmführung, Validierung, Diagnose, Kompilation, MIDI-Rendering und Inspektion.
Laufzeit
Beziehe dich auf dieses Fähigkeitsverzeichnis als <skill-root> und führe aus:
python "<skill-root>/scripts/run.py" <Befehl> ...
Erfordert Python 3.10 oder neuer. Schreibe Kompositionsskripte und generierte
Artefakte im Arbeitsbereich des Benutzers, niemals in <skill-root>.
Arbeitsablauf
-
Extrahiere Dauer, Form, Tempo, Taktart, tonale Sprache, Instrumentierung, Energieverlauf, Prioritäten und Ausschlüsse aus der Vorgabe. Triff reversible Annahmen für fehlende Details.
-
Klassifiziere jedes Instrument als
essentiell,ersetzbaroderoptional. Klassifiziere separat seine Prominenz alsprimär,co-primär,UnterstützungoderHintergrund. Erhalte essentielle Instrumente und repariere deren Schreibweise, Balance oder Wiedergabeprogramm, bevor eine Vertragsänderung in Betracht gezogen wird. -
Lies composition-guidance.md und composition-format.md. Lies phrasing-and-coordination.md für prominente Melodien, thematische Entwicklung, komplexe Taktarten oder Timing- Reparatur. Lies long-form.md für Arbeiten länger als 90 Sekunden. Lies diagnostics.md beim Überarbeiten oder Vergleichen von Kandidaten. Lade research-foundations.md nur, wenn methodologische Belege nützlich sind.
-
Plane vor dem Schreiben von Ereignissen:
- Rahmen: Dauer, Abschnitte, Tempo, Taktart, Tactus, Tonika und Modus;
- Phrase: Gruppierung, harmonischer Rhythmus, Aufmerksamkeit, Ankünfte und Entladungen;
- Skelett: Puls, Bass, Harmonie, Rolleneintritte, Pausen und Übergaben;
- Vordergrund: rhythmische Identität, Kontur, Dichte, Textur und strukturelle Töne;
- Dekoration: Fills, sekundäre Anschläge, Gegenlinien und Artikulation.
-
Rendere das quantisierte Skelett, bevor du den Vordergrund hinzufügst. Behalte mindestens einen stabilen Zeitbezug und mache wichtige Harmoniewechsel und Ankünfte wahrnehmbar. Behandle den Vordergrund als optional; ein Bass-Hook, eine gestaltete Akkord- Oberstimme oder eine rhythmische Textur können die Aufmerksamkeit bereits führen.
-
Erstelle eine vertrauenswürdige Python-Datei, deren
build()-FunktionCompositionzurückgibt. VerwendeSongBuilder; lass den Stil die komponierte Musik beeinflussen, nicht das Schema oder den Compiler. -
Für ein vollständiges Lied trenne wiederverwendbares Abschnittsmaterial von Timeline-Vorkommnissen. Verwende Vorkommnisentwicklung und
arrange()-Behandlungen, um formale Veränderungen zu erzeugen, ohne ganze Abschnitte zu kopieren. -
Für qualitätssensible Melodien oder thematische Arbeiten, höre kurze, strukturell unterschiedliche Kandidaten an, bevor du die Form erweiterst. Vergleiche Rhythmus und Dauer ohne Tonhöhendekoration, erhalte eine frühe wiedererkennbare Aussage und wähle durch Hören aus.
-
Rendere den ausgewählten Kandidaten:
python "<skill-root>/scripts/run.py" compose "<ausgabe>/<name>.py" "<ausgabe>/<name>.mid" --composition-output "<ausgabe>/<name>.composition.json" --project-output "<ausgabe>/<name>.project.json" --report "<ausgabe>/<name>.report.json"
- Behandle Validierungsfehler als harte Fehler. Behandle Diagnosen als Belege gegen die geschriebene Absicht, nicht als Bewertung des Geschmacks. Überarbeite die höchste kausale verantwortliche Ebene, rendere erneut und höre erneut.
- Berichte über das musikalische Design, Annahmen, Validierungsergebnis, Diagnose- befunde, MIDI-Fakten und alle Entscheidungen, die noch ein Hörurteil erfordern.
Kernbeschränkungen
- Halte das Standard-Timing exakt quantisiert. Füge Einsatzverschiebung oder Humanisierung nur hinzu, wenn der Benutzer ausdrücklich ein Timing-Experiment anfordert, und erhalte eine quantisierte Basislinie.
- Zähle den wahrgenommenen Tactus, anstatt davon auszugehen, dass jede Viertelnote ein
Schlag ist. Verwende
song.at(),song.tactus()undsong.bars()für taktartbewusste Pläne. - Verwende regelmäßige ganz-taktige Phrasengruppierung, es sei denn, Unregelmäßigkeit hat eine benannte musikalische Funktion.
- Gib wichtigen Vordergrundphrasen eine klare Identität, internen Kontrast und
primäre Ankunft. Verwende
phrase(),phrase_stage()undarrival(), wenn deren Absicht testbar sein soll. - Gib verwandten Rollen eine zweckmäßige Abhängigkeit, ohne identische Anschläge zu erzwingen.
Verwende
interaction(), wenn Unabhängigkeit, Verzahnung, Ruf-Antwort oder Übergabe zentral für die Vorgabe ist. - Verwende
top_target, wenn der höchste Ton einer Akkordstimmführung die Linie trägt. Füge eine separate Führungsstimme nur hinzu, wenn sie eine klare komplementäre Rolle hat. - Halte jeden Einsatz und jede Dauer explizit. Leite die Notenlänge niemals aus dem nächsten Anschlag ab.
Überarbeitung
Diagnostiziere in dieser Reihenfolge:
- Taktart und gemeinsame Uhr;
- Rollenbesitz und Instrumentenverträge;
- Phrasengruppierung, Gestenkontinuität und Ankunft;
- harmonischer Rhythmus, Bassunterstützung und Stimmführung;
- Tonhöhenkontur und Verhalten nicht-akkordeigener Töne;
- Artikulation, Balance und Wiedergabeklangfarbe.
Verwende drei einfache Vergleiche, bevor du Regeln hinzufügst:
- höre den Vordergrundrhythmus auf einer Tonhöhe;
- schalte optionale oder konkurrierende Ebenen einzeln stumm;
- vergleiche die früheste vollständige Phrasenendung mit einer späteren Endung.
Repariere kausale Struktur anstelle isolierter Noten. Verwende keine zufällige Dichte, beliebiges Jittern, pauschale Humanisierung oder eine neue genrespezifische Engine-Regel als Abkürzung.
Befehle
schema: Drucke das Composition 1.1 JSON-Schemavalidate COMPOSITION: Führe harte strukturelle und semantische Prüfungen durchdiagnose COMPOSITION: Melde beratende musikalische Beobachtungencompare COMPOSITION...: Vergleiche Kandidaten-Fingerabdrückecompile COMPOSITION PROJECT: Kompiliere zu internem Projekt-JSONrender COMPOSITION MIDI: Validiere, diagnostiziere, kompiliere, rendere und inspizierecompose SCRIPT MIDI: Führe vertrauenswürdigesbuild()aus und durchlaufe die vollständige Pipelineinspect MIDI: Melde MIDI-Struktur, Programme, Tonumfänge und Controllerself-check: Führe den End-to-End-Installationstest durch
Verwende project-schema, project-validate und render-project nur für die
niedrigstufige kompilierte Projektgrenze.
Grenzen
- Erstelle originale symbolische Musik. Kopiere keine Referenzmelodie oder imitiere einen lebenden Künstler.
- Überprüfe Lizenzen vor dem Importieren analytischer Korpora oder Referenzdateien.
- Behandle General MIDI-Wiedergabe als Vorschau; bewerte die Produktionsklangfarbe in den Zielinstrumenten oder der DAW.
- Behalte das Hören als letzte musikalische Entscheidung.