logo资料库

论文研究-基于特征旋律挖掘的二阶马尔可夫链在算法作曲中的研究与应用.pdf

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
第 * 卷第  期 + 年  月 计 算 机 应 用 研 究 '0* ' )0,& ,'! ;/ 1& '8'1/ 7 1%+ 基于特征旋律挖掘的二阶马尔可夫链在 算法作曲中的研究与应用 郑银环  王嘉珺  郭威  王备战  %厦门工学院 计算机科学与工程系 福建 厦门  %厦门大学 软件学院 福建 厦门  摘要 算法作曲是如今国内外许多研究者和作曲家都十分关注和颇感兴趣的一个新兴交叉学科研究领域 首先针对算法作曲领域内已有的各类研究做了资源整合归纳在此基础上结合平时的探究与思考尝试设计和 提出一种新的用于音乐片段分析与特征旋律挖掘的 C7 ,!14 0/3!&,!,!" 算法即音程序列挖掘算法 该算法是从用于关联规则挖掘的 )1,'1,算法思想中获得启发结合相关乐理知识和作曲家作曲的心理过程来 进行设计的它以挖掘到的音乐片段中出现次数最多并相对较长的音程子序列作为该音乐片段的特征旋律并 进一步将该算法和二阶马尔可夫链模型相结合用实验验证了其在生成具有给定训练乐曲音乐风格的新音符序 列时的有效性并以两者结合的方法探索性地创作了一曲名为 % 巴赫创意变奏曲& 的新音乐小品在算法作曲领 域中作了一次新的尝试 关键词 算法作曲 特征旋律挖掘 马尔可夫链 中图分类号 (文献标志码 )文章编号 *++* #',% -.%,//!%*%+%% ;/ 1& !# 0,& ,'! '! /&'!#'1#17 15'4& ,!/ /# '!  10'#,!,!",! 0"'1,,&&''/,,'! !",! !   !"2, .!  D',   !"9,6 !      +'#$$ /' ()$%& /' 0   % &&# /'  /' 0   %  ' # / 0"'1,,&&''/,,'! ,/ ! 1",!",!1#,/&,0,! 11/ 1& 1   !#'/,& !# '1,"! 1 / 1&1/ !# &''/1/ 141&'!&1!# !# ,!1/# ,!%(,/ 1,!"1 # !# &'!&0## 005,!#/'1/ 1& 1 /'1&/',/,!" 0"'1,,&&''/,,'! ! '! ,/ /,/ &',!# , /',!3,1 !# ,!5,!" ,/ 1# /,"!# !# 1''/# ! 0"'1,& 00# C7 ,!14 0/3!&,!,!" '1 ! 06,!"/,&&0,/ !# ,!,!",/ 1 0'#%(C7 0"'1,"',!/,1 ,'! 1''"')1,'1, 0"'1, ,&  //# '1 //'&, ,'! 10,!,!" &',!# , /&'0'",& 01'&//10 # 5!'0#"'/,& !# &''/1 "' 0'C7 0"'1,  /' ,!# ,!14 0//3!& ,&  # ,"/13!& !# 10 ,400'!"0!" ,! /,& 0,&%(,/ 1&',!# C7 0"'1,, /&'!#'1#17 15'4& ,! '#0 !# 4 0,# # &,4!//'&''/,!"!/,&,& , ",4! 1 ,!,!",! "!1 ,'! '/,& 0/0#',!"0'1 '11,!%C&''/# !/,& 0,&! # 9 & &1 ,44 1, ,'!/ ,&  / ! ,! ,0# ' 0"'1,,&&''/,,'!%   0"'1,,&&''/,,'!  10'#,!,!" 7 15'4& ,!/ 引言 早在人类语言诞生之前人们就已经知道如何利用声音的 高低强弱适时停顿等来表达自己的意思和情感   音乐在 人类历史与社会发展进程中扮演着十分重要的角色 相较于 音乐的起源算法的诞生已大大滞后而相较于算法的诞生  算法作曲 概念的出现亦远在其之后迄今仅有短短三四百 学观念认为 美在于数与和谐   这个思想此后几乎影响了 西方整个艺术发展的走向数所表达的和谐感与对称美是艺术 长久以来所追求的理想境界 早期算法作曲是 + 世纪奥地利音乐大师莫扎特  '0 " !") #/7'6 1 于 + 年创作的 7'6 1' //,& 0#,& "  此后 世纪 * 年代初期泽纳基斯  C !!,/! 5,/ 利用随机过程手工生成小乐曲  不使用计算机   到了 * 年的历史 古希腊数学家毕达哥拉斯在对其门徒的教诲中指 年希勒 . 1! ?,001 和艾萨克森  '! 1# C/ &/'! 创作出 出 音乐和算术是不可分割的数字是打开整个精神世界和 世界上第一部完全由计算机生成的乐曲为弦乐四重奏而 物质世界的钥匙而乐音和节奏体系既然是按数字排列就必 作的% 伊利亚克组曲&  C00, &/,'1/1,!"3 1   从此 然体现天地之和谐并与宇宙相对应   毕达哥拉斯学派的美 计算机算法作曲时代开始了 收稿日期   修回日期 基金项目 福建省中青年教师教育科研项目 2+  作者简介郑银环+ 女福建漳州人讲师硕士主要研究方向为数据挖掘数据分析高等教育改革王嘉珺  女硕士研究生 主要研究方向为数据挖掘机器学习郭威  男工程师硕士主要研究方向为机器学习数据挖掘王备战 * 男 通信作者  教授 博士主要研究方向为数据仓库数据挖掘图像处理软件体系结构  !"6$%#%&! %
 *+ 计 算 机 应 用 研 究  第 * 卷  作曲算法 0"'1,'1&''/,,'!是作曲思维与算法思维 一个共同的模式)的难点在于定义适应度函数这个难点也 的有机结合 作曲思维中虽然充满了感性概念但因其与数字 一直限制着 )在算法作曲问题中的应用 ?'1!1等人  用 和符号紧密相关也不乏逻辑和理性思维 随着作曲的发展许 )实现了作曲技术中的主题桥接问题;,& !5 等人  针对 多作曲方法已成体系如福克斯 2' !! 2'/  的对位法 该问题采用了不同的表达及操作集合来进行实验7 13/等 勋伯格 )1!'0# &'!1" 的十二音体系等均有算法规律可 人 * 创作的简短复调旋律使用了一个直接的基因型表达法 循因此可将作曲中的相关概念映射到计算机算法中 一个简单的适应度函数和一个和弦及旋律的点对点评估法实 国内外作曲的算法研究 自  世纪 * 年代起与人工智能相关的许多不同算法开 始被应用在算法作曲领域这些算法涵盖的范围很广包括语 法表示基于规则的知识库系统概率方法  最常用的方法为 马尔可夫链 人工神经网络和进化算法等 语法表示 语法表示方法最著名的是  4,# 8'教授* 用 8''! ,/ 语言开发的音乐智能实验  1,!/,! /,& 0,!00, "!&7C  它采用模式匹配算法来抽取这些被分析的具有特 定风格的音乐作品中短的音乐序列特征并依据这些特征出现 的频率赋予相应权值再使用扩充转移网络  "!# 1 !/, ,'! !'15)(来组织所获得的特征生成在音乐风格上与 被分析的乐曲相近的新音乐作品 但语法表示存在以下问题  大部分的音乐 如即兴作品 并没有音乐语法那样的层 验结果还是可以接受的 由于适应度函数不易准确定义之后 的研究者还提出了让人来代替适应度函数直接评估候选解 这种方式成为交互式的遗传算法  ,!1 &,4"!,& 0"'1, CD) 不过与 CD)相关的方法中存在如下问题  主观性 因其凭借人的判断与评估来决定最终结果  不有效性 用户要在听到所有可能的候选解之后才 可以作出具有普遍性的判断与评估 其他作曲算法  文献  应用基于贝叶斯网的作曲方法主要针对音乐自 身的不确定性展开研究在生成高音方面有较好效果 遗传算 法也是一个应用广泛的算法张英俐等人 + 采用基于规则 的交互式遗传算法使得乐曲向有利于生成主题的方向进化所 作乐曲能够满足人们的欣赏要求 特征旋律挖掘算法的设计 级结构所以此方法存在一定的模糊性   灵感来源/&$算法思想的影响  多数情况下为了处理模糊性对音乐作品解析起来将 会耗费巨大的计算资源 & 大部分的音乐语法实现都没有对音乐作品的语义加以 严格声明 马尔可夫链 音乐是由一系列的音符组成的这些音符连续排列构成音 符序列 由不同的演奏家用不同乐器演奏同一个音符序列所 奏出的旋律虽大致相同但风格迥异 若要挖掘音符序列的特 征很自然地联想到在序列模式挖掘中经常使用的关联规则挖 掘算法)1,'1,算法 马尔可夫链其实是一个简单的随机过程在离散的时间 )1,'1,算法虽然可以挖掘出一个序列中同时出现的高频 中各个时刻的状态在一个有限的  或者至少是可数的 状态 项集但所挖掘出来的各项之间通常是离散的而音乐作品是 集合中转换且下一个状态只取决于当前状态与当前状态之 一个连续的音符序列行进过程 若将 )1,'1,算法直接用于音 前的状态序列无关 即马尔可夫链的无后效性  马尔可夫链 符序列的分析与挖掘则只能找到若干出现过共同音符的集 是早期 的 算 法 作 曲 研 究 中 一 个 非 常 流 行 的 方 法 (,,   合这些虽有联系却相互隔离的音符打破了音乐本身的连贯 + 2'!/  !"/'!  使用了动态计算的权 值   '1   )/ 性因此将该算法直接用于音乐旋律的挖掘意义不大 笔者 等作曲家  将形式化的方法解构以适应他们各自的具体目 借鉴了传统的 )1,'1,算法提出了适用于音符序列挖掘的 C7 的,/00  使 用 隐 含 马 尔 可 夫 模 型  ,##! 7 15'4'#0 算法 ?77 实现了一个手动调音的实时生成艺术系统 ?77通常 +算法的设计 用在已有的音乐作品基础上增加一些元素如最常见的有进行 对位法的生成及和弦的配置等 马尔可夫链中存在的问题包括  低阶马尔可夫链产生的音符序列只抓住了已有音乐语 料库中乐曲的局部统计相似性往往产生出奇怪而不合调的音 乐作品音符序列是漫无目的的缺乏对音乐片段上下文的 感知  高阶马尔可夫链不断利用一长串先前的音符来产生出 下一个音符这势必造成巨大的计算资源开销 由于存在上述这两点不足马尔可夫链通常用于生成音乐 原材料以启发作曲家的灵感而不是真正意义上的自动作曲方 法 随着其他算法的发展虽然近年来研究人员对于在算法作 曲领域中应用马尔可夫链方法的研究兴趣有所减退但该方法 在作曲家之间仍然颇为流行 进化算法 C7 ,!14 0/3!&,!,!" 算法即音程序列挖掘  或 音程串挖掘   在描述算法之前 先简单介绍此算法能做什 么 以贝多芬% 8小调第五交响曲& 为例如图  所示 与图中对应的音符序列为 DDD  这里用乐 音体系中的音名来表示为了描述方便暂时不考虑音符所在 的音组  C7算法针对这个音符序列要求得它的特征旋律  即该音乐片段的一个短的音程子序列 必须满足两个基本 条件  该音程子序列出现的频率要尽可能高  该音程子序列的长度要尽可能长 其中条件  为首要条件即如果有两个最优候选音程子 大部分进化算法  4'0,'! 1 0"'1,) 几乎都遵循 序列 /和 2其中 /的长度为 出现的频率为 2的长度为
