BeatFlow
Use Codex para decisiones musicales. Use el motor incluido para temporización exacta, realización funcional de alturas, instrumentación, validación, diagnóstico, compilación, renderizado MIDI e inspección.
Entorno de ejecución
Consulte este directorio del skill como <skill-root> y ejecute:
python "<skill-root>/scripts/run.py" <comando> ...
Requiere Python 3.10 o superior. Escriba los scripts de composición y los artefactos
generados en el espacio de trabajo del usuario, nunca en <skill-root>.
Flujo de trabajo
-
Extraiga del resumen: duración, forma, tempo, métrica, lenguaje tonal, instrumentación, trayectoria energética, prioridades y exclusiones. Haga supuestos reversibles para detalles faltantes.
-
Clasifique cada instrumento como
esencial,sustituibleuopcional. Clasifique por separado su prominencia comoprimario,coprimario,soporteofondo. Preserve los instrumentos esenciales y repare su escritura, balance o programa de reproducción antes de considerar un cambio de contrato. -
Lea composition-guidance.md y composition-format.md. Lea phrasing-and-coordination.md para melodía prominente, desarrollo temático, métrica compleja o reparación de temporización. Lea long-form.md para obras de más de 90 segundos. Lea diagnostics.md al revisar o comparar candidatos. Cargue research-foundations.md solo cuando la evidencia metodológica sea útil.
-
Planifique antes de escribir eventos:
- marco: duración, secciones, tempo, métrica, tactus, tónica y modo;
- frase: agrupación, ritmo armónico, atención, llegadas y liberaciones;
- esqueleto: pulso, bajo, armonía, entradas de roles, silencios y traspasos;
- primer plano: identidad rítmica, contorno, densidad, textura y notas estructurales;
- decoración: rellenos, ataques secundarios, contracantos y articulación.
-
Renderice el esqueleto cuantizado antes de agregar el primer plano. Mantenga al menos una referencia temporal estable y haga perceptibles los cambios armónicos importantes y las llegadas. Trate el primer plano como opcional; un gancho de bajo, una línea superior de acorde diseñada o una textura rítmica pueden ya guiar la atención.
-
Cree un archivo Python de confianza cuya función
build()devuelvaComposition. UseSongBuilder; deje que el estilo afecte la música creada, no el esquema ni el compilador. -
Para una canción completa, separe el material de sección reutilizable de las ocurrencias en la línea de tiempo. Use desarrollo de ocurrencias y tratamientos
arrange()para crear cambio formal sin copiar secciones completas. -
Para melodía o trabajo temático sensibles a la calidad, escuche candidatos cortos y estructuralmente diferentes antes de expandir la forma. Compare ritmo y duración sin decoración de altura, preserve una declaración temprana reconocible y seleccione escuchando.
-
Renderice el candidato seleccionado:
python "<skill-root>/scripts/run.py" compose "<salida>/<nombre>.py" "<salida>/<nombre>.mid" --composition-output "<salida>/<nombre>.composition.json" --project-output "<salida>/<nombre>.project.json" --report "<salida>/<nombre>.report.json"
- Trate los errores de validación como fallos críticos. Trate los diagnósticos como evidencia contra la intención escrita, no como puntuaciones de gusto. Revise la capa causal más alta responsable, vuelva a renderizar y escuche de nuevo.
- Reporte el diseño musical, supuestos, resultado de validación, hallazgos de diagnóstico, hechos MIDI y cualquier decisión que aún requiera juicio auditivo.
Restricciones principales
- Mantenga la temporización predeterminada exactamente cuantizada. Agregue desviación de inicio o humanización solo cuando el usuario solicite explícitamente un experimento de temporización, y preserve una línea base cuantizada.
- Cuente el tactus perceptual en lugar de asumir que cada negra es un
pulso. Use
song.at(),song.tactus()ysong.bars()para planes conscientes de la métrica. - Use agrupación de frases regular de compás completo a menos que la irregularidad tenga una función musical nombrada.
- Dé a las frases importantes de primer plano una identidad clara, contraste interno y
llegada principal. Use
phrase(),phrase_stage()yarrival()cuando su intención necesite ser comprobable. - Dé a los roles relacionados una dependencia intencionada sin forzar ataques idénticos.
Use
interaction()cuando la independencia, el entrelazado, la llamada y respuesta o el traspaso sean centrales para el resumen. - Use
top_targetcuando la nota más alta de una instrumentación de acorde lleve la línea. Agregue una línea principal separada solo cuando tenga un rol complementario claro. - Mantenga cada inicio y duración explícitos. Nunca infiera la duración de una nota a partir del siguiente ataque.
Revisión
Diagnostique en este orden:
- métrica y reloj compartido;
- propiedad de roles y contratos de instrumentos;
- agrupación de frases, continuidad de gestos y llegada;
- ritmo armónico, soporte de bajo e instrumentación;
- contorno de alturas y comportamiento de notas no acordales;
- articulación, balance y timbre de reproducción.
Use tres comparaciones simples antes de agregar reglas:
- escuche el ritmo del primer plano en una sola altura;
- silencie las capas opcionales o en competencia una a la vez;
- compare el final de la frase completa más temprana con un final posterior.
Repare la estructura causal en lugar de notas aisladas. No use densidad aleatoria, fluctuación arbitraria, humanización generalizada o una nueva regla de motor específica para el género como un atajo.
Comandos
schema: imprime el esquema JSON de Composition 1.1validate COMPOSITION: ejecuta verificaciones estructurales y semánticas estrictasdiagnose COMPOSITION: reporta observaciones musicales de asesoramientocompare COMPOSITION...: compara huellas de candidatoscompile COMPOSITION PROJECT: compila a Project JSON internorender COMPOSITION MIDI: valida, diagnostica, compila, renderiza e inspeccionacompose SCRIPT MIDI: ejecuta labuild()de confianza y ejecuta el pipeline completoinspect MIDI: reporta estructura MIDI, programas, rangos y controladoresself-check: ejecuta la prueba de humo de instalación de extremo a extremo
Use project-schema, project-validate y render-project solo para el
límite de Project compilado de bajo nivel.
Límites
- Cree música simbólica original. No copie una melodía de referencia ni imite a un artista vivo.
- Verifique las licencias antes de importar corpus analíticos o archivos de referencia.
- Trate la reproducción General MIDI como una vista previa; evalúe el timbre de producción en los instrumentos de destino o DAW.
- Mantenga la escucha como la decisión musical final.