Sono interessato alla musica per computer, dove ci sono approcci per trattare i brani musicali come frasi in grammatiche generative o L-sistemi. Invece di comporre, si potrebbe quindi specificare una grammatica e lasciare che il computer generi la musica. Ad esempio, il gruppo di Yale attorno al defunto Paul Hudak è molto forte in questo.
Mi ha colpito che usiamo rappresentazioni apparentemente unidimensionali di informazione per rappresentare le cose di dimensioni superiori, come la crescita delle piante con L-sistemi . La musica, per me, sembra avere almeno due dimensioni: l'ovvia dimensione temporale e la dimensione "strumento", ovvero la capacità di avere più suoni diversi contemporaneamente. E in effetti, la notazione musicale ha esattamente queste due dimensioni.
Esistono linguaggi di programmazione bidimensionali come Befunge , che non mi è sembrato molto utile (ancora), ma non sono riuscito a trovare nulla sulle grammatiche generative, in cui le frasi sono bidimensionali.
Con una frase bidimensionale intendo che i caratteri sono distribuiti su una griglia bidimensionale, ad esempio in questo modo:
ab cde
aabce
dca b
Le regole di produzione potrebbero avere anche frasi bidimensionali su entrambi i lati della regola:
a -> bc
e
b -> cd
e ab
Qualcosa del genere è stato studiato prima?
Ad esempio nella musica per computer, questo potrebbe essere abbastanza utile. Pezzi come il Boléro di Ravel potrebbero essere generati da una regola di produzione bidimensionale come questa:
t -> tt
t
Questo dovrebbe essere letto come "Se in un pezzo, il tema t
è suonato dallo strumento 1 in qualche momento, allora possiamo produrre un nuovo pezzo in cui t
è suonato dallo strumento 1 allo stesso tempo, e immediatamente dopo dagli strumenti 1 e 2. "