当前位置:首页 期刊杂志

交互式遗传算法智能作曲系统设计

时间:2024-07-28

郭衡泽, 汪镭

(同济大学电子与信息工程学院,上海 201804)

交互式遗传算法智能作曲系统设计

郭衡泽, 汪镭

(同济大学电子与信息工程学院,上海 201804)

算法作曲(algorithmic composition),是通过某种形式化的过程,使作曲者在利用计算机进行音乐创作时的介入程度达到最小的研究。遗传算法的快速发展和应用引起了算法作曲研究者的注意,其高鲁棒性、良好的收敛性以及较快的运算速度等显著的特点启发研究者们可以将其与乐曲创作相结合。音乐作品离不开创作者的“灵感”,一首好的音乐作品一定充满着创作者的感情色彩,而交互式遗传算法作曲可以最大程度的发挥作曲者的主观感情色彩。论文重点介绍了基于交互式遗传算法作曲系统的架构与实现,在编码机制、人工评估及人机交互操作等诸多方面都有创新的设计应用和实现方法。

遗传算法; 乐曲创作; 交互式遗传算法作曲系统; 人工评估

0 引言

在算法作曲的研究中,目前已经有很多种不同模式不同思想的算法,但总体而言应用较多的主要有以下六种:基于规则的知识库系统、人工神经网络、Markov转换表、音乐文法、随机过程以及遗传算法。

在使用遗传算法对计算机自动作曲进行监督和把控时,其难点在于系统适应度函数的定义,由于音乐中融合了创作者的情感,以及音乐自身丰富的表现形式,使得适应度函数的标准难以捉摸。于是在不断地研究当中,出现了一种更加符合音乐创作特性的改进式算法——交互式遗传算法IGA(Interactive genetic algorithm),该算法可以让创作者辅助或代替系统的适应度函数,从而对染色体进行直接评估,对比较满意的染色体加大其之后的遗传权重,对不满意的染色体可以考虑去掉或者替代,从而将创作者主观的情感色彩融入到所创作的乐段中,以此来生成较为满意的乐段。

1 交互式遗传算法作曲系统介绍

在交互式遗传算法作曲系统中,除了系统适应度函数对种群进化起着评估作用之外,人也可以作为适应度函数参与到系统工作中,对产生的新乐段进行音乐性评估,系统将人工评价以某种形式转换为对下一代种群进化的先决条件和标准,通过此种方式来对乐曲的走向、乐段的进化起到人工导向作用。

但这种方法并非尽善尽美,由于当实际应用中种群规模较大时,人工评估工作量极具加大,费时费力且工作重复性较多,因此,在目前很多实际应用中,还是以系统适应度函数为主要评估方式,人工评估环节仅作为一种辅助评估手段,用户可以在系统操作过程中选择比较中意的(适应度值较高的)乐段进行聆听和赋值,赋值结果会以一定的权重参与到评价结果计算中去,对下一代种群进化起着引导作用。这样可以较为有效的避免人工评估工作量较大,人为欣赏打分与计算机运行不同步的不利因素。

2 系统模型搭建

2.1 基本流程

交互式遗传算法的基本步骤和内容如下:

1.通过曲库选取乐段对相应风格的乐曲进行定义和学习;

2.制定系统的编码方式和策略,通过映射规则,将乐段集合转换为基因位串结构空间;

3.定义系统适应度函数,以及人工评估相关规则;

4.制定遗传进化策略,诸如起始种群规模、遗传算子(选择、交叉、变异)的概率和条件、进化代数、终止条件等;

5.随机产生初始群体;

6.在初始种群产生后,利用适应度函数对种群中的个体进行适应度值计算工作;

7.判断是否需要进行人工评估环节:是则进入人工欣赏、评分过程;否则继续执行下一步;

8.通过先前设定的遗传进化策略,进行遗传算子操作,以及考虑是否有人工评估的结果,以此来形成新一代种群;

9.判断是否满足系统预先设定的终止条件或者达到预先设定的进化代数,如不满足则返回步骤7继续进化操作。流程图,如图1所示。

图1 交互式遗传算法流程示意图

