首页 >> 计算机科学 >> 文章

算出音乐来Comments>>

发表于 2009-08-05 13:46 | Tags 标签:, ,

引言:在我近30年的人生中,最与“艺术”接近的日子大概是在读研期间。这并不是因为我心血来潮地逛过几家画廊或爵士乐酒吧,而是在我就读学校中,计算机科学系,与音乐系和美术系一样,都隶属于“艺术与科学学院”。这往往给我一种错觉,仿佛自己已然脱离了“IT民工”的圈子,正行进在通往艺术和科学殿堂的大道上。尽管如此,当我听说坐我旁边办公桌,代码写的又快又好的一个家伙是音乐系本科毕业的时候,还是免不了有一丝愕然。“其实,我觉得写代码和写谱子本质上差不多”,他这样回答我的疑问。呃,果真如此吗?

marvin

本图为Marvin P.同学在小庄的威逼利诱下所作

通常人们如果要将音乐与计算机联系起来,第一个想到的自然是近十年来才开始流行的MP3和IPod播放器。不过,计算机与音乐创作之间的合作远比这密切的多。数字音效合成、音频编辑软件、乐器数码界面(MIDI)标准以及数码录音设备早已在各个音乐工作室里被广泛应用,并且大大缩短了唱片制作的成本和时间。然而,一个音乐白痴是否能够仅仅靠敲几下键盘就创作出一曲动听的乐章呢?两千多年前的古代希腊人就已经在思考类似的问题。

音乐可数

公元前五百年的一天,哲学家毕达哥拉斯(Πυθαγόρας,约前580年-前500年)走在大街上,突然被街边铁匠铺里传出的声响所吸引,他驻足细听,发现铁锤敲打在砧板上的声音并不像通常那样令人生厌,反而非常优美。这位企图用数来解释宇宙万物的哲学家意识到,在这美妙的音乐背后,一定有某种他所不了解的数学法则。通过不同的击打实验,毕达哥拉斯发现了和谐音程的秘密:当音与音之间的频率比是简单的整数比时,产生的音乐最美妙和谐。这个发现无疑是他所宣扬的“万物可数”哲学思想的最好证明,也巧妙地将音乐与数学紧密联系在了一起。毕达哥拉斯还坚信,宇宙中各天体也是按照某种数学法则来运行的,而与这种数学法则相对应的音乐,就是宇宙间真正的天籁之音。按照哲学家的观点,既然天地间的万物都可以用“数”来解释,那么,是否任何领域的知识都能够转化成音乐呢?两千年多前的古人并没有给我们留下实证,然而,关于数字和音乐的游戏却一直在继续。(在此声明一下,铁匠铺的故事乃是来自传说,而关于天体音乐理论的提出者也有争议,有人认为是柏拉图。)

投骰子作曲

1791年,天才作曲家莫扎特英年早逝,一支《安魂曲》留给世人无数浪漫的想像。两年之后,出版商在柏林公开了据说是他生前创作的一套随机乐曲生成系统,后世称之为“莫扎特的音乐骰子游戏”。这款小游戏由176条小步舞曲小节,96条三重奏小节,两张写满数字的规则表以及两粒六面骰子组成。游戏的规则非常简单,两粒骰子被随机投掷16次,根据骰子显示的数字,规则表中对应的小步舞曲片段被依次选定,组成了一支小步舞曲。同样,一粒被随机投掷16次的骰子就能够谱出一段三重奏。我们可以发现,这个简单的游戏总共可以生成11^16(4千多兆)的小步舞曲段和6^16(2千多亿)的三重奏段。

lejaren_hiller

回文诗《璇玑图》(可有异曲同工之妙?)

