Communitygithub.com

BeatFlow-Fähigkeit

Komponieren, arrangieren, überarbeiten, validieren, vergleichen, inspizieren und exportieren Sie originale, mehrspurige Musik als Standard-MIDI mit Codex und dem stilneutralen Python-DSL von BeatFlow. Nutzen Sie es, um eine musikalische Vorgabe in koordinierte instrumentale Rollen zu übersetzen, vollständige Songs in jedem Genre zu schreiben, Rhythmus- oder Phrasierungsprobleme zu diagnostizieren oder mit BeatFlow Composition 1.1 und MIDI-Dateien zu arbeiten.

Was ist BeatFlow-Fähigkeit?

BeatFlow ist eine KI-gestützte Fähigkeit zur Musikproduktion, die es Entwicklern und Musikschaffenden ermöglicht, mithilfe von Codex originale, mehrspurige MIDI-Kompositionen zu erstellen. Der Kern der Fähigkeit ist ein stilneutrales Python-DSL (Domain Specific Language), das über eine `build()`-Funktion eine `Composition` zurückgibt. Der Arbeitsablauf folgt einem strukturierten Prozess von der Analyse einer musikalischen Vorgabe über die Planung von Rahmen, Phrasen, Skelett und Vordergrund bis hin zur Ausführung, Validierung und Diagnose. BeatFlow bietet Befehle zum Schema-Druck, zur Validierung, Diagnose, zum Vergleich, Kompilieren, Rendern und Inspizieren von Kompositionen und Projekten. Die Fähigkeit legt Wert auf exakte Quantisierung, taktusbewusste Planung mit `song.at()`, `song.tactus()` und `song.bars()` sowie explizite Angabe von Einsatz und Dauer. Sie hilft, kausale Strukturen zu reparieren, anstatt isolierte Noten zu korrigieren, und vermeidet zufällige Dichte oder pauschale Humanisierung.

Funktioniert mit~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/the0cp/beatflow-skill/tree/master

In Ihrer bevorzugten KI fragen

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

Dokumentation

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

  1. Extrahiere Dauer, Form, Tempo, Taktart, tonale Sprache, Instrumentierung, Energieverlauf, Prioritäten und Ausschlüsse aus der Vorgabe. Triff reversible Annahmen für fehlende Details.

  2. Klassifiziere jedes Instrument als essentiell, ersetzbar oder optional. Klassifiziere separat seine Prominenz als primär, co-primär, Unterstützung oder Hintergrund. Erhalte essentielle Instrumente und repariere deren Schreibweise, Balance oder Wiedergabeprogramm, bevor eine Vertragsänderung in Betracht gezogen wird.

  3. 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.

  4. 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.
  5. 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.

  6. Erstelle eine vertrauenswürdige Python-Datei, deren build()-Funktion Composition zurückgibt. Verwende SongBuilder; lass den Stil die komponierte Musik beeinflussen, nicht das Schema oder den Compiler.

  7. 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.

  8. 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.

  9. 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"
  1. 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.
  2. 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() und song.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() und arrival(), 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:

  1. Taktart und gemeinsame Uhr;
  2. Rollenbesitz und Instrumentenverträge;
  3. Phrasengruppierung, Gestenkontinuität und Ankunft;
  4. harmonischer Rhythmus, Bassunterstützung und Stimmführung;
  5. Tonhöhenkontur und Verhalten nicht-akkordeigener Töne;
  6. 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-Schema
  • validate COMPOSITION: Führe harte strukturelle und semantische Prüfungen durch
  • diagnose COMPOSITION: Melde beratende musikalische Beobachtungen
  • compare COMPOSITION...: Vergleiche Kandidaten-Fingerabdrücke
  • compile COMPOSITION PROJECT: Kompiliere zu internem Projekt-JSON
  • render COMPOSITION MIDI: Validiere, diagnostiziere, kompiliere, rendere und inspiziere
  • compose SCRIPT MIDI: Führe vertrauenswürdiges build() aus und durchlaufe die vollständige Pipeline
  • inspect MIDI: Melde MIDI-Struktur, Programme, Tonumfänge und Controller
  • self-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.

Verwandte Skills