第  期 郑银环等基于特征旋律挖掘的二阶马尔可夫链在算法作曲中的研究与应用 *+  出现的频率为  那么根据两个基本条件由 C7算法所选 机性较大在此基础上进一步于 7)中设计并实现了二阶马 出的特征旋律应为音程子序列 2 尔可夫链模型如图 * 所示 在上述 DDD 音符序列中最终得到的特征 旋律应为   其中  # )98D$  这三个音 组成的子音符序列 本文中音符序列采用 7CC接口标准所以中央 8开始的 基本音级序列 8D)9 对应的数字编号即为   *    亦即 8 和 D)9 这两部分的相邻两个 音之间均间隔两个半音而   与   之间只间隔一个半音 在设计 C7算法时也沿用这样的数字编号来表达音符的绝 对音高 这样音高就得以映射到算法中了 对于音程为了方便算法的设计在本文所提出的 C7算 法中为其构造了一套简单有效的编码方式即采用三位数字来 对音程进行编码如图  所示 通过寻找出现频率最高并尽可能长的音程子序列来进行 特征旋律线条的挖掘 首先音程序列可以较好地反映旋律的 高低变化起伏波动之态势其次用挖掘音程子序列的方式来 寻找特征旋律还可以使找出的旋律在生成新的音乐作品时更 具有普适性即该旋律不会只发端于固定的某个音高上而可 能会在不同的音高上以该旋律线条出现让所生成的乐曲更符 合由人创作的乐曲所具有的特点 特征旋律得以反复地出现 在各个音高层次上如此便可表达出作曲者在乐曲进行的各阶 段所想表现的不同情感 C7算法是对音程序列进行挖掘而不是对音高序列进行 挖掘所以得出的是更具有普适性的特征旋律线条而不是固 定在以某个音高为开端的旋律线上 如图  所示五线谱下方 的旋律线大致指明了这个音符序列的音高走势其中加粗的两 段子旋律即为 C7算法最终期望挖掘到的特征旋律 寻找特征旋律实际上就是寻找出现频率最高并尽可能长 的音程子序列 故 C7算法的核心理念或者说其本质就是在 一个给定的字符串中找出出现频率最高的连续的子字符串并 以%欢乐颂&为例通过观察该乐曲的旋律发现  : 与 * : 且该子字符串应尽可能地长一些 + 小节只有末尾两个音不同其余各音均相同因此它们的旋律 在论证了 C7算法所要挖掘的特征旋律须符合的两个基 起伏上是基本一致的 而 * :+ 与  : 小节相比只有在第  本条件后将用自然语言流程图及伪代码三种描述相结合的 和  小节中有一个音的差别此外它们的旋律也是基本一致 方式对 C7算法的设计思路进行详细阐述 C7算法的流程 的 为了方便实验描述而又不失一般性分别选取  : 小节和 如图  所示 实验设计与结果分析 二阶马尔可夫链模型建构  : 小节来进行两组对比实验 %欢乐颂& : 小节中与音符 序列对应的 7CC编码序列为  *   *           在二阶马尔可夫链模型的程式中使用 /0,#1进 行音源输入模型训练完成后如图  所示 接着用马尔可夫链模型生成一系列新的音高值 为便于 经过实验验证发现一阶马尔可夫链在生成新音符时的随 旋律的比较取与原音高值序列的开头音一致的音高值为起
 *+ 计 算 机 应 用 研 究  第 * 卷  点即以 7CC编码为    的音为起点分别记录三组生成的 二阶马尔可夫链模型生成的结果为    *    新的音高值序列如表  所示 其中每组生成的新音高值序 列的长度与原音高值序列的长度一致 *   *  *      *    *   *       *    将两组实验生成的数据用 ;语言中最基本的绘图函数来 制成折线图如图 + 所示 图 + 为第  组实验的结果其中 黑色的均为原乐曲的旋律线红色的均为新生成的旋律线  见 电子版  表 二阶马尔可夫链模型生成的三组新音高值序列 组号 生成的新音高值序列    *   *      *   *   *   *        *     *   *           % 欢乐颂& : 小节中与音符序列对应的 7CC编码序列 为      *     *     **    *   *  *          二阶马尔可夫链 模型训练完成后结果如图  所示 二阶马尔可夫链模型在生成新旋律时能较好地模仿原乐 曲的旋律起伏走向但仍存在一定的随机性生成的旋律中也 存在少数离群值而影响旋律的连贯性 若将 C7算法结合到 二阶马尔可夫链模型生成音高值序列的过程中可以改进生成 乐曲的旋律线使其更加连贯和接近原曲的旋律特征和音乐风 格 因此在上述第  组实验的基础上进一步将 C7算法与二 阶马尔可夫链模型相结合来进行旋律的创作以对猜想加以验 证 本次实验仍旧使用 % 欢乐颂& 的  : 小节为训练数据 首先将这组数据      *     *     **    *   *  *         作为 C7算法的输入运行程序得到的结果如图  所示 从图  中可以看出C7算法找出的带有旋律特征的音 程子序列的最优解为  它的含义为一个由三个音组 成的音高子序列从第一个音高开始上行两个半音再上行两 个半音 从输入的音高值序列中容易观察到这个序列其实就 是   即 8 并且该序列确实出现了三次 挖掘 出这个音程子序列后就可以在二阶马尔可夫链生成音高序列 的过程中有意识地实时观察和控制序列的生成作曲者可在 适当的时候改变马尔可夫链的状态 比如随着旋律的发展当 出现了 8 音作曲者可以主动控制将其后的   音生成 再由二阶马尔可夫链继续随机生成音高序列 这就形成了人 图 二阶马尔可夫链模型中输入  : 小节后的结果 机交互的过程 在该实验中运用挖掘到的这个音高序列对