莫扎特的音乐骰子游戏有多个版本,并被认为多是他人托名而作。虽说没有人发现过原始手稿明确证实这款游戏确实出自莫扎特之手,不过很多音乐家还是认为在他1787年创作的乐曲“K. 516f”中可以找出类似的随机生成机制。事实上,莫扎特并不是音乐骰子游戏的创始人,早在1757年,约翰•菲利普•克恩伯格(Johann Philipp Kirnberger,1721~1783)就在柏林公开发表过类似的游戏手稿。而他手稿扉页上的一段话,也多次被后来者所引用:只要愿意,任何懂得骰子和数字的人都能够谱写出足够多的乐曲段。伴随着十八世纪欧洲社会对数学的极大热情和关注,类似的小游戏在当时的音乐圈中相当流行。即使在200年后,也还有不少人借用类似方式向自己的作品中注入随机因素,美国实验音乐家约翰•凯奇就曾经制作过一个写满音符的棋盘来“演奏”棋局。相似的,一个圆周率就可以通过数字和音符之间不同的对应关系永无止境地演奏下去。而计算机的出现,更是为音乐自动创作打开了一扇新的大门。

依利亚克组曲
1952年,28岁的列哈伦•希勒(Lejaren Hiller)告别了杜邦公司,怀揣一大笔奖金重返校园。在美国伊利诺伊大学,这位23岁就拿到博士学位的化学家开始了对合成橡胶的研究。也正是在同一年,第一台完全由美国大学研发的冯•诺伊曼式计算机Illiac正式亮相伊利诺伊大学。得天独厚的希勒得以接触到电子计算机并用它来计算统计意义上理想聚合分子的大小。他无意中发现,如果将控制变量由几何数变为音符,同样的计算机代码可以用于对位法谱曲(一种使两条或者更多条相互独立的旋律同时发声并彼此融洽的作曲法则)。一向对音乐颇有兴趣的希勒开始“不务正业”,试着利用计算机来谱曲,他不仅在闲暇时间开始攻读音乐硕士学位,还把自己的助手——化学师里奥纳德•艾撒克逊(Leonard Isaacson)一同拉下了水。

他们最开始是希望让计算机实现类似传统对位法的谱曲工作,并进行了一系列的实验。包括如何生成全音阶旋律和复调,如何用计算机代码编写对位法规则以及如何生成半音阶。最后,统计学里的的马尔可夫链(一种通过历史状态来预测未来状态概率的数学模型)被用于决定音调。例如,如果当前的音调是C,那么下一个可能的音调则可能是G(概率70%),E(概率15%),F(概率10%)或A(概率5%),不同的概率由不同的马尔可夫链模型所决定。这样,整个谱曲工作被分为三个阶段:初始化—包括建立规则表和数学模型;生产—计算机随机生成单个音符;测试—计算机根据初始化中的规则测试随机音符是否有效。于是,通过不断重复生产和测试环节,越来越多有效音符被选择出来并组成了完整的乐曲。

lejaren_hiller

希勒教授和他的音乐工作室

1956年,在美国计算机协会(ACM)的一次会议上,希勒做了一场关于计算机创作音乐的报告。听众的反应不一,有趣的是,计算机专家们大多对此持非常开放的态度,音乐家们则显得更为谨慎,而很多其他领域的学者们却认为他完全是在胡说八道。不管怎样,希勒的第一个作品在1957年诞生,为了纪念用以作曲的计算机Illiac,他为这支弦乐四重奏取名《依利亚克组曲》(Illiac Suite),这也是历史上第一支完全由计算机生成的音乐作品。而化学家希勒则从此彻底投入计算机音乐创作的怀抱,他转入音乐系任教,成立实验性的音乐工作室并“编写”出了有着诸如《算法一》、《算法二》、《算法三》这样古怪名字的乐曲。

算法各异
在希勒之后,随着计算机相关技术的发展和普及,越来越多的人关注到这个科技与技术奇妙结合的领域,于是各式各样的作曲算法涌现出来。上世纪八十年代进入这一领域的大卫•库佩(David Cope)算得上其中的佼佼者,他执教于美国加州大学圣克鲁兹分校(UCSC)艺术系,同时也是中国厦门大学计算机学院的名誉教授。库佩最开始是想编写一个能够描述自己作曲风格的计算机程序并用它来记录自己工作的发展轨迹,不过,很快的,他将目标转向了那些已经故去的大师们,希望能用软件创造出带有不同大师风格的音乐作品。库佩将这样的工作称为“重组合”(recombinancy)——在现存的音乐上加入新的,符合原有逻辑的演绎,从而创造出新的作品。

