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

所需积分/C币:24 2019-07-22 22:07:39 2.18MB .PDF

算法作曲是如今国内外许多研究者和作曲家都十分关注和颇感兴趣的一个新兴交叉学科研究领域。首先针对算法作曲领域内已有的各类研究做了资源整合、归纳,在此基础上,结合平时的探究与思考尝试设计和提出一种新的用于音乐片段分析与特征旋律挖掘的ISM(interval sequence mining)算法,即音程序列挖掘算法。该算法是从用于关联规则挖掘的Apriori算法思想中获得启发,结合相关乐理知识和作曲家作曲的心理过程来进行设计的,它以挖掘到的音乐片段中出现次数最多并相对较长的音程子序列作为该音乐片段的特征旋律,并进一步将该算法和二阶马尔可夫链模型相结合,用实验验证了其在生成具有给定训练乐曲音乐风格的新
第3期 郑银环,等:基于特征旋律挖諷的二阶马尔可夫链在算法作曲中的研究与应用 851 3,出现的频率为4。那么根据两个基本条件,山ISM算法所选机性较大,在此基础上进一步于MAX中设计并实现了二阶马 出的特征旋律应为音程子序列Y。 尔可夫链模型,如图5所小。 在上述“ G FFFI”音符序列中,最终得到的特征 旋律应为“NNN”(其中,N={A,B,C,D,E,上,G|)这三个音 设定最小支持度 min-support=2, 组成的子音符序列。 输入绝对音高MID編码序列str 本文中音符序列采用MIDI接口标准,所以中央C开始的 出 getIntervalSeq(string st法得到与原输入序列 基本音级序列“ CDEFGAB”对应的数字编号即为“606264 对应的三位数编码音程序列 intervalLey 65676971”,亦即“CDE”和“FGAB”这两部分的相邻两个 search subsec)方法 AN=2N为音程子序列的长度,也称为M阶) 音之间均间隔两个半音,而“E”与“F”之间只间隔一个半音 将 intervalEs拆分为单个音程元素 在设计ISM算法时,也沿用这样的数字编号来表达音符的绝 保存在 eachlnterval数组中 对音高。这样音高就得以映射到算法中了。 杓造 unilntcrvalScq数组,用于存放不重复 出现的音程子序列,并构造下枟与之对应的 对于音程,为了方便算法的设计,在本文所提出的ISM算 frequency数组存人各音程子序列的频率值 法中为其构造了一套简单有效的编码方式,即采用三位数字来 对音程进行编码,如图2所示。 min supp 音程用三位数编码表示为:{¥XX 将 frequency中的最大值保在变量 maxFrequency中 0:正,音程上行 音程变化量: intervali, i+1)=pitch(i+ 1)-pitch(ol 否存在 equency 否 max Frequency 1:负,音程下行 是 (特例:若音程变化量为00,即同音进行,加前缀") 将所有 frequency所对应的 uniIntervalSeq中的 图2音程的三位数编码方式 音程了序列保存 Tfinalresult'数组中 曲过寻找出现频率最高并尽可能长的音程」序列来进行 打印出侍征旋律血 nalResul及其频率 maxtrequency 特征旋律线条的挖掘。首先音程序列可以较好地反映旋律的 结束) 高低变化、起伏波动之态热;其次,用挖掘音程子序列的方式来 图4ISM算法流程 寻找特征旋律还可以使找出的旋律在生成新的音乐作品时更 具有普适性,即该旋律不会只发端于固定的某个音高上,而可 reset 能会在不同的音高上以该旋律线条出现,让所生成的乐曲更符 stripnote s bang I 合山人创作的乐曲所具有的特点。特征旋律得以反复地出现 在各个音高层次上,如此便可表达出作曲者在乐曲进行的各阶 段所想表现的不同情感。 makenote 100 200 ISM算法是对音程序列进行挖掘,而不是对音髙序列进行 bucket notou 挖掘,所以得出的是更具有普适性的特征旋律线条,而不是固 定在以某个音高为开端的旋仹线上。如图3所示,五线谱下方 的旋律线大致指明了这个音符序列的音高走势,其中加粗的两 段∫旋律即为ISM算法最终期望挖掘到的特征旋律。 na|163841 dump 杂用 256 clear 旋律线 %128 图3贝多芬《C小调笫五交响由》开头部分的旋律线 寻找特征旋律实际上就是寻找出现频率最高并尽可能长 的音程子序列。故ISM算法的核心理念或者说其本质就是在 图5二阶马尔可夫链模型 个给定的字符串中找出出现频率最高的连续的子字符串,并 以《欢乐颂》为例,通过观察该乐曲的旋律发现1~4与5 且该子字符中应尽可能地长一些。 8小节只有末尾两个音不同,其余各音均相同,因此它们的旋律 在论证了ISM算法所要挖掘的特征旋律须符合的两个基起伏上是基本一致的。而5~8与13-16小节相比,只有在第6 本条件后,将用自然语言、流程图及伪代码三种描述相结合的和14小节中有一个音的差别,此外它们的旋律也是基木一致 方式对ISM算法的设计思路进行详细阐述。ISM算法的流稈的。为了方便实验摧述而又不失一般性,分划选取14小节和 如图4所示。 9-16小节来进行两组对比实验。《欢乐颂》-4小节中与音符 序列对应的MID编码序列为“6464656767656462606062 3实验设计与结果分析 64646262”。在二阶马尔可夫链模型的程式中使用 Slider进 行音源输入,模型训练完成后如图6所示。 3.1二阶马尔可夫链模型建构 接着,用马尔可大链模型生成一系列新的音高值。为便于 经过实验验证,发现一阶马尔可夫链在生成新音符时的随旋律的比较,取与原音高值序列的开头音一致的音高值为起 852 计算机应用研究 第35卷 点,即以MIDI编码为“64”的音为起点,分别记录三组生成的 阶马尔可夫链模型生成的结果为“2,4,5,4,0,2 新的音高值序列,如表1所小。其中,每组生成的新音高值序 5,4,4,5,4,5,4,2,0,0,2,-5,4,4,4,5,7,7,5, 列的长度与原音高值序列的长度一致。 4,2,0,0,2,4,5,4,0”。 x console 将两组实验生成的数据用H语言中最基本的绘图函数来 prob- transition probabilities prob talal weights or stale 7998: 0 制成折线图,如图8、9所示。图8为第1组实验的结果,其中 prob. from 8000 to 8256: 1 prob- total weights for state 8000: 1 黑色的均为原乐曲的旋律线,红色的均为新生成的旋律线(见 //42 to 8000: prob. total weights or state 7742: 1 电子版)。 prob. from 7740 to 7742: 1 66 prob total weights cr state 7740: 1 prob·fom79st77401 prob. total weights for stato 7996 62 prob· from 82s4to7ss8 preb· from 8254to7gge prob. total weights or state 8254 pr。 o from E4to8254:1 note sequence prob- total weights for atate 8384: 1 66 prob- from 8641 to 8384: 1 prob. total weights for state 8641: 1 to8641:1 兰62 prob. total weights or state 8387: 1 note sequence prob. from 8257 to 8387: 1 pr。b· total weights for state82bi prob from 8256 to 8264: 64 prob. from 8256 to 8257 prob total weights cr state 8256: 2 prob·frm4toB256:1 prob. total weights for state 64: 1 note sequence 图6二阶马尔可夫链嗅型中输入1-4小节后的结果 图8二阶马尔可夫链生成结果(14节折线图 表1二阶马尔可夫链模型生成的三组新音高值序列 4 生成的新音高值序列 1646465676765646260606465676765 646567676564626060626464656767 101520253035 646567676564626060626464626060 note sequence 图9二阶马尔可夫链生成结果(0-16节)折线图 欢乐颂》9~16小市中与音符序列对应的MIDI编码序列 为“6262646062646564606264656462606255646464 二阶马尔可夫链模型在生成新旋律时能较好地模仿原乐 6567676564656260606264626060”阶马尔可夫链出的旋律起伏走向,但仍存在一定的随机性,生成的旋律中也 模型训练完成后,结果如图7所示。 存在少数离群值而影响旋律的连贯性。若将ISM算法结合到 阶马尔可大链模型生成音高值序列的过程中,可以改进生成 prob transition probabilities: 乐曲的旋律线,使其更加连贯和接近原曲的旋律特征和音乐风 from 7740 to 774 e7740 格。因此在上述第2组实验的基础上,进一步将ISM算法与二 total 阶马尔可夫链模型相结合来进行旋律的创作,以对猜想加以验 total Late 8041=1 from otal weights for state 8643:1 prob- from 8387 to 8643: 1 本次实验仍旧使用《欢乐颂》的9~16小节为训练数据。 prob total weights for state 8387:1 prob- from 8256 to 8257:1 首先将这组数据“626264606264656460626465646260 pr。hfom256ta?56:1 prob total weights for tato 8256: 2 62556464646567676564656260606264626060”作为 prob- total weights for state 7104:1 ISM算法的输入,运行程序得到的结果如图10所示。 prob from 7991 to 7104- 1 prob- total woighte for cato 7901: 1 目 Consol from 7996 to 7740- 2 prob- from 996 to /742:1 <termina: ed> ISM [Java App icat on] /Library/Java/JavaVirtualMachines/jdk180_45jck/Contants/Home bin/jav otal weights for state 7996:3 音程序列挖掘结果为 prob- from 825 to 7906: 2 在该音高序列所对立的音程序列中,带有旋律特征的音程子序列的最高频率为:3 prob- total weights for state 8254: 2 符合要求的音程了亭列为: prob·fom8384LO825 prob- from 8384 to 82 prob- from B384 to 8252: 1 图10ISM算法运行结果 prob tal weights for state 8384. 3 从图10中可以看出,ISM算法找出的带有旋律特征的音 prob· total n82574 程子序列的最优解为“002002”,它的含义为:一个由三个音组 成的音高子序列,从第一个音高开始上行两个半音,再上行两 from 8252 to 7742 个半音。从输入的音高值序列中容易观察到,这个序列其实就 prob. total weights for state 8252: 2 是“606264”,即¨CDE”,并且该序列确实出现了一次。挖掘 prob- frorn 8000 to B254: 1 prob. from 8000 to 8257: 2 出这个音程子疗列后,就可以在二阶马尔可夫链生成音高序列 from 8000 to B252: 1 prob. total weights for state 8000: 4 的过程中,有意识地实时观察和控制序列的生成,作曲者可在 prob. frorn 7998 to 8000: 1 prob. from 7998 to 7998: 1 适当的时候改变马尔可夫链的状态。比妇随着旋律的发展,当 prob. total weights for state 7998: 2 prob rom 62 to 7998: 1 出现了“C”音,作由者可以主动控制,将其后的“DE”音生成 prob. total weights for state 62:1 再由二阶马尔可夫链继续随机生成音高序列。这就形成了人 图7二阶马尔可夫链模型中输入9-16小节后的结果 机交互的过程。在该实验中,运用挖掘到的这个音高序列,对 第3期 郑银环,等:基于特征旋律挖諷的二阶马尔可夫链在算法作曲中的研究与应用 853 与第2组实验的二阶马尔可夫链模型生成新的音高序列的过生成了一些新的小节,视为“变奏”。这有点类似三部曲的感 程再一次进行实验并加以适当控制,所得的实验结果为“2,4,觉,开头是风格A,中问经过变奏到了风格B,最后又回到了风 5,4,0,2,4,5,4,4,5,4,2,0,0,2,-5,4,4,4,5,7,格A上,只是类似,但绝不是真正意义上的三部曲。实验的结 7,5,4,2,0,0,2,4,5,4,0,2”。 果听起來还是能够保持整体一致的音乐风格,创作之余,旋律 图1l是以该实验结果绘制而成的折线图,其中黑色的同样萦绕在耳边,仿佛时光又回流到了巴洛克时期 是原乐曲的旋律线,红色的是新生成的旋律线(参见电子版)。 4结束语 ISM算法还处于初级阶段,存在以下不足:a)ISⅥ算法与 05101520253035 二阶马尔可夫链的结合,只能对单声部旋律进行分析并生成新 note sequence 的单声部乐曲旋律,不能对和声、和弦、多声部等音乐中的重要 图11ISM算法与二阶马尔可夫链模型相结合的实验结果 因素进行分析,这是由马尔可大链方法本身的限制所引起的 从图11中可以看出,ISⅥ算法与二阶马尔可夫链模型相若要进行和声配置、和弦配置、对位法中的对位声部生成、乐曲 结合后所生成的新旋律线与原乐旋律更加吻合,而且人机交的伴奏配置等,就要使用到隐含马尔可夫模型;b)ISM算法在 互过程中,作由者对马尔可夫随机过程的适当控制,使旋律的实验时所挖掘出来的音程子序列往往较短,尤其是在输入的音 发展维持在可控范围内,生成与原音乐作品风格更协调一致的高值序列较长时,挖掘出来的仍为较短的旋律线,不容易把握 新作品乜更为高效和便捷。至此,猜想乜得以验证 音乐的整体旋律风格。原因可能出在ISM算法选择音程子序 3.2探究性实验——生成新的音乐小品 列的筛选机制上,如何在音程子序列的长度和该序列出现的频 在验证了ISM算法与二阶马尔可夫链模型相结合来进行率之间权德以求得更佳的挖掘结果有待进一步探究。 算法作曲的有效性后,再进行一个探究性的实验,即用该方法参考文献 创作个较为复杂的乐曲,以考察其实用性 LⅠ」鲁小芮.论中西方音乐的起源J」.现代阅读:教育版,2011 选取巴赫的C自然大调二部创意曲的旋律部分作为实验 (6):13-14 素材,通常在钢琴乐曲中高音声部为旋律,使乐曲有一个明朗2纳德,杰格劳特,克劳德,帕利斯卡,西方音乐史[M,余 优美的线条,而低音声部为伴奏,主要是使乐曲富有节奏的变3]李超,规刚分形在算法作曲中的应用[D]式汉:式汉音乐学 化。大调式简称为大调,由七个音构成,它包括自然、和声及旋 律大调三科,其屮自然大调是大调中最常见的一科。C自然大[4] Jarvelainen h. Algorithmic musical composition[EB/OL].(2000 调是由“ CdEFGAB”七个音构成,乐曲的结束音通常为“C” http://www.tml.tkk.fi/studIes/tik-111.080/2000/papers/han- 极少数情况下例外,这里暂不考虑例外情况。该实验生成的音 [5 Cope D. Compuler modeling of musical intelligence in EMIL J] 乐小品《巴赫创意变奏曲》的乐谱(共18小节)如图12所示。 ter Music Journal, 1992, 16(2): 69-83 巴赫创意变奏出 [6 Roads C. Grammars as representations for music[ M//Foundation ISM 2nd-order markov chains of Computer Music. Cambridge: MIT Press, 1985: 403-442 示的 [7] Tipei S. MPl: a computer program for music composition[ C]//Proc of the 2nd Annual Music Computation Conference. 1975: 68-62 「81 Jones k. Computer Music Journal, 1981, 5(2): 45-61 9 Langston P. Six techniques for algorithmic music composition[C// Proe of International Conference on Computer Music. 1989 [10 North T. A technical explanation of theme and variations: a computer musir work utilizing network comp(sit ional algorithms[ EB/OL..ht tp://www.extemporeorg/horth/nortii.htm L 11 Ames C, Domino M. Cybernetic composer: an overview I M]//Undet standing music with al. Cambridge: Mit Press 1992. 186-205 [12] Visell Y. Spontaneous organisation, pattern models, and music[J] Organised Sound, 2004, 9(2): I51-165 13 1 Horner A, Goldberg D E. Cenetic algorithms and computer-assisled usic composition[C]//Proc of International Conference on Genetic algorithms.1991:337-44 [14 Rieanek K, Homaifar A, Lebby G. Genetic algorithm composes mu , sie[ C]//Proc of Southeastern Symposium on System Theory. 1993 L15 Marques V M, Oliveira V, Vieira S, et al. Music composition using genetic evo-lutionary algorithms C // Proc of IEEE Conference on 图12由ISM算法结合二阶马尔可夫链 Evolutionary Computation. 2000:714-719 创作的《巴赫创意变奏曲》乐谱 [16]翁诗杰,李维华,丁海燕.基于贝叶斯网研究自动作曲中音高的 本次实验产生的曲子之所以称为《巴赫创意变奏曲》,是 表示和推理[J].计算机科学, [I7]张英俐,刘弘,赵永升,等,交互式遗传程序设计在作曲中的应 因为其中的1-6和13-18小节分别为原曲的开头和结尾的 用「J].控制工程,2015,22(3):409-412 六个小节,算法只生成屮间的7-12六个小节,所以大体上仍[18]张英俐,刘弘,宋宝亚.一种交互式遗传算法生成带主题乐曲的 为巴赫所作的创意曲,只是中问部分删除了一些小节,又在此 方法[J,数学釣实践与认识,2012,42(16):143-150

...展开详情
img
  • 至尊王者

    成功上传501个资源即可获取

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