Мне интересна компьютерная музыка, где есть подходы к обработке музыкальных произведений как предложений в порождающих грамматиках или L-системах. Вместо сочинения можно было бы указать грамматику и позволить компьютеру генерировать музыку. Например, Йельская группа вокруг покойного Пола Худака очень сильна в этом.
Меня поразило, что мы используем, казалось бы, одномерные представления информации для представления многомерных вещей, таких как рост растений с помощью L-систем . Мне кажется, что музыка имеет как минимум два измерения: очевидное измерение времени и измерение «инструмента», то есть способность иметь несколько разных звуков одновременно. И действительно, музыкальная нотация имеет именно эти два измерения.
Существуют 2-мерные языки программирования, такие как Befunge , которые пока не показались мне очень полезными, но я не смог найти ничего о генеративных грамматиках, где предложения являются 2-мерными.
Под 2-мерным предложением я подразумеваю, что символы распределены по 2-мерной сетке, например, так:
ab cde
aabce
dca b
Правила производства также могут иметь двухмерные предложения с обеих сторон правила:
a -> bc
e
b -> cd
e ab
Что-то подобное изучалось раньше?
Например, в компьютерной музыке это может быть весьма полезным. Такие части, как Болеро Равеля, могут быть сгенерированы с помощью двумерного правила производства:
t -> tt
t
Это должно читаться как «Если в пьесе тема t
воспроизводится инструментом 1 в какое-то время, то мы можем создать новую пьесу, в которой одновременно t
играют инструмент 1 и сразу же после инструмента 1 и 2». "