2.2 编码规则

在本系统中,我们将三个属性进行细化和说明。

1.音阶向量

在同一音域内,音阶的变化范围为“do re mi fa so la xi”以及一个休止符,对应上一节中的元素表示法为“C D E F G A B”和“z”。我们用数字分别对其表示,映射为“1 2 3 4 5 6 7 0”,那么对于一个音阶向量,其共有8^12=2^36=6.8719e+10种可能性,因此音阶属性可以用一个在(0,6.8719e+10-1)之间的整数来唯一确定,相应地,可以用一个36位的二进制码或是12位的八进制码确定,即音阶属性码。本系统采用的是后者,即12位的八进制码。

在进行编码时,首先要确定每个小节内是否足够十二个音符,如果不够需要用“[ ]”补充至12个。“[ ]”是编码中休止符z的意思,每一个z用一个对应的[ ]来表示。

2.音域向量

本文所研究的简易乐曲的音域范围一般在四个八度以内,假设从低到高依次为低音、中低音、中高音以及高音四个部分,将其分别映射为0、1、2、3这四个数字;那么对于一个音域向量,其共有四的十二次方,即4^12=2^24=16777216种可能性,因此音域属性可以用一个在0和16777216-1之间的整数来唯一确定,相应地可以用一个24位的二进制码或是12位的四进制码来唯一确定,即音域属性码。本系统采用的是后者,即12位的四进制码。

需要注意的是,对于休止符z以及编码中遇到的空格,默认音域为低音0。

3.节拍向量

简易乐曲中,常用的节拍范围一般在1/16 ~ 1共七种节拍,将其分别映射为1、2、3、4、5、6、7,这两将休止符z纳入考虑范围内,映射为0;对于一个节拍向量,其共有8^12=2^36=6.8719e+10种可能性,因此节拍属性可以用一个在1和6.8719e+10之间的整数来唯一确定,相应地,可以用一个36位的二进制码来唯一确定,12位的八进制码确定,即节拍属性码。本系统采用的是后者,即12位的八进制码。

需要注意的是,对于编码中的空格部分,默认节拍为0。

2.3 遗传算子

1.交叉算子

在本文研究的系统中,主要有两种交叉方式:以小节为单位进行交叉,或者以单个小节中的部分为单位进行交叉。需要注意的是,这两种交叉方式在实际应用过程中都需要注意交叉部分的时值必须相等才可进行交叉操作,否则如果交叉部分的时值不一致,交叉后将造成各小节时值总和不相等。

2.变异算子

之前的章节中对变异操作的具体方法和种类已经有过叙述,在本文所研究的系统中,为了减少实现复杂度,以及针对简易乐曲的特点,我们选取了四种变异方式:随机产生一个新的音符、随机替换一个现有的音符、音程间隔过大的情况下的变异以及悬浮音情况下的变异。这四种变异方式都是在满足一定的触发条件下才可能发生,具体规则将分情况而定。

2.4 适应度评估

1.系统适应度函数

判断一首乐曲好坏的依据有很多种,诸如乐曲的旋律、节奏、悬浮音、和旋等等,本系统所构造的适应度函数主要由四个评估要素组成,分别为节奏、旋律、音程间隔以及悬浮音。计算公式为:

E=E_tempo+E_rhythm+E_space+E_suspend

(2.1)

其中构成公式的每一项子式都是相应要素在所有个体中的统计之和。

(1) E_tempo

此项代表对乐段节奏的统计,计算时以小节为单位。在本文研究的简单乐曲类型中,通常而言节奏都相对平缓,跌宕起伏、慷慨激昂的风格很少出现。所以为了衡量系统产生的乐段是否符合简单乐曲的特点,系统将统计每个个体的各小节的音符个数,以此来判断这一小节节奏的快慢。在节拍一定的前提下,同一小节中,音符数越多代表该小节的节奏越快,音符数越少代表该小节的节奏越慢。

单小节的节奏计算公式为E_tempo(i)=(1-)*E_tempo(i),其中为节奏的权值系数。由上式可以看出,权值越大,得到的单节E_tempo值越小;权值越小,得到的E_tempo值越大。

