基于升降采样的民歌智能辅助作曲系统及方法
万方数据知识服务平台
应用市场
我的应用
会员HOT
万方专利
×

点击收藏,不怕下次找不到~

@万方数据
会员HOT

专利专题

基于升降采样的民歌智能辅助作曲系统及方法

引用
本发明公开了一种基于升降采样的民歌智能辅助作曲系统及方法,包括数据存储模块、预处理模块、升采样模块、音乐训练模块、动机生成模块、作曲模块、降采样模块和midi合成模块;其中,数据存储模块用于存储各种音乐数据;预处理模块将乐曲转成统一调式;升采样模块将音高序列升采样得到升采样序列;音乐训练模块学习民族风格的乐曲,得到已训练的网络模型;动机生成模块用于生成动机音高序列;作曲模块结合动机音高序列和已训练的网络模型生成作曲音高序列;降采样模块将作曲音高序列降采样得到音高序列和对应时值序列;midi合成模块将音高序列和对应时值序列合成midi音频输出。本发明可辅助创作,生成用户喜爱的民族风格的乐曲。

发明专利

CN202010371056.3

2020-05-06

CN111754962A

2020-10-09

G10H1/00(2006.01)

华南理工大学

韦岗;谭媛月;曹燕

510640 广东省广州市天河区五山路381号

广州市华学知识产权代理有限公司

詹丽红

广东;44

