专利摘要
专利摘要
本发明公开了一种基于混合算法的江南小调计算机辅助作曲的方法,具体步骤包括建立江南小调音乐素材库、建立江南小调作曲知识规则库、制定遗传算法的关键规则、提取遗传算法的初始种群和生成江南小调旋律,建立94首的江南小调音乐素材库,用于特征参数提取。本发明通过知识规则库来定义编码规则、遗传算子及适应度函数,利用适应度函数评判机制,从而实现江南小调计算机自动作曲功能,将江南小调的知识规则库用于建立遗传算法中的适应度函数,既可以避免交互式遗传算法的复杂性,还大大提高了适应度函数的准确性,从而提高了整个计算机辅助作曲系统的准确性。
权利要求
1.一种基于混合算法的江南小调计算机辅助作曲的方法,其特征在于,具体步骤如下:
(1)建立江南小调音乐素材库:建立94首的江南小调音乐素材库,用于特征参数提取:
(2)建立江南小调作曲知识规则库:提取声学特征和旋律特征,建立知识规则库,用于遗传算法关键技术的制定;
(3)制定遗传算法的关键规则:对江南小调素材库进行特征参数计算及旋律特征的统计分析,根据提取的特征制定遗传算法的编码规则、遗传算子和适应度函数;
(4)提取遗传算法的初始种群:根据用户选择的调式和速度,从素材库挑选对应的旋律,并提取旋律的第一小节作为遗传算法的初始种群;
(5)生成江南小调旋律:通过计算适应度函数,开始进行选择、交叉和变异的遗传计算,经过多次迭代直到达到终止的条件,再进行下一小节的遗传计算,最终生成12小节的江南小调的旋律。
2.根据权利要求1所述的基于混合算法的江南小调计算机辅助作曲的方法,其特征在于,所述步骤(4)中的调式分别是G徵调、A羽调和C宫调,速度分别为中慢速和中快速。
3.根据权利要求1所述的基于混合算法的江南小调计算机辅助作曲的方法,其特征在于,所述步骤(2)中建立江南小调作曲知识规则库时,分别提取江南小调的声学特征参数和旋律特征参数建,提取声学特征参数采用时频计算的方法,提取与音色、音高和调性相关的11个特征参数,计算频谱时所使用的傅立叶变换长度为8192个采样点,频率分辨率为5.38Hz,75%的重叠,得到的频谱为线性幅度谱,使用TrueEnvelope的方法来计算信号波形包络,所有声学特征参数均为帧平均值,帧时窗为0.05s,半重叠;旋律特征参数通过统计分析的方法获得,旋律特征参数共7个,包括特殊的旋律行进、节奏型和音程,旋律特征参数的统计概率计算公式如下:
4.根据权利要求1所述的基于混合算法的江南小调计算机辅助作曲的方法,其特征在于,所述步骤(3)中的适应度函数分两步进行,首先对生成的每个小节进行评判,然后对整个旋律进行适应度函数的评判,小节的适应度函数如下所示:
其中i表示第i个小节,j表示第i个小节中的第j个音符,N表示小节中音符的个数,m表示该小节中音程量≥48的旋律音程个数;
整个旋律的适应度函数如下所示:
5.根据权利要求1所述的基于混合算法的江南小调计算机辅助作曲的方法,其特征在于,所述步骤(5)中采用遗传算法生成江南小调的旋律时,初始种群为10个,以小节为迭代单元,设定适应度函数得分小于4分的小节下一轮迭代舍弃,生成12个小节的江南小调旋律,采用整个旋律的适应度函数进行评判,将得分最高的旋律视为生成的旋律。
说明书
技术领域
本发明涉及计算机应用技术领域,具体是一种基于混合算法的江南小调计算机辅助作曲的方法。
背景技术
随着计算机技术在音乐创作上的应用,计算机音乐应运而生。计算机音乐作为一门新兴的学科,其主要目的是应用计算机来模仿人们对音乐的认知,进行辅助创作和设计。探索计算机辅助作曲问题一方面可以了解和模拟作曲家在从事音乐创作这一特定过程中的思维方式;另一方面,基于计算机辅助作曲研究技术而开发的作曲系统所创作出的不同形式的音乐作品可以起到对作曲家的有益补充。
目前计算机辅助作曲技术在国外相对成熟,总结来看主要的算法包括马尔克夫(Markov)转换表(或称马尔克夫链)、算法作曲研究中的知识库系统、音乐文法、人工神经网络技术和遗传算法。
马尔克夫(Markov)转换表就像一个函数。其自变量是当前的音符,而函数值则是下一个要出现音符的可能性。针对某一特定(如某一作曲家或某一时期)风格的音乐作品进行收集和统计,就可以构造出相应的转换表。该算法目前存在的问题是很难判断生成音乐的质量,此外随机生成的片段,与标准的完整音乐之间还是存在差距。
基于规则的知识库系统的算法作曲是一种很自然的选择,特别是在已定义完善的领域内建立模型或者是介绍清晰的结构或规则时尤其如此。其主要优点是:它们具有清晰的推理,并能够为行为的选择做出解释。该算法的缺点是知识引导机制的建立既困难又费时,对于较为规范的音乐容易总结规则,但是对于即兴多变的旋律,很难找到规范。
正如语言有文法一样,音乐也是有音乐文法的。结合统计的方法,使用音乐文法可以匹配(或捕获)现有作品中的各种音乐事件(如音程、节奏等)的概率分布,并能基于这些特征生成出类似风格的作品。但是该算法对于即兴创作的音乐很难找到范畴文法,进而很难进行音符的分解与重组,生成新的音乐。
在感知和认知方面,人工神经网络能够从一个样板集合中学习,以避免需要对规则的形式化。特别是递归神经网络能够成功获取一个旋律经过句的表层结构,并以这样获取的知识为基础,产生出新的旋律。但是所生成的旋律缺乏音乐的全局连贯性,即它无法获取较高级的音乐特征。从原理上讲,人工神经网络技术通常更适合用于分析音乐作品而不是创作。
遗传算法是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。遗传算法使用适应函数来演化候选者(染色体),从而得到近似最优解。但是在使用遗传算法进行自动作曲的研究时,适应度函数其实是很难准确定义的。于是出现了让人代替适应度函数来直接评估染色体的一种方法,即交互式的遗传算法IGA。然而目前交互式遗传算法的有效性较差,用户必须听到所有可能潜在的解,才能做出具有普遍性的评估。
综上所述,各种作曲算法各有其自身的优点和存在的问题。建立一种混合算法的计算机辅助作曲系统可以扬长避短,以最优化的方式进行计算机辅助作曲。此外,由于国内关于计算机作曲系统的研究起步较晚,目前并没有成熟的针对于中国民族音乐的算法作曲技术。因此将国际上现有的算法作曲技术进行整合,应用到中国民族音乐的分析和创作中,并建立有自己民族特色的计算机作曲系统是十分必要的。
发明内容
本发明的目的在于提供一种适应度函数准确性高、使用方便的基于混合算法的江南小调计算机辅助作曲的方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种基于混合算法的江南小调计算机辅助作曲的方法,具体步骤如下:
(1)建立江南小调音乐素材库:建立94首的江南小调音乐素材库,用于特征参数提取;
(2)建立江南小调作曲知识规则库:提取声学特征和旋律特征,建立知识规则库,用于遗传算法关键技术的制定;
(3)制定遗传算法的关键规则:对江南小调素材厍进行特征参数计算及旋律特征的统计分析,根据提取的特征制定遗传算法的编码规则、遗传算子和适应度函数;
(4)提取遗传算法的初始种群:根据用户选择的调式和速度,从素材库挑选对应的旋律,并提取旋律的第一小节作为遗传算法的初始种群;
(5)生成江南小调旋律:通过计算适应度函数,开始进行选择、交叉和变异的遗传计算,经过多次迭代直到达到终止的条件,再进行下一小节的遗传计算,最终生成12小节的江南小调的旋律。
作为本发明进一步的方案:所述步骤(4)中的调式分别是G徵调、A羽调和C宫调,速度分别为中慢速和中快速。
作为本发明进一步的方案:所述步骤(2)中建立江南小调作曲知识规则库时,分别提取江南小调的声学特征参数和旋律特征参数建,提取声学特征参数采用时频计算的方法,提取与音色、音高和调性相关的11个特征参数,计算频谱时所使用的傅立叶变换长度为8192个采样点,频率分辨率为5.38Hz,75%的重叠,得到的频谱为线性幅度谱,使用TrueEnvelope的方法来计算信号波形包络,所有声学特征参数均为帧平均值,帧时窗为0.05s,半重叠;旋律特征参数通过统计分析的方法获得,旋律特征参数共7个,包括特殊的旋律行进、节奏型和音程,旋律特征参数的统计概率计算公式如下:
作为本发明进一步的方案:所述步骤(3)中的适应度函数分两步进行,首先对生成的每个小节进行评判,然后对整个旋律进行适应度函数的评判,小节的适应度函数如下所示:
(公式2),
其中i表示第i个小节,j表示第i个小节中的第j个音符,N表示小节中音符的个数,m表示该小节中音程量≥48的旋律音程个数;
整个旋律的适应度函数如下所示:
作为本发明再进一步的方案:所述步骤(5)中采用遗传算法生成江南小调的旋律时,初始种群为10个,以小节为迭代单元,设定适应度函数得分小于4分的小节下一轮迭代舍弃,生成12个小节的江南小调旋律,采用整个旋律的适应度函数进行评判,将得分最高的旋律视为生成的旋律。
与现有技术相比,本发明的有益效果是:
本发明通过知识规则库来定义编码规则、遗传算子及适应度函数,利用适应度函数评判机制,从而实现江南小调计算机自动作曲功能,将江南小调的知识规则库用于建立遗传算法中的适应度函数,既可以避免交互式遗传算法的复杂性,还大大提高了适应度函数的准确性,从而提高了整个计算机辅助作曲系统的准确性。
附图说明
图1为本发明的流程示意图。
图2为本发明中建立适应度函数的流程示意图。
图3为本发明中实施例1生成的G徵调、中慢速的江南小调旋律谱图。
具体实施方式
下面结合具体实施方式对本专利的技术方案作进一步详细地说明。
请参阅图1-2,一种基于混合算法的江南小调计算机辅助作曲的方法,具体步骤如下:
(1)建立江南小调音乐素材库:建立94首的江南小调音乐素材库,用于特征参数提取;
(2)建立江南小调作曲知识规则库:提取声学特征和旋律特征,建立知识规则库,用于遗传算法关键技术的制定;
(3)制定遗传算法的关键规则:对江南小调素材库进行特征参数计算及旋律特征的统计分析,根据提取的特征制定遗传算法的编码规则、遗传算子和适应度函数;
(4)提取遗传算法的初始种群:根据用户选择的调式和速度,从素材库挑选对应的旋律,并提取旋律的第一小节作为遗传算法的初始种群;
(5)生成江南小调旋律:通过计算适应度函数,开始进行选择、交叉和变异的遗传计算,经过多次迭代直到达到终止的条件,再进行下一小节的遗传计算,最终生成12小节的江南小调的旋律。
建立江南小调音乐素材库时,建立94首江南小调的素材库,音频格式包含MIDI和Wave格式两类,MIDI格式用来提取旋律特征,Wave格式用来提取声学特征参数,该素材库中共包含三类调式,分别是G徵调、A羽调和C宫调,演奏速度从50bpm至160bpm,以90bpm为限,将低于90bpm的速度定义为中慢速,高于90bpm的速度定义为中快速。
所述的建立江南小调作曲知识规则库时,分别提取江南小调的声学特征参数和旋律特征参数建,提取声学特征参数采用时频计算的方法,提取与音色、音高和调性相关的11个特征参数,如表1所示:
表1计算的声学特征参数
计算频谱时所使用的傅立叶变换长度为8192个采样点,频率分辨率为5.38Hz,75%的重叠,得到的频谱为线性幅度谱,使用TrueEnvelope的方法来计算信号波形包络,所有声学特征参数均为帧平均值,帧时窗为0.05s,半重叠。
旋律特征参数通过统计分析的方法获得,旋律特征参数共7个,包括特殊的旋律行进、节奏型和音程,通过统计94首江南小调中各个旋律特征所占的比例而建立旋律特征规则库,旋律特征参数的统计概率计算公式如下:
计算的旋律特征参数如表2所示:
表2江南小调的旋律特征参数
遗传算法生成江南小调的计算步骤如下:
1、设定初始种群:系统得到用户需求后,自动在素材库中随机挑选符合条件的乐曲,并将乐曲的第一小节提取出来作为初始种群,采用现有的乐段,而不是计算机随机生成乐段,目的让作曲系统较快的搜索到最优解,遗传算法的迭代单元为小节,这样可以尽可能的保持完整的乐思,遗传算法种群设置为10。
2、设定遗传算法编码规则:根据知识规则库设定编码规则,编码规则是对每个音符进行编码,包括时值、音高和强弱。
(1)音符时值:按照4分音符为1拍进行时值编码,如表3所示:
表3时长的编码规则
(2)音符音高:音高共包含三个八度,分别是小字组、小字一组和小字二组。以小字组c的音高设为0,其余音的编码值以一个半音为分辨率依次递增1,音高的编码规则如表4所示:
表4音高的编码规则
(3)音符强度:2/4拍包含音的强度是强拍和弱拍,休止符的力度为0,强拍的力度为127,弱拍的力度为100。
3、设定遗传算子方式:遗传算子包括选择、交叉和变异。
(1)选择算子:采用锦标赛选择算法。
(2)交叉算子:对小节内时长为一拍的旋律段进行交叉,交叉概率为0.6。随机选择两个小节,计算每个小节音符的时值,累积时值等于1时为交叉位置。
(3)变异算子:变异算子包括音程变异,音符分裂和音符合并三种变异。按照小节进行变异,并且按照30%的概率进行,即10个小节中随机选择3个小节变异,1个小节进行音程变异,1个小节进行音符合并,最后1个小节进行音符分裂,具体某个小节中哪个音符变异,除了首尾音符不变异以外,其他音符随机变异:
A、音程变异:改变某个音符的音高,从而影响该音符的前后音程值。发生音程变异时,改变前后音程的概率如下表5所示。
产生[0,1]的随机数,如果随机数位于[0,0.947]内,在产生新音程间隔均为5内的音符中选取,如果随机数位于(0.947,0.973],在产生前音程间隔≤5且后音程间隔>5的音符中选取;如果随机数位于(0.973,0.999],在产生前音程间隔>5且后音程间隔≤5的音符中选取;如果随机数位于(0.999,1],在产生前音程间隔>5且后音程间隔>5的音符中选取。如果在某个区间内没有符合条件的音符出现,则变异直接结束。
表5音程变异的概率分布
B、音符分裂:将一个音符分裂成两个音符,且仅变异时长为0.5,1,2的音符。如果音符时长为0.5,音长变异分配方案如表6所示,两个音符之间的音程关系生成概率如表7所示:
表6音符时长为0.5时音长变异方案
其中第一行的数据表示所占音符时长的比例。
表7两个音符之间的音程关系生成概率
如果音符时长为1或2,则音长变异分配方案如表8所示,两个音符之间的音程关系生成概率仍参考表7。
表8音符时长为1或2时音长变异方案
C、音符合并:将两个音符合并成一个音,合并的音符时长与原来两个音的时长相同,步骤如下:以随机的音符取代这两个音,时长为这两个音的时值总和,音符的音高选择按照如下概率进行:第一行表示音高,第二行表示音高的编码,第三行为出现的概率,仍然采用音程变异的方法进行随机选取。
表9音符合并分配方案
4、设定适应度函数:适应度函数分两步进行,首先对生成的每个小节进行评判,当所有12小节全部生成后,然后对整个旋律进行适应度函数的评判,小节的适应度函数如下所示:
(公式2),
其中i表示第i个小节,j表示第i个小节中的第j个音符,N表示小节中音符的个数,m表示该小节中音程量≥48的旋律音程个数;
A、Pitch:用于检测出现的每一个音符:根据作曲规则中得出的不同音高音符出现的概率,可以用Pitch(i)来表示不同音高的适应度函数,如表10所示:
表10音符音高函数表
B、Duration:用于检测每个音符出现的时值:根据作曲规则中得出的不同时值的音符出现的概率,可以用Pitch(i)来表示不同时值的适应度函数,如表11所示:
表11音符时值函数表
C、Interval1:表示小节内旋律音程的评估:江南小调的旋律音程间隔大部分都是小于7的,所以如果相邻两个音之间的音程间隔大于7,就认为间隔太大,不符合江南小调旋律部分特征。江南小调以0,2,3的音程间隔行进方式占据了整体的88%左右,加上偶有的音程间隔为5的纯四度和音程间隔为7的纯五度跳进,这些音程间隔一共占据了约93%。因此Interval1的适应度函数如(公式3)所示:
(公式3)
其中a表示某一小节中音程间隔小于4的值,b表示音程间隔等于4或者5的值,c表示其他音程间隔。那么当音程间隔小于4的值越多时,则此函数值越大。
D、Melody3:三个音构成的特色音程向量的评价函数,Melody3是要把小节中特殊的3个音的音程向量找出来,因此计算Melody3之前,先做判定:把3个音构成时长为2拍或1拍的特殊音程向量挑选出来,如果不存在音程向量,则直接不计算Melody3,三个音构成的特色音程向量的评价函数如表12所示:
表12三个音构成的音程向量评价函数
E、Melody4:四个音构成的特色音程向量的评价函数:与Melody3一样,在计算该函数之前先做判定,将时长为2拍或1拍的特殊音程向量找出来,四个音构成的特色音程向量的评价函数如表13所示:
表13四个音构成的音程向量评价函数
F、Rhythm:特色节奏型的评价函数:从所含有的节奏型来看,主要包含两大类,一类是节奏型的时长为2拍的,另一类是节奏型为1拍的。因此节奏型函数将分成两个部分进行计算,一个是Rhythm1(计算时长为1拍的节奏型)函数,另一个是Rhythm2(计算时长为2拍的节奏型)函数,节奏型Rhythm2评价函数如表14所示:
表14节奏型Rhythm2评价函数
在此表中,D1表示某一小节中第一个音级的时值编码,D2表示此小节第二个音级时值编码,N表示此节奏型的音符数量,节奏型Rhythm1评价函数如表15所示:
表15节奏型Rhythm1评价函数
在此表中,D1表示某一小节中第一个音级的时值编码,D2表示此小节第二个音级时值编码,N表示此节奏型中的音符数量。
整体旋律的适应度函数:
(公式4)
G、Interval2表示小节间旋律音程的评判
根据之前的作曲规则,小节间旋律音程的评判如表16所示:
表16Interval2评价函数
采用遗传算法生成江南小调的旋律时,初始种群为10个,以小节为迭代单元,设定适应度函数得分小于4分的小节下一轮迭代舍弃,生成12个小节的江南小调旋律,采用整个旋律的适应度函数进行评判,将得分最高的旋律视为生成的旋律。
实施例1
请参阅图3,一种基于混合算法的江南小调计算机辅助作曲的方法,具体步骤如下:
(1)初始音乐种群的生成:首先用户选择调式和速度,例如选择G徵调式和中慢速。系统接收到用户的需求后,在音乐素材库随机挑选符合该条件的10首音乐素材,并将每首音乐素材的第一小节作为初始种群;
(2)生成江南小调知识规则库:提取江南小调的特征参数,生成知识规则库。特征参数包括通过计算获取的11个声学特征以及基于统计的7个旋律特征,为遗传算法的编码规则、适应度函数和遗传算子提供算法依据;
(3)制定音乐的编码规则:编码规则是对每个音符进行编码,包括时值、音高和强弱。所有编码规则都参照MIDI格式的编码规则。音符时值是按照4分音符为1拍进行时值编码;江南小调的音高共包含三个八度,分别是小字组、小字一组和小字二组,以小字组c的音高设为0,其余音的编码值以一个半音为分辨率依次递增1或递减1;音符强度包括强拍和弱拍,设定强拍的力度为127,弱拍的力度为100,休止符的力度为0。
(4)适应度函数的设定:适应度函数的生成主要基于江南小调的作曲知识规则库提出的。适应度函数的评判分两步,首先迭代每个小节的时候仅计算每个小节的适应度函数,由于旋律的倒数第二小节要有特殊的结束旋法,因此针对该小节的适应度函数与评判其他小节的函数略有差别;当所有12小节全部生成后,计算整个旋律的适应度函数。相关的适应函数函数计算如下:
1)的适应度函数
(公式1)
其中i表示第i个小节,j表示第i个小节中的第j个音符,N表示小节中音符的个数,m表示该小节中音程量≥48的旋律音程个数。
适应度函数中评判的音乐特征有音符的音高、时长、音程关系、3个音的特色旋法、4个音的特色旋法和特色节奏型。
2)倒数第二小节的适应度函数
(公式5),
适应度函数增加了对结束旋法的要求,要求该小节最后两个音与调式主音的音程间隔小于5;
3)旋律的适应度函数:
整个旋律的适应度函数增加了小节之间的音程关系评判;
(5)遗传算子的设定:遗传算子包括选择、交叉和变异。选择算子采用锦标赛选择算法;交叉算子的算法是针对小节内时长为一拍的旋律段进行交叉,交叉概率为0.6;变异算子包括音程变异,音符分裂和音符合并三种,变异概率为0.3。
(6)基于遗传算法生成音乐旋律:遗传迭代是按照小节进行,对初始种群进行选择、交叉和变异的操作,然后用适应度函数对新生成的小节进行评判,设定适应度函数得分小于4分的小节下一轮迭代舍弃,最终生成12个小节的江南小调旋律,采用整个旋律的适应度函数进行评判,将得分最高的旋律视为生成的旋律。
(7)按照以上的方案完成江南小调计算机辅助作曲系统,首先对江南小调素材库进行特征参数的提取和计算,特征主要包括音高、时长、音程、特色旋法和特色节奏型,并由此生成江南小调的作曲知识规则库。其次根据知识规则库,设定遗传算法的编码规则,遗传算子和适应度函数。然后根据用户对生成旋律的需求,从素材库中调用相应的旋律,并生成初始种群。最后经过遗传算法多次迭代,生成12小节的江南小调的旋律。
利用本实施例中的方法,假设用户希望生成G徵调、中慢速的江南小调旋律,经过计算机计算,生成的旋律如图3所示。
实验结果表明,基于江南小调知识规则库去设定遗传算法的适应度函数,可以较好的保证生成旋律符合江南小调的特点,例如生成的旋律为五声音阶,大二度和小三度的旋律级进为主,包含了音阶式、环绕式、定点式和迂回式四种特色旋法,形成以规整节奏型为主的旋律。
本发明将遗传算法和知识规则库两种算法混合,首先根据江南小调的音乐特征及旋律特征,采用特征参数计算和统计分析的方法,提取了音色、音高、音程、特色旋法和特色节奏型等特征归纳出江南小调的作曲知识规则库,并由此建立遗传算法的适应度函数,编码规则和遗传算子,大大提高适应度函数的准确性,较好的生成江南小调的旋律。
本发明通过知识规则库来定义编码规则、遗传算子及适应度函数,利用适应度函数评判机制,从而实现江南小调计算机自动作曲功能,将江南小调的知识规则库用于建立遗传算法中的适应度函数,既可以避免交互式遗传算法的复杂性,还大大提高了适应度函数的准确性,从而提高了整个计算机辅助作曲系统的准确性。
上面对本专利的较佳实施方式作了详细说明,但是本专利并不限于上述实施方式,在本领域的普通技术人员所具备的知识范围内,还可以在不脱离本专利宗旨的前提下作出各种变化。
一种基于混合算法的江南小调计算机辅助作曲的方法专利购买费用说明
Q:办理专利转让的流程及所需资料
A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。
1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。
2:按规定缴纳著录项目变更手续费。
3:同时提交相关证明文件原件。
4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。
Q:专利著录项目变更费用如何缴交
A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式
Q:专利转让变更,多久能出结果
A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。
动态评分
0.0