“所有伟大的英文著作都是26个字母的重组合,同样的,大多数现存的西方伟大音乐作品都是十二平均律音阶和对应的八度音阶的重组合”库佩这样理解自己的工作,“这秘密并不在于生成新的字母或音符,而是在于重组合的巧妙与优雅。” 他编写的音乐智能实验软件EMI能够模仿上百位作曲家的风格,其中包括类似巴赫的器乐协奏曲,类似莫扎特的奏鸣曲以及类似肖邦的夜曲。EMI能分析同一作曲家的多个作品,通过特殊的匹配过程找出作品中共有的特征,根据在现有作品中出现的次数多少,这些特征被赋予不同的权值,存放在数据库中。在创作的时候,这些特征被应用,而缺省的内容则由不同的计算函数来填充,模仿已故作曲家作曲风格的新作品便诞生了。库佩的机器创作取得了巨大的成功,EMI的效率是惊人的,我们现在可以在网络上听到多达5000首由EMI自动生成的音乐作品,足以举办一场全球巡回音乐会了。

david-cope

酷酷的库佩教授

与库佩同时期的理查德•奥斯(Richard Voss)则采用了不同的方式。1978年,奥斯和约翰•克拉克(John Clarke)在分析众多音乐和演讲的频谱密度时发现:当他们将频谱密度降到万分之五赫兹时,就能分析出长时间内的旋律波动,而很多音乐的波动都呈现出“粉红噪音”(一种自然界最常见的噪音,频率分量功率主要分布在中低频段,可以模拟出瀑布或者下雨的声音)的模式。为了对比,奥斯和克拉克使用计算机分别生成了基于粉红噪音、褐色噪声和白噪音的旋律,上百名听众几乎一致认为基于粉红噪音的旋律更为动听。从那以后,许多基于粉红噪音的数学公式也被应用到了作曲算法中。

除了传统的统计学方法,作曲家们还瞄上了人工智能的最新发展。亚当•阿尔珀恩(Adam Alpern)在九十年代将遗传算法用到了音乐谱曲中。他将一支爵士乐曲输入计算机,通过模拟进化过程—改变些微参数生成新的相似乐曲,根据预先设定的淘汰规则(包括音调、节奏、自然音阶的平衡)去掉不适应的乐曲—自动生成了全新的乐章。而乔纳森•伯格(Jonathan Berger)设计的人工智能算法不仅会谱曲,还会“听音乐”,如此一来,机器就能够接受和识别音乐,并以音相和了。

不过,对大多数音乐家来说,他们更愿意从“数”中吸取灵感而不是完全放弃自己动手谱曲的能力。近年在中国频频露面的美国先锋音乐家艾略特•夏普(Elliott Sharp)便是如此将毕达哥拉斯“万物可数”的概念充分表达了出来。在他的手下,无论是混沌理论,斐波纳契数列,核糖核酸(RNA)重组算法,还是几何分形学,都能转化成不同的旋律。

尽管机器创作或辅助创作的音乐越来越被大多数人所接受,反对或质疑的声音永远都存在。我们需要什么样的艺术?本身毫无情感的机器如何能创造出真正能打动人心的音乐?艺术家们永恒追逐的灵感是否能由严格程序控制的机器再现出来?这些问题已经被无数人翻来覆去的讨论了。也许库佩的想法是对的:“大多数现存的西方伟大音乐作品都是由十二平均律音阶和对应的八度音阶组合起来的。”可是,正如罗丹所言:“完成一件雕塑,只不过是把石料的多余部分去掉。”伟大的音乐作品所需要的也是机器创作最棘手的技巧所在,正是如何去掉那些多余的部分。

买一送一的小贴士:机器也恶搞论文
与自动化作曲不同,到目前为止,除了一些勉强可以归入朦胧派或梨花体的诗句,机器创作在有意义的写作上还是毫无建树,而由机器翻译的长篇文章也确实让人有惨不忍睹之感。