(2) E_rhythm

此项代表对乐段旋律的统计,计算时以小节为单位。由之前的章节对旋律的描述中可知,相对于简单乐曲而言,比较理想的旋律线主要分为旋律上行和旋律下行两种,即音符的相同走向相关程度为向上或向下。根据简单乐曲的特点,系统将统计乐段每小节音符的相同走向程度,不论旋律线向上或是向下,只要一系列音符出现相同走向,即认为评估值较高。

单小节的节奏计算公式为E_rhythm(i)=(1-)*E_ rhythm(i),其中为旋律的权值系数。由上式可以看出,权值越大,得到的单节E_ rhythm值越小;权值越小,得到的E_ rhythm值越大。

(3) E_space

此项代表对乐段音程间隔的统计,计算时以音符为单位。由之前的章节对音程的描述中可知,相对于简单乐曲而言,音符间不应存在较大的音程间隔,只有在音符间的音程间隔保持在一定范围内,才会让乐曲听起来更具有和谐统一性,符合听众的审美需求。

单小节的节奏计算公式为E_space(i)=*E_ space(i),其中为音程间隔的权值系数。根据简单乐曲的特点,我们设定当两相邻音符的音程间隔超过5时,认为间隔过大。在初始乐库产生随机音符音节组合时,乐曲中音程间隔较大的情况会比较频繁,所以设定值为0.4。

(4) E_suspend

此项代表对乐段悬浮音的统计,计算时以音符为单位。由之前的章节对音程的描述中可知,悬浮音与音程间隔是存在差异的,其是指某一个音与和它相邻的两个音有明显的差异,即音程间隔较大。悬浮音的存在可以让听众在欣赏乐曲的过程中出现刺激感,但悬一个乐段中出现浮音过多将影响整体旋律的进行。相对于简单乐曲而言,悬浮音不宜过多出现。

单小节的节奏计算公式为E_suspend(i)=*E_suspend(i),其中为悬浮音的权值系数。根据简单乐曲的特点,我们设定当某一音符与其相邻的两音符音程间隔超过4时,认为该音符为悬浮音。在初始乐库产生随机音符音节组合时,乐曲中可能会存在较多的悬浮音,所以设定值为0.4。

2.交互系统及人工评估

本文所研究的系统中,人工评估作为一种可选模式出现,即在该模式关闭的情况下,系统适应度函数作为唯一的种群评估方式进行评估工作;在该模式开启时,系统适应度函数仍然起着评估作用,但人工评估作为新的评估环节加入进来,使人可以对生成的乐段进行聆听和评估工作。其工作过程如下:

1.某代种群经过常规的遗传操作后,进入人工评估模式;

2.系统将种群中个体的适应度值展现给评估者,评估者选取比较感兴趣的个体进行查看和聆听,听完后可对该个体的权值进行修改;个体的权值在初始阶段均为1,评分范围为1-10分。评分过程,如图2所示。

图2 人工评估示意图

图2中,假设种群大小为5,人工评估的乐曲为第二首。第二首乐段原来的权值为1,修改后权值为6。

3.人工评估后将根据权值比重影响产生新的种群;

4.系统适应度函数对新种群进行适应度评估;

5.如果适应度达到标准,系统将停止遗传操作,并输出乐段;如果适应度未达到理想状态,返回步骤1继续人工评估过程。

以上即为人工评估的过程,需要注意的是,种群初始权值为1,修改后的权值应小于等于10。权值越大,在接下来的遗传操作中该个体的基因遗传给下一代的概率就越高,也即“适者生存”的原理。

3 实验过程及结果

本系统是在Windows 8操作系统环境下,由MATLAB 2009a作为实验平台进行编程和验证。

3.1 初始乐段

首先需要形成初始种群。系统将根据乐库中的曲目类型进行分析和学习,之后将乐库中的乐段剪碎、打乱、交叉和变异等操作,形成全新的20首“乐段”,也即初始种群。根据之前叙述的适应度值计算方法,我们常见的简易乐曲如儿童歌曲一般的适应度值在18左右,初始乐库在经过上述操作后,平均适应度值约为11。任取一首初始乐段,其乐段序列数组及对应的五线谱,如图3所示。

