2019-01-22 Estudio para Clave nº1
Javier Sánchez Yeste
Concepto: Gramáticas Generativas y Música Barroca
En esta pieza quería investigar la relación entre algunas características perceptivas de la música del barroco para clavicordio y las gramáticas generativas.
La aproximación consistía en formalizar patrones compositivos barrocos mediante reglas gramaticales que pudieran generar material musical coherente con características estilísticas del período.
Herramientas Técnicas
Neumalang (EDSL)
Utilicé el sublenguaje neumalang, un EDSL (Embedded Domain Specific Language) de MusaDSL que permite definir material musical mediante una notación textual compacta.
Ejemplo de definición de motivos en neumalang:
a = '{ puts "motif a" } [ (+0 1) (+0 st) (+1) (+1) (. /2) (-1)
::next (.) (-2 st) (+1 *2) ]'.nn
b = '{ puts "motif b" } [ (+0 /· tr(low2)) (+3 //) (-1 /) (-1 st) (-1 st)
(-1 mor(up)) (+1 st) (+1 *2) (+1 /2) (-1 *2) ::next (-1) ]'.nn
Módulo de Gramática Generativa
Implementé un módulo de gramática generativa en MusaDSL v0.14.33 (diciembre de 2019) que permite:
- Definir reglas de producción gramatical
- Generar estructuras musicales mediante aplicación recursiva de reglas
- Controlar la complejidad y variedad del material generado
Estructura de la Pieza
La composición se estructura mediante:
- Definición de motivos base usando neumalang
- Reglas de transformación mediante gramática generativa
- Eventos (
launch :next,on :next) para control de flujo - Fases compositivas:
- Fase inicial con motivos a y b
- Modulaciones armónicas mediante cambios de base
- Fase de cierre con motivo c
- Desarrollo final con motivo d
Desarrollo Técnico
Versión de MusaDSL: v0.14.33 (diciembre de 2019)
Componentes utilizados:
- Neumalang (EDSL)
- Módulo de gramática generativa
- Módulo REPL
- Sistema de eventos (launch/on)
Pieza compuesta el 22 de enero de 2019 usando MusaDSL v0.14.33 (diciembre 2019).