几年前,出于对学术界“野鸡会议”(指那些学术水平低下,无质量把关,只知收取昂贵注册费用替作者攒论文发表数量的学术会议)的反感和年轻人的恶搞冲动,美国麻省理工大学(MIT)计算机专业的三位研究生编写了论文自动生成软件SCIgen。它能够从固定的词库中,随机抽取专业术语,以符合文法的方式生成句子。因为学术论文中大量充斥着一些专业性很强的用词和固定的句式,这种软件生成的文章乍看上去相当符合规范。再配上自动生成的漂亮图表和详细的引用文献,一篇就内容而言不知所云的文章第一眼往往能唬住不少人。

SCIgen的首次亮相是在2005年,机器论文Rooter: A Methodology for the Typical Unification of Access Points and Redundancy被WMSCI会议(World Multiconference on Systemics, Cybernetics and Informatics)所接收。虽然事后主办方澄清了此论文是作为“非同行评审论文”被接收并及时撤销了作者的报告资格,但在媒体的大肆渲染下,仍然是颜面大失。一方面,电气电子工程师学会IEEE暂停了对会议组织者的赞助,将论文从资料库中删除,努力将影响降到最小。另一方面,三位年轻人却在三天之内从网络上募捐到了两千四百美元,他们去到佛罗里达,在召开WMSCI会议的旅馆里租下房间,举行了一场同样是机器随机生成的混乱学术报告,并将整场闹剧录下来放在了互联网上。

本文已发表于《新发现》8月刊,感谢Marvin专门配的插图,太酷了。

0
为您推荐

23 Responses to “算出音乐来”

  1. 伊比利亚猞猁饲养员拇姬说道:

    沙发

  2. Kapo说道:

    仅仅有论点的文章不是好文章。特附上一段MozartDiceGame作品。

  3. Jiajin YU说道:

    SCIgen is awesome. CS girl is even more awesome!

  4. 金色葡萄说道:

    很好听啊。给出更多的音乐吧。谢谢!

  5. Kapo说道:

    http://sunsite.univie.ac.at/Mozart/dice/
    又看到一个,不会弄代码的就直接去弄音乐吧
    填入数字(1-128各代表一种乐器),然后make music!

  6. maokk说道:

    有没有专辑,有没有成名曲?

  7. january说道:

    这篇文章很酷!

  8. 逆铭说道:

    “类似莫扎特的奏鸣曲以及类似肖邦的小夜曲”
    应该是夜曲(nocturne),不是小夜曲(serenade)

    • Robot说道:

      恩,英文资料上写的确实是nocturne,我翻译错了,其实我是个乐盲来着。。。。

  9. 杨2说道:

    "听众的反应不一,有趣的是,计算机专家们大多对此持非常开放的态度,音乐家们则显得更为谨慎,而很多其他领域的学者们却认为他完全是在胡说八道。"

    其实这是个很值得琢磨的事情。。。

  10. 橙色波浪说道:

    论文生成……多伟大的发明,有了它我就可以告别那与自己专业丝毫无关而且对自己完全没有用的毛邓政治作业论文了~~

  11. c2blog说道:

    艺术与科学

    这篇甚至能超过
    Google吴军的《数学之美》。

  12. 金色葡萄说道:

    最近在玩tone matrix,在一个16*16的棋盘格子上根据图像产生音乐。
    在http://www.hobnox.com/audiotool上玩

  13. cansic8说道:

    呃,我们就曾经做过算出来的音乐……

    勋伯格12音作曲法

  14. costaxu说道:

    SCIgen 确实很厉害。前年国内中部一所知名院校召开的会议也中招了。国内的野鸡会议确实让人痛心

  15. 生存和梦想说道:

    我一直在想在一定长度下穷举音乐出来,不知道有没人做这个事。

  16. [...] 科学松鼠会上一篇名为算出音乐来是对计算机作曲的很好的介绍, 其中提到的1981年诞生于David [...]

  17. 小正说道:

    用道琼斯指数的收盘价作个曲子,听起来一定很混乱。

  18. 生命收割者说道:

    果然还是含有感情的音乐吸引人……
    -_-b

Leave a Reply