基于遗传算法的音乐创新作曲模式分析
2018-12-25詹雯河南师范大学计算机与信息工程学院
詹雯 河南师范大学计算机与信息工程学院
1 引言
近年来,很多学者开始尝试以进化算法进行测试乐谱编写的研究,而且已经成为了该领域的研究热点。该方法是收到自然进化发展思想的影响而逐步形成的,属于一种全局概率收缩。近年来,国内外很多学者都开始在音乐创新作曲中尝试运用进化算法,而且取得的成果也是十分可喜的。然而,由于基于进化算法得到测试数据,要求全部的测试数据都需要进行插装运行,进而实现对测试数据性能的有效分析,这就导致了所需耗费的时间是较长的。
2 遗传算法分析
遗传算法是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。它是由美国的J.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。遗传算法的这些性质,已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它是现代有关智能计算中的关键技术。
对于音乐创新作曲问题,从本质上是可将其归入到测试数据问题的,可将其概述为,对于测试程序,给定其特定的目标路径,要求从程序输入空间中找寻能够使得输入之后经过目标路径的测试数据。为了能够得到符合要求的测试数据,所需要经历的时间是较长的,对该问题的自动求解,能够使得测试人员所需承担的工作量大大降低,而且音乐创新作曲效率也能够得到极大提高,进而推动软件质量的提高。
3 遗传算法在音乐创新作曲中的应用
在近年,将进化算法运用到音乐创新作曲中,已经成为了当前音乐创新作曲领域中的重要研究方向,而且该方法的潜力也是十分巨大的。该方法的实现首先要求能够确定最佳的适应值函数,进而使得测试数据生成问题能够进行转换,形成等价的函数优化问题。而且进化阶段中,要求插装后的程序在输入测试数据后才可运行,以此方式获得音乐节拍,因此所产生的程序运行代价是较大的。目前很多学者都对音乐创新作曲进行了深入研究,取得的研究成果也是众多的。在本文中对于音乐节拍以遗传进行有效模拟,以此方式使得程序运行时间得以有效控制,故此,进行测试乐谱编写时,仅需利用较为基本的方法即可,由于在被测程序中,所对应的目标音乐节拍并不是唯一的,而每次算法运行,仅能够对其中的一种音乐节拍进行测试,由此得到对应音乐节拍的测试数据,因此音乐节拍数量对应着算法需要进行的次数。
遗传算法针对以往音乐计算研究中使用符号特征的不足(计算机更容易理解数字表达),以及GAN的优势,训练预测数据为作者下载的古典MIDI音乐,使用Tone length, Frequency, Intensity 和Timing作为特征。生成网络结构为2层单向LSTM,对抗网络为2层双向LSTM,每次生成指定长度×88音阶数据。
首先,要求能够得到一定的测试数据,可将程序进行插装以获得真实适应值,由此得到实验需要的样本数据。随后,通过样本使得遗传得到训练,当训练完成之后以这些遗传来对音乐节拍进行大致评估,从中选择优秀的个体,即那些具有较好适应值的,随后进行程序运行以此方式从中得到实际的适应值水平。此外,因为在本文方法中对于音乐节拍是以遗传进行的评估,故此,如果目标音乐节拍是相同的,只需要在初始阶段对遗传进行训练,在后期的运行中是无须对其进行更新的。为了提高分析结果的科学性,我们需要对于各项分析指标,包括时间、覆盖率等都利用T检验展开了分析。而且还需要对时间和评价次数采取归一化处理,以确保全部的程序所得到的结果处于相同的数量级上。本文所提出的方法能够确保算法性能的基础上使得算法时间得到有效控制,降低时间消耗,尤其是在大规模程序中,这种时间优势更加突出,是能够确保时间得到极大节省的。
4 总结
在本文中则通过遗传将被测音乐节拍进行了替代,以此方式来评估音乐节拍,由此大大减少了由于程序运行而导致的时间代价。而且本文方法对于规模较大、结构较为复杂的程序具有的优势更加突出。