第  期 郑银环等基于特征旋律挖掘的二阶马尔可夫链在算法作曲中的研究与应用 *+  与第  组实验的二阶马尔可夫链模型生成新的音高序列的过 生成了一些新的小节视为  变奏  这有点类似三部曲的感 程再一次进行实验并加以适当控制所得的实验结果为   觉开头是风格 )中间经过变奏到了风格 9最后又回到了风 *     *   *      *    *   *       *     格 )上只是类似但绝不是真正意义上的三部曲 实验的结 果听起来还是能够保持整体一致的音乐风格创作之余旋律 图  是以该实验结果绘制而成的折线图其中黑色的同样 萦绕在耳边仿佛时光又回流到了巴洛克时期 是原乐曲的旋律线红色的是新生成的旋律线参见电子版  结束语 C7算法还处于初级阶段存在以下不足  C7 算法与 二阶马尔可夫链的结合只能对单声部旋律进行分析并生成新 的单声部乐曲旋律不能对和声和弦多声部等音乐中的重要 因素进行分析这是由马尔可夫链方法本身的限制所引起的 从图  中可以看出C7算法与二阶马尔可夫链模型相 若要进行和声配置和弦配置对位法中的对位声部生成乐曲 结合后所生成的新旋律线与原乐曲旋律更加吻合而且人机交 的伴奏配置等就要使用到隐含马尔可夫模型 C7算法在 互过程中作曲者对马尔可夫随机过程的适当控制使旋律的 实验时所挖掘出来的音程子序列往往较短尤其是在输入的音 发展维持在可控范围内生成与原音乐作品风格更协调一致的 高值序列较长时挖掘出来的仍为较短的旋律线不容易把握 新作品也更为高效和便捷 至此猜想也得以验证 音乐的整体旋律风格 原因可能出在 C7算法选择音程子序 探究性实验生成新的音乐小品 列的筛选机制上如何在音程子序列的长度和该序列出现的频 在验证了 C7算法与二阶马尔可夫链模型相结合来进行 率之间权衡以求得更佳的挖掘结果有待进一步探究 算法作曲的有效性后再进行一个探究性的实验即用该方法 参考文献 创作一个较为复杂的乐曲以考察其实用性    鲁小茜%论中西方音 乐 的 起 源  2 %现 代 阅 读 教 育 版  选取巴赫的 8自然大调二部创意曲的旋律部分作为实验   % 素材通常在钢琴乐曲中高音声部为旋律使乐曲有一个明朗 优美的线条而低音声部为伴奏主要是使乐曲富有节奏的变    唐纳德 杰 格劳特 克劳德 帕利斯卡%西方音乐史  7 %余 志刚 译%北京 人民音乐出版社 %    李超%规则分形在算法作曲中的应用   %武汉 武汉音乐学 化 大调式简称为大调由七个音构成它包括自然和声及旋 院 % 律大调三种其中自然大调是大调中最常见的一种 8自然大 调是由8D)9七个音构成乐曲的结束音通常为8    2140 ,!! ?%)0"'1,,&/,& 0&''/,,'! 9-E %   %  --%0%55%,-#,/-(,5%+ - - 1/- ! 极少数情况下例外这里暂不考虑例外情况 该实验生成的音 ! - 0&'%#% 乐小品%巴赫创意变奏曲&的乐谱共 + 小节如图  所示  *  8'%8'1'#0,!"'/,& 0,!00,"!&,! 7C 2 % #$%&'0 1$(     +%    ;' #/8%D1  1/ /11/! ,'!/'1/,& 7 --'!# ,'!/ '8'17/,&%8 1,#" 7C(1// +*  %   (,,%7  &'11'"1 '1/,&&''/,,'! 8 --1'& ' !# )!! 07/,&8' ,'! 8'!1!&%* +%  +  2'!/%8''/,,'! 0 0,& ,'!/'/'& /,&1'&/// 2 % #$%&'0 1$( +   *%     !"/'! %,&!,3/'1 0"'1,,&/,&&''/,,'!  8 -- 1'&'C!1! ,'! 08'!1!&'! 8'17/,&%+%   '1 (%)&!,& 00 ! ,'! ' !# 4 1, ,'!/ &'1 /,&'15 ,0,6,!"!'15 &''/,,'! 0 0"'1,/ 9-E %  --%'1%'1"-'1 -E;(?%%    )/8 ',!'7%81!,&&''/1 ! '414, 7 --A!#1 / !#,!"7/,&, )C%8 1,#" 7C(1//  +*%    ,/00%'! !'/'1" !,/ ,'!  1! '#0/ !# /,& 2 % +$     **%    ?'1!1) D'0#1"%D!,& 0"'1,/ !# &'1 //,/# /,&&''/,,'!  8 --1'&'C!1! ,'! 08'!1!&'! D!,& )0"'1,/%  %   ;,& !5  ?' , 1) D%D!,& 0"'1, &''// /,& 8 --1'&'' /1! '/, '! / ('1%  % *  7 13/7 E0,4,1  ,,1  &%7/,&&''/,,'! /,!" "!,&4'0,'! 1 0"'1,/ 8 --1'&'C 8'!1!&'! 4'0,'! 18' ,'!%  %    翁诗杰 李维华 丁海燕%基于贝叶斯网研究自动作曲中音高的 表示和推理 2 %计算机科学     %   张英俐 刘弘 赵永升等%交互式遗传程序设计在作曲中的应 用 2 %控制工程 *   %  +  张英俐 刘弘 宋宝亚%一种交互式遗传算法生成带主题乐曲的 本次实验产生的曲子之所以称为 % 巴赫创意变奏曲 & 是 因为其中的  : 和  :+ 小节分别为原曲的开头和结尾的 六个小节算法只生成中间的  : 六个小节所以大体上仍 为巴赫所作的创意曲只是中间部分删除了一些小节又在此 方法 2 %数学的实践与认识    *%
分享到:
收藏