1.一种基于升降采样的民歌智能辅助作曲系统,其特征在于,所述的民歌智能辅助作曲系统包括数据存储模块、预处理模块、升采样模块、音乐训练模块、动机生成模块、作曲模块、降采样模块和midi合成模块;其中, 所述的数据存储模块用于存储各种音乐数据,包括midi民歌乐曲、民歌音乐知识规则以及调式转换表;所述的预处理模块将数据存储模块中的不同调式的midi民歌乐曲转换成统一调式的预处理音高序列和对应时值序列;所述的升采样模块用于进行升采样操作,将预处理模块输出的预处理音高序列和对应时值序列升采样后得到升采样序列;所述的音乐训练模块用于学习民族风格的乐曲,采用升采样序列对网络模型进行训练,得到已训练的网络模型;所述的动机生成模块用于生成动机音高序列;所述的作曲模块结合动机音高序列以及已训练的网络模型来生成作曲音高序列;所述的降采样模块用于进行降采样操作,将作曲模块生成的作曲音高序列降采样分别得到音高序列和对应时值序列;所述的midi合成模块将降采样模块输出的音高序列和对应时值序列合成midi音频播放文件输出。 2.根据权利要求1所述的基于升降采样的民歌智能辅助作曲系统,其特征在于, 所述的调式转换表,拟定各调式midi音高与简谱数字符号和不同八度值的对应关系,C大调音阶用音名表示为:C音名、D音名、E音名、F音名、G音名、A音名、B音名,对应简谱数字符号依次表示为:“1、“2、“3、“4、“5、“6、“7,不同调式的音阶对应的midi音高用数组R,V表示,R代表简谱数字符号“1、“2、“3、“4、“5、“6、“7,V代表音高的不同八度,由于人声音域的限制,音高设置成三个八度,分别为用-1、0和1表示的低八度,同度和高八度。 3.根据权利要求1所述的基于升降采样的民歌智能辅助作曲系统,其特征在于,所述的预处理模块将存储在数据存储模块中不同调式的midi民歌乐曲信息提取出来,乐曲信息包括midi音高、时值、调式,乐曲中的midi音高表示范围为0-127,时值是每个音符的相对持续时间,单位为拍,若以四分音符为1拍,则时值0.5表示半拍,调式包括音乐中所有常见调式类型,用0-23表示,将不同调式的midi民歌乐曲根据调式转换表转成统一调式的预处理音高序列和对应时值序列,进行统一调式转换的步骤如下: S201、提取民歌乐曲的midi音高、时值、调式; S202、查找调式转换表,将提取的midi音高用数组R,V表示,R代表midi音高对应的简谱数字符号,V代表音高的不同八度; S203、再根据所要转换的调式,查找调式转换表,将数组R,V转换成统一调式的midi音高; S204、输出调式转换后的midi音高序列和时值序列。 4.根据权利要求1所述的基于升降采样的民歌智能辅助作曲系统,其特征在于,所述的升采样模块和降采样模块采用升降采样的编码方法,其中,升采样模块用于进行升采样操作,将预处理模块输出的预处理音高序列和对应时值序列,经过升采样后得到升采样序列;降采样模块用于进行降采样操作,将作曲模块生成的作曲音高序列降采样分别得到音高序列和对应时值序列; 升采样操作的过程如下: 定义最小的时值单元τ为0.125,根据各音符的时值与最小时值单元τ的时值倍数关系,对各音高进行升采样得到升采样序列;当预处理音高序列为:a1,a2,a3,…,an,a1,a2,a3,…,an分别表示各音高,对应时值序列为:2τ,2τ,4τ,…,8τ,将预处理音高序列根据各时值倍数关系对各音高升采样得到升采样序列为: a1,a1,a2,a2,a3,a3,a3,a3,…,an,an,an,an,an,an,an,an; 降采样操作的过程如下: 当作曲音高序列为: a1,a1,a2,a2,a2,a2,…,an,an,an,an,an,an,an,an,根据作曲音高序列中各音高数量与时值倍数的对应关系,降采样还原得到音高序列a1,a2,…,an和对应时值序列2τ,4τ,...,8τ。 5.根据权利要求1所述的基于升降采样的民歌智能辅助作曲系统,其特征在于,所述的动机生成模块采用马尔科夫链来生成动机音高序列,生成过程如下: S301、确定马尔科夫链的状态:马尔可夫链中的状态来自于数据存储模块中的民歌音乐知识规则所提炼和统计的五声调式四度三音列;将一个四度三音列看作一个马尔科夫链的状态;四度三音列是do、re、mi、sol、la,对应简谱数字符号为:“1、“2、“3、“5、“6,五声音阶中四度内的三音列,五声音阶中相邻音阶之间存在着大二度和小三度的关系,度定义为两个音高上的距离,由大二度和小三度音程构成的三个音高组合即四度三音列,用数学公式表示三音列如下: MaxX,Y,Z-MinX,Y,Z=3 X,Y,Z∈1,2,3,5,6 公式(1) 其中,X,Y,Z表示三音列中的三个音高,Max表示求三音列中最大值,Min表示求三音列中最小值; S302、在收集的音乐素材中统计各三音列状态之间的状态转移情况,求出状态转移概率pij,构造状态转移矩阵P;其中,pij表示当前时刻状态i到下一时刻状态j的状态转移概率,nij表示状态i到状态j的次数,k表示三音列状态总数,计算公式如下: 其中pij应满足条件: 0<pij<1 公式(4) S303、计算初始状态概率π,π=pi1×k,pi对应各三音列状态的初始概率;结合状态转移矩阵P,生成动机音高序列,首先计算下一时刻输出的各三音列状态可能概率值P1,mi表示状态i出现的次数,k表示三音列状态总数: P1=πP=p1,p2,…,pkP 公式(7) 根据各三音列状态可能概率值P1的权重随机获取一个三音列状态作为输出,继续求下一时刻的状态可能概率值,即将当前状态可能概率值P1与状态转移矩阵P继续相乘;多次迭代,求得的N个三音列状态输出组合即为动机音高序列。 6.根据权利要求1所述的基于升降采样的民歌智能辅助作曲系统,其特征在于,所述的网络模型由输入层,隐藏层和输出层组成;其中,隐藏层由多层双向循环神经网络构成;所述的网络模型的输入层接受升采样模块输出的升采样序列,从升采样序列中,依次选择f个音高作为输入,预测第f+1个音高输出,与目标音高值对比,计算误差,完成迭代次数后,寻找损失最小的权重参数文件,得到已训练的网络模型。 7.根据权利要求1所述的基于升降采样的民歌智能辅助作曲系统,其特征在于,所述的作曲模块结合动机音高序列以及已训练的网络模型来生成作曲音高序列,步骤如下: S401、动机生成模块生成的动机序列送入作曲模块,作曲模块调用已训练的网络模型; S402、通过输入的q个动机音高序列生成第q+1个音高,将生成的第q+1个音高作为再预测下一个音符的输入中的最后一个音高,去掉第一个音高,依次迭代,直到生成目标Q个作曲音高序列。 8.一种基于升降采样的民歌智能辅助作曲系统的作曲方法,其特征在于,所述的作曲方法包括训练过程和作曲过程,其中,训练过程如下: S101、预处理模块将存储在数据存储模块中不同调式的民歌乐曲信息提取出来,得到调式信息;将不同调式的乐曲根据调式转换表转成统一调式的预处理音高序列和对应时值序列,并将预处理音高序列和对应时值序列传递给升采样模块; S102、升采样模块将预处理模块传递的预处理音高序列和对应时值序列升采样,得到输入音乐训练模块的升采样序列; S103、音乐训练模块采用升采样模块输出的升采样序列来训练神经网络模型,得到已训练的网络模型; 作曲过程如下: S104、动机生成模块生成动机音高序列,为作曲模块的输入做准备; S105、作曲模块结合动机生成模块生成的动机音高序列和已训练的网络模型,生成作曲音高序列;并将作曲音高序列传递给降采样模块; S106、降采样模块将作曲音高序列降采样分别得到音高序列和对应时值序列; S107、midi合成模块结合降采样得到的音高序列和对应时值序列,合成最终的midi音频播放文件。
相关文献
评论
法律状态详情>>
2020-10-09公开
2020-10-09公开
相关作者
相关机构