[CV_scale, CV_range, CV_meter]=

图3 随机初始乐段五线谱图

可以看出,经过初始的剪切、拼接等操作所形成的乐段不具备普遍情况下人们所理解的旋律感,乐段的音乐美观性很低,需要通过遗传操作来提升乐段的艺术性。

3.2 自动遗传作曲过程

本小节实验建立在非人为干预的环境下。设置遗传代数为15代,设置好相关遗传参数后,系统进入自动遗传过程。结束后可得二十首乐段的最终适应度值,如图4所示。

图4 自动遗传终代适应度值示意图

可以看出,经过遗传进化操作之后这两首乐段具有良好的旋律性,节奏时而欢快时而舒缓,音域较窄,重复结构运用恰到好处,符合人们普遍认为的音乐鉴赏性,说明本次自动遗传算法作实验比较成功。选取适应度值高的个体,也即最优个体作为输出,其五线谱图,如图5所示。

图5 最优个体五线谱图

3.3 人工交互作曲过程

人工交互过程中,初始种群及适应度值评估方式与自动遗传过程一致。在进行到人工评估阶段时,我们可以查看进化过程中各个乐段的适应度值及乐段分布情况,对比较中意的乐段提升其权值,加大优质基因的遗传概率,如图6所示。

图6 权值调整示意图

在不断修改乐曲权值,调整进化方向的过程结束后,选取最优个体,如图7所示。

图7 最优个体五线谱图

由图5和图7可以看出,分别经过系统自动进化和人工评估进化操作之后,这两首乐段具有良好的旋律性,节奏时而欢快时而舒缓,音域较窄,重复结构运用恰到好处,符合人们普遍认为的音乐鉴赏性,说明本文建立的交互式遗传算法作曲实验比较成功。

4 结束语

本文通过对现有的智能算法作曲方式的分析和探讨,归纳出了目前为止算法作曲领域中各方法的优缺点,并对交互式遗传算法作曲进行了深入的研究,在编码机制、人工评估等模块进行了大胆的创新和尝试并取得了不错的效果,最终建立了以该方法为基础的系统模型,完成了交互式遗传算法作曲的实验过程。

[1] 张英俐,刘弘,李少辉. 遗传算法在作曲中的应用[J].计算机应用研究 2005.11 143-145.

[2] 崔嘉. 遗传算法在计算机辅助乐曲创作中的研究与应用[D]. 曲阜:山东师范大学, 2007.

[3] 曹西征,曹英,范海菊. 学前儿童乐曲的计算机生成研究[J].计算机应用与软件 2010.6:

[4] Fraser. A. Simulation of genetic systems by automatic digital computers[J]. Australian Journal of Biological Science. 1957(10) 484-491.

The Design of the Intelligent Composing System Based on IGA)

Guo Hengze,Wang Lei)

(School of Electronic and Information Engineering,Tongji University,Shanghai 201804,China)

Algorithmic composition is a kind of research to minimize the degree of intervention of the composer in use of computer in music creation by a formal process. Rapid development and application of GA has attracted the attention of researchers in algorithmic music composition, the strengths like high robustness, good convergence and faster operation speed inspire the researchers to make it combined with music creation. Music works can’t live without “inspiration”, a good song must be full of emotion of the creator, and IGA composition can maximize the direct feelings of the composers. The paper mainly introduce the architecture and implementation of the composing system based on IGA, makes innovation and implementation in encoding mechanism, artificial assessment and human-computer interaction and so on.

Genetic algorithm; Music creation; IGA; Artificial assessment

国家自然科学基金项目(61075064,61034004,61005090康琦),教育部新世纪人才计划项目(NCET-10-0633),上海市金融信息技术研究重点实验室开放课题支持

郭衡泽(1990-),男,同济大学,硕士研究生,研究方向:智能算法,算法作曲,上海 201804 汪 镭(1970-),男,同济大学,教授,博士生导师,研究方向:智能控制,上海 201804

1007-757X(2017)02-0010-04

TP311

A

2016.03.22)

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!