星火论文网,覆盖经济、管理、教育、医学、建筑、艺术等700余专业30余万篇硕士毕业论文和职称论文免费参考!

关于计算机生成音乐的简单实现与探讨

所属栏目:音乐与舞蹈学论文 发布日期:2018-12-12 15:37:37 论文作者:佚名

沈佶




摘要:计算机生成音乐(Generative Music)最早是由英国电子音乐作曲家布莱恩·伊诺(Brian Eno)系统性的提出的一种计算机音乐创作概念。本文中,笔者一方面将展示如何通过使用MAX/Msp编写一个简易的可操控程序来实现这一概念;另一方面,将介绍如何通过这套系统的计算机音乐生成模式,让音乐工作者无需专门花时间进行创作,更加方便的实验各种音色、律动以及和声。

关键词:MAX/Msp  计算机生成作曲  电子音乐技术

中图分类号:J618.9                 文献标识码:A                    文章编号:1008-3359(2018)05-0078-03

一、设计目的

当今,计算机生成音乐,这种创作形式主要运用在电子音乐作曲、声音设计和流行音乐制作当中。

(一)设计来源

该设计的想法最初来源于法国作曲家莫里斯·拉威尔的一部钢琴四手联弹作品《鹅妈妈组曲》。在该作品第三乐章《宝塔女王莱德罗纳》中,他大量运用了五声化音阶,配合重拍变换的技法,使音响有连绵不断的一种东方美感。

谱例1:

乐曲最初在升F为主音的五声音阶基础上,通过一个短小动机不断通过变形重复进行主题展开。到了曲子的中部,随着越来越多外音的引入以及节奏随机化的小音符,使得音响慢慢变得不和谐,而这种不和谐所带来的却是一种朦胧的美感。

谱例2:

笔者的程序设计思路就来源于此。通过运用一种特殊音阶或者固定音型进行随机化变形,创造出和声化织体,改变音乐的张力。

1.计算机生成音乐的特性

由于这套算法的概念来源于计算机音乐生成,所以和其他运用该方法的算法类似,它具有极强的不确定性和不可重现的特征,并且,所产生音乐的随机程度是限定在一定的规则框架内的,而不可能产生超越该规则的音符或者音型出现。从某种方面来说,它是一种可预测范围的偶然音乐。

2.生成规则的设计

世界上有不少音乐风格不是基于传统的西洋大小调和声体系来创作音乐,而是采用某种音列或者调式的形式,可能具有复调特征,但是不具备理论化的和声体系,比如中国、日本或者印度的传统音乐。而这种非传统和声导向的作曲方式由于能够大规模的开拓音乐的表现形式,逐渐又被现代作曲家重视起来,这其中除了有拉威尔或者巴托克(Béla Bartók)这样的严肃作曲家,还包括了很多垂名青史的爵士作曲家,如约翰·克特兰(John Coltrane)和科比·汉考克(Herbie Hancock)等。他们尤其喜欢在即兴独奏段落中选用中古调式、五声调式,甚至是一些罕见的中东调式来丰富音乐的音响。而如今依然还有大量的作曲家采用这种运用调式或者音列的方式进行创作。

在本设计中,笔者的生成规则就是基于某种固定的音阶、音色、律动以及音符的密度限定好框架,在框架之内随机产生旋律,更好地服务作曲者在创作前期的音列或者调式设计。

(二)组件设计

设计之初,为了更好地获得对音色的控制,笔者决定选用FM合成器作为基础乐器,这样就能更简单地获得不同质感的聲音,而且可以细致到频谱中每个分频音量的分配。

这个程序的核心部分是音符生成器,它能够根据设定好的音阶、节拍和律动生成所需要的旋律。

另外,为了得到更加丰富的旋律,笔者在此基础上又添加了一个律动变化功能,避免了旋律特征的单调性。

二、实现方法

所有的功能都是由MAX/Msp实现,设计组件包括一个简单的FM合成器、一个音符生成器(Note Generator)和一个音阶发生器(Scale Maker)。

(一)音色组件

笔者设计的这个FM简易合成器中包含4个部分:波形选择模块、波形调制模块、音色包络模块以及一个简易滤波器。该组件有5个输入端口接受信号,分别接受MIDI音高、MIDI音量、和谐度参数(控制整数倍泛音和非整数倍泛音比)、调制参数(控制泛音之间的音量比例)和载波选择参数,以及1个输出端口发送产生的音频信号。因此它是一个单声道的组件。

在这个组件中,MIDI信息会通过Keyboard端输出到底层组件FM1里。

