我对计算机音乐感兴趣,在计算机音乐中,有一些方法可以将音乐片段视为生成语法或L系统中的句子。除了作曲外,还可以指定一种语法,然后让计算机生成音乐。例如,已故的保罗·哈达克(Paul Hudak)周围的耶鲁大学在这方面非常强大。
令我惊讶的是,我们似乎使用信息的一维表示来表示高维事物,例如使用L系统的植物生长。在我看来,音乐似乎至少具有两个维度:明显的时间维度和“乐器”维度,即同时具有多种不同声音的能力。确实,音乐符号具有这两个方面。
有诸如Befunge之类的2维编程语言,对我来说没有什么用(还),但是我找不到关于生成语法的任何东西,因为这些语法是2维的。
我用二维句子来表示字符分布在二维网格上,例如:
ab cde
aabce
dca b
生产规则在规则的任一侧也可以具有二维句子:
a -> bc
e
b -> cd
e ab
以前有没有研究过类似的东西?
例如,在计算机音乐中,这可能非常有用。像Ravel'sBoléro这样的作品可以通过二维生产规则生成,如下所示:
t -> tt
t
可以理解为“如果在某个乐曲t
中某个时刻乐器1播放了该主题,那么我们可以制作一个新乐曲,其中t
乐器1同时播放,然后紧随乐器1和2播放。 ”