其中,【cycle~】的功能是创造一个调制波形, 它决定了泛音列的性质, 最终影响输出波形的音色。【gate~】用来选择载波的形状,该合成器可提供包含正弦波、锯齿波、三角波等5种波形。【poly~】是用来创造波形的包络。

在该模块中,第一个端口输入的是调制后的载波信号;第二个端口输入音符的音量参数;第三个到第七个端口,分别输入的是启动时间、衰减时间、持续音量、持续时间以及释放时间的参数;第八个端口是用来判断音符间是否连续。

在包络模块之后, 声音信号会进入滤波器组件,再经过限制器对波形进行压缩,最终发送到声音播放组件。

(二)核心模块——音符生成器

该模块包含两个输入端口(音阶参数与中心音参数)以及两个输出端口(音高和音量)。

模块界面的第一排可以选择中心音,也就是选择音阶基于哪一个音符生成。【Random Oct off】开关控制音符的音高范围是否随机,如果选择否,则范围的大小(以一个八度为单位)可以通过在开关右边的数字框内手动上下拖拽进行选择。第二排【Random Beat off】开关控制音符时值是否随机,如果选择否,则需要在第三排中的时值列表中进行选择,之后音符就会根据选定的时值步进播放。第四排【Random Rest off】是选择插入的休止符时值是否随机,如果选择否,则同理需要在第五排中进行时值的确定。第六排【rdm interval off】开关是控制相邻音符之间的音程关系是否随机,如果不是,需要在右边的选择框中进行选择。

这是音符发生器的底层核心模块。其原理是:1.音阶信息会作为一组信息列表发送到音符发生器中;2.信息列表会被音程参数和中心音参数控制调整;3.调整后的信息列表将进入【zl lookup】中,同时 【drunk】会发送一组随机数字来触发它到进入输出端;4.另一方面,音量信息會在1到127的范围内生成。

律动选择模块有两个模块:Tab和 Rhythmselector。

Tab模块会根据设定的速度发送不同的数字触发不同的速度。

当切换为随机时值时,会在发生的音符上随机附上一个时值参数。

休止符的插入原理是通过是否旁通音符生成实现的。

(三)音阶发生器

音阶发生器的原理比较简单,就是通过在十二平均律之上选择某些音高来构成所需的音阶,比如只选择所有黑键,就构成了升C(降D)为中心音的五声调式。

在这个模块中,0-11代表一个八度内的12个音高。所选择的音高会存储为一张信息列表,根据开关来触发Keyboard。

(四)主界面

主界面由1个可输入速度的全局走带模块、3个合成器、3个音阶发生器、3个音符生成器构成,这样就会产生3层截然不同的声部线条。为了使三个声部更加独立,增加了简易调音台控制声像。

由于经过试验发现,三组声音合成器的声音并不是非常丰富,后期笔者加入了一个粒子合成器、一个混响组件和一个延迟组件,因此调音台上一共有6轨。

整个程序的线路顺序为:1.音阶发生器;2.音符生成器;3.合成器;4.调音台;5.限制器;6.立体声输出模块。

三、算法设计问题与改进

(一)旋律的逻辑性

由于音符是随机生成的,两两音符之间毫无关系,无法产生符合人类听觉习惯的乐句感。而这部分算法如果改进绝非易事,需要大量对音乐发展手段的总结研究工作,从而找到旋律人性化的规律。目前,笔者正在研究通过一个短小动机的变形进行算法上的调整,但也只是非常初步的探索。

(二)音阶的构成

在本程序设计中的音阶构成实际上是极度理想化的模型,许多中国和印度音乐中所用的音高都不会以十二平均律的律制来设定,而如今随着微分音的运用越来越普遍,该程序的局限性问题就更加凸显出来。不过,这部分内容相对来说比较容易实现,可通过在音阶生成器上加入音高的音分组件进行改进。

(三)音色的丰富度

在本设计中,由于只是完成一个概念的简单实现,没有进行更复杂的音色合成和调制功能。如果需要再改进,可以加入多元化的载波进行选择,比如一些噪声发生器来合成一些特殊音响。在效果器上,也可以加入更复杂的均衡器、合唱效果器、镶边效果器等来改变音色。

四、结语

人工智能如今在各个领域越来越受到重视。不久之前谷歌所研制的围棋人工智能阿尔法狗将多位围棋大师击败,轰动了全世界,也使得普通人都对人工智能关注起来。而计算机生成作曲实际上也是一种人工智能,因此常常被称为算法作曲技术。艺术与科技自古以来就是相辅相成的,科技发展也在无时不刻推动着艺术形式的创新,笔者相信,随着算法的日臻成熟,计算机生成作曲也会逐渐成为一种艺术上的新思潮,改变人类创作音乐的方式。

27926090 13943037437