基于循环特征提取的音乐生成模型的训练方法、训练装置与流程

文档序号:31832522发布日期:2022-10-18 19:15阅读:156来源:国知局
基于循环特征提取的音乐生成模型的训练方法、训练装置与流程

1.本发明属于信息处理技术领域,具体地讲,涉及基于循环特征提取的音乐生成模型的训练方法、训练装置、计算机可读存储介质、计算机设备。


背景技术:

2.在音乐生成技术领域,早期的音乐生成方法是基于统计学方法与音乐片段重组的方式生成音乐的。基于统计学方法是以隐马尔可夫模型为代表的音乐生成方法,在隐马尔可夫模型(hmm)中,每一次连续的事件与之前的事件之间的概率是有关联的,利用隐马尔可夫模型(hmm)进行音符级别的序列建模。将每个已有音符看作观测概率,计算音符之间的转移概率,进而预测下一个生成的音符概率,使用输出矩阵确定最大概率的音符,从而获得下一个音符。但基于隐马尔可夫的模型的方法学习长期的依赖关系有较大的难度,同时它只能针对单一轨道建模。与统计学方法不同的是,音乐片段重组是将整个音乐篇章划分为若干乐段,将每个乐段视为独立片段,利用一定的方法将音乐片段随机组合,从而产生新的音乐。例如利用n-gram的方法计算连续乐句之间的相似度,将相似度较高的片段组合在一起。因其每个音乐片段都来自于真实的音乐片段,所以生成的音乐的悦耳度更好。但此方法产生的音乐创新性较差,会含有大量的重复片段。
3.随着深度学习技术的发展,很多研究者利用人工神经网络来提取数据特征,根据网络所提取的信息进行音乐生成。前期主要以音符符号化作为网络的输入来产生音乐,大部分是借鉴自然语言处理(nlp)的相关技术处理音符。例如,利用循环神经网络(rnn)对音符序列建模,rnn有利于音符在时间维度建模,但rnn模型容易产生梯度消失的情况,之后有研究者将长短期记忆人工神经网络(lstm)代替rnn结构的模型生成音乐,可以避免出现rnn模型中出现的梯度消失的问题。
4.其中,业界人士提出了将生成式对抗网络应用至音乐生成中,可以自动生成带有和弦匹配的音乐文件,减少人工处理环节。但是现有的网络生成器均为单向结构,会造成音乐上下文的联系性较差,生成的音乐样本的连贯性不强。


技术实现要素:

5.(一)本发明所要解决的技术问题
6.本发明解决的技术问题是:如何使音乐生成模型学习到音乐上下的知识,使得音乐生成模型产生音乐样本的连贯性效果更好的。
7.(二)本发明所采用的技术方案
8.一种基于循环特征提取的音乐生成模型的训练方法,所述音乐生成模型为基于深度卷积生成对抗网络的模型,包括生成器和判别器,所述训练方法包括:
9.获取本轮训练的音乐输入数据集,并将音乐输入数据集与随机噪声拼接形成本轮训练的训练样本;
10.将本轮训练的训练样本输入至所述生成器中,得到本轮训练的输出数据集,所述
当前轮的输出数据集用作下一训练轮的音乐输入数据集;
11.将所述本轮训练的输出数据集和获取到的音乐真实数据样本输入到所述判别器中,得到本轮训练的判别结果;
12.根据本轮训练的判别结果更新损失函数,并根据更新后的损失函数调整音乐生成模型的网络参数,结束本轮训练。
13.优选地,所述音乐生成模型还包括特征提取器,所述将音乐输入数据集与随机噪声拼接形成本轮训练的训练样本的方法包括:
14.将获取到的本轮训练的音乐输入数据集输入到所述特征提取器,得到本轮训练的音乐特征数据集;
15.将所述本轮训练的音乐特征数据集与随机噪声拼接形成本轮训练的训练样本。
16.优选地,所述生成器包括共享权值网络、音高维度子网络、时间维度子网络和合并子网络,所述音高维度子网络和时间维度子网络均具有平均池化层,所述将本轮训练的训练样本输入至所述生成器中,得到本轮训练的输出数据集的方法包括:
17.将本轮训练的训练样本输入到所述共享权值网络中,得到共享输出数据集;
18.将所述共享输出数据集分别输入到所述音高维度子网络和所述时间维度子网络,分别得到音高维度生成数据和时间维度生成数据;
19.将音高维度生成数据和时间维度生成数据共同输入到所述合并子网络进行拼接,得到本轮训练的输出数据集。
20.优选地,所述训练方法还包括获取音乐真实数据样本的步骤:
21.获取midi格式的原始多音轨音乐数据;
22.将midi格式的原始多音轨音乐数据划分为若干段乐句;
23.将所述若干段乐句转换为二元矩阵形式的若干个音乐矩阵;
24.对若干个音乐矩阵分别进行滑窗操作,获得pianoroll格式的音乐真实数据样本。
25.优选地,当本轮训练为首轮训练时,首轮训练的音乐输入数据集为从pianoroll格式的音乐真实数据样本中随机抽取的真实音乐片段。
26.本技术还公开了一种基于循环特征提取的音乐生成模型的训练装置,所述音乐生成模型为基于深度卷积生成对抗网络的模型,包括生成器和判别器,所述训练装置包括:
27.数据处理单元,用于获取本轮训练的音乐输入数据集,并将音乐输入数据集与随机噪声拼接形成本轮训练的训练样本;
28.第一输入单元,用于将本轮训练的训练样本输入至所述生成器中,得到本轮训练的输出数据集,所述当前轮的输出数据集用作下一训练轮的音乐输入数据集;
29.第二输入单元,用于将所述本轮训练的输出数据集和获取到的音乐真实数据样本输入到所述判别器中,得到本轮训练的判别结果;
30.模型训练单元,用于根据本轮训练的判别结果更新损失函数,并根据更新后的损失函数调整音乐生成模型的网络参数,结束本轮训练。
31.优选地,所述音乐生成模型还包括特征提取器,所述数据处理单元还用于:
32.将获取到的本轮训练的音乐输入数据集输入到所述特征提取器,得到本轮训练的音乐特征数据集;
33.将所述本轮训练的音乐特征数据集与随机噪声拼接形成本轮训练的训练样本。
34.优选地,所述生成器包括共享权值网络、音高维度子网络、时间维度子网络和合并子网络,所述音高维度子网络和时间维度子网络均具有平均池化层,所述第一输入单元还用于:
35.将本轮训练的训练样本输入到所述共享权值网络中,得到共享输出数据集;
36.将所述共享输出数据集分别输入到所述音高维度子网络和所述时间维度子网络,分别得到音高维度生成数据和时间维度生成数据;
37.将音高维度生成数据和时间维度生成数据共同输入到所述合并子网络进行拼接,得到本轮训练的输出数据集。
38.本技术还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有基于循环特征提取的音乐生成模型的训练程序,所述基于循环特征提取的音乐生成模型的训练程序被处理器执行时实现上述的基于循环特征提取的音乐生成模型的训练方法。
39.本技术还公开了一种计算机设备,所述计算机设备包括计算机可读存储介质、处理器和存储在所述计算机可读存储介质中的基于循环特征提取的音乐生成模型的训练程序,所述基于循环特征提取的音乐生成模型的训练程序被处理器执行时实现上述的基于循环特征提取的音乐生成模型的训练方法。
40.(三)有益效果
41.本发明公开了一种基于循环特征提取的音乐生成模型的训练方法,相对于传统的训练方法,具有如下技术效果:
42.为了让生成的音乐样本风格统一,乐节连贯,将传统的深度卷积对抗生成网络中的生成器的单向模式转化为循环模式,即将本轮训练的训练样本输入至生成器中,得到本轮训练的输出数据集,并将当前轮的输出数据集用作下一训练轮的音乐输入数据集,使得后续训练采用的样本带有上一轮信息,这样训练得到的模型能增强乐句的上下文相关性,产生连贯性更佳、音乐风格更统一的音乐样本。
附图说明
43.图1为本发明的实施例一的基于循环特征提取的音乐生成模型的训练方法的流程图;
44.图2为本发明的实施例一的音乐生成模型的原理框图;
45.图3为本发明的实施例一的获取真实音乐数据样本的流程图;
46.图4为本发明的实施例一的音乐生成模型的另一原理框图;
47.图5为本发明的实施例一的生成器的原理框图;
48.图6为本发明的实施例一的基于循环特征提取的音乐生成模型的训练装置的原理框图;
49.图7为本发明的实施例四的计算机设备示意图。
具体实施方式
50.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
51.在详细描述本技术的各个实施例之前,首先简单描述本技术的发明构思:现有技术中利用深度卷积生成式对抗网络产生音乐样本时,由于采用单向结构的生成器网络,造成模型不能有效地学习到音乐上下文之间的联系,本技术根据循环网络模型的思想,采用循环式的生成器结构,将本轮训练的训练样本输入至生成器中,得到本轮训练的输出数据集,并将当前轮的输出数据集用作下一训练轮的音乐输入数据集,使得后续训练采用的样本带有上一轮信息,这样训练得到的模型能增强乐句的上下文相关性,产生连贯性更佳、音乐风格更统一的音乐样本。
52.下面通过不同的实施例对本技术的技术方案进行更详细的描述。
53.实施例一
54.如图1和图2所示,本实施例一的基于循环特征提取的音乐生成模型为基于深度卷积生成对抗网络的模型,包括成器和判别器,基于循环特征提取的音乐生成模型的训练方法包括如下步骤:
55.步骤s10:获取本轮训练的音乐输入数据集,并将音乐输入数据集与随机噪声拼接形成本轮训练的训练样本;
56.步骤s20:将本轮训练的训练样本输入至所述生成器中,得到本轮训练的输出数据集,所述当前轮的输出数据集用作下一训练轮的音乐输入数据集;
57.步骤s30:将所述本轮训练的输出数据集和获取到的音乐真实数据样本输入到所述判别器中,得到本轮训练的判别结果;
58.步骤s40:根据本轮训练的判别结果更新损失函数,并根据更新后的损失函数调整音乐生成模型的网络参数,结束本轮训练。
59.具体来说,步骤s10中,当本轮训练为首轮训练时,因在首轮训练中并没有产生相应的结果,在首轮的训练中利用真实的音乐片段作为主旋律,即首轮训练的音乐输入数据集为真实音乐数据集。进一步地,将midi格式的音乐数据集进行连续平滑处理,获得pianoroll格式的音乐数据集,并从pianoroll格式的音乐数据集中随机抽取真实音乐片段作为首轮训练的音乐输入数据集,。
60.具体来说,如图3所示,训练方法还包括获取音乐真实数据样本的步骤:
61.步骤s01:获取midi格式的原始多音轨音乐数据;
62.步骤s02:将midi格式的原始多音轨音乐数据划分为若干段乐句;
63.步骤s03:将所述若干段乐句转换为二元矩阵形式的若干个音乐矩阵;
64.步骤s04:对若干个音乐矩阵分别进行滑窗操作,获得pianoroll格式的音乐真实数据样本。
65.pianoroll(钢琴卷)格式的数据是一种可以通过时间—音高的矩阵来表示音乐数据。而不同的音轨由不同的颜色表示。为了使生成的音乐的小节之间过渡自然、连贯,我们借鉴了语音信号处理的分帧原理,音乐与语音的相似之处在于都是连续的。类比语音信号的分帧处理,将得到的若干个音乐矩阵,进行滑窗处理,设置窗函数为1,设置每段的时间步长为48,设置窗函数的移动距离一般为时间步长的10%至25%,使用该方法对训练数据集进行了改造,对每个乐句做连续平滑化处理。
66.在训练过程中,音乐数据集需要被分成乐句,一个乐句含有4个小节。如果不做相应的处理,这样会导致生成的音乐乐句前后衔接突兀。我们使乐句之间重叠部分数据,以满
足连续的要求,这部分重叠的数据就可以被叫做小节的重叠距离,设置小节移动的参数不宜过短,更不宜过长,否则会导致产生大量的重复片段,经过多次试验验证,应设置在10%~25%之间。
67.进一步地,如图4所示,在另一实施方式中,音乐生成模型还包括特征提取器,步骤s10中将音乐输入数据集与随机噪声拼接形成本轮训练的训练样本的方法包括如下步骤:
68.步骤s11:将获取到的本轮训练的音乐输入数据集输入到所述特征提取器,得到本轮训练的音乐特征数据集;
69.步骤s12:将所述本轮训练的音乐特征数据集与随机噪声拼接形成本轮训练的训练样本。
70.具体来说,考虑到上一轮训练的结果信息应该以什么样类型的特征传递下一轮,包括音乐的细节信息和抽象的音乐风格特征信息。在生成器之上增加了一个特征提取器,可以根据不同层数的特征提取器的提取不同的信息,传递不同的音乐信息,当层数加深时,被提取的信息更多的是音乐的抽象风格信息,当层数较浅时,被提取的信息更多的是音乐的细节信息。经过实验验证,当特征提取器的层数设置为4层可以在音乐的风格特征与细节之间做出平衡,即将上一轮输出的结果经过四层卷积层构成的特征提取器,提取出上一轮的特征信息,再与随机噪声拼接,可以保持每轮训练的生成音乐样本的随机性,再送入生成器,生成的结果送入判别器进行判别,使判别器与生成器构成对抗模式,最终使生成器生成判别器无法判别真伪的音乐样本。
71.进一步地,步骤s20中,为了使生成的音乐具有上下文相关的特性,在原始的网络生成器的单向结构中,提出了将单向结构,转换为循环结构,它像是一个rnn的结构,rnn通常被用来处理序列数据,以及下一个音符的预测。将对抗网络中的生成器假定为rnn中的一个处理单元,效仿rnn的循环模式,将生成器的上一轮输出与随机噪声拼接起来,再次放入生成器的输入中。此时的生成器经过优化,上一轮训练的结果特征信息继续写入到下一轮的训练中,生成器模式都使用的是转置卷积网络,最终输出的结果再结合随机噪声之后送入下一轮的训练,通过此方式还可以保持每轮训练的随机性。
72.示例性地,如图5所示,生成器包括共享权值网络、音高维度子网络、时间维度子网络和合并子网络,音高维度子网络和时间维度子网络均具有平均池化层,且音高维度子网络和时间维度子网络还分别具有两层转置3d卷积层,所述将本轮训练的训练样本输入至所述生成器中,得到本轮训练的输出数据集的方法包括:将本轮训练的训练样本输入到所述共享权值网络中,得到共享输出数据集;将所述共享输出数据集分别输入到所述音高维度子网络和所述时间维度子网络,分别得到音高维度生成数据和时间维度生成数据;将音高维度生成数据和时间维度生成数据共同输入到所述合并子网络进行拼接,得到本轮训练的输出数据集。合并子网络中还具有tanh函数,拼接后的数据通过tanh函数完成二值化处理。在生成器中添加的平均池化层,它的作用是为了平滑生成的音乐的数据结果,使得音符的过渡与衔接更加顺滑,生成器的损失函数的收敛程度也更加出色。
73.进一步地,在步骤s30中,判别器获取判别结果的过程为现有技术,在此不进行赘述。
74.在步骤s40中,根据本轮训练的判别结果更新损失函数,并根据更新后的损失函数调整音乐生成模型的网络参数,结束本轮训练。利用adam优化算法对模型进行优化,模型的
损失函数与wgan-gp的损失函数相同,并根据之前研究者的训练策略,每更新若干次判别器的参数后,更新一次生成器的参数,以便更好地提升生成器的性能。根据损失函数更新音乐生成模型的网络参数的方法为现有技术,在此不进行赘述。
75.示例性的,在tensorflow的框架下,构建本实施例一音乐生成模型,生成器中共享子网络至少为两层转置卷积层,音高维度子网络至少为两层转置卷积层和一层平均池化层,时间维度转置卷积层与音高子维度相同。设置优化器为adam,一阶矩估计的指数衰减率为0.5,二阶估计的指数衰减率为0.9模型的损失函数与wgan-gp相同。学习率为0.001,我们获取了网络中爬取多轨音轨midi格式后,按照条件选取n组多轨音乐片段,利用python处理成二元矩阵格式,再将这些片段做滑窗处理(如上述方法),首先选取首轮训练取得的片段,按上述方法训练n轮模型,分别送入本实施例一的音乐生成模型的判别器与生成器中,进行n轮训练。将真实音乐片段作为先验训练矩阵送入训练好的模型,得到结果矩阵,利用python工具转为midi格式。
76.本实施例一公开的基于循环特征提取的音乐生成模型的训练方法,相对于现有技术,具有如下优点:
77.(1)现有的音乐训练数据集中,大部分是采用midi格式的音乐集,本实施例在原有的pianoroll的音乐集训练技术上,运用了滑窗的操作,使音乐训练集中的前后小节衔接更加流畅。
78.(2)与现有的对抗生成网络技术生成音乐的特性相比,为了让生成的音乐样本风格统一,乐节连贯,我们将传统的对抗生成网络中的生成器的单向模式转化为循环模式。增强乐句的上下文相关性,使得音乐样本的连贯性效果更好。
79.(3)现有的音乐生成技术中,对音乐的深层次信息没有充分利用,本实施例在音乐的生成器前面增加了一个音乐数据集的特征提取器,将音乐样本的深层次信息传递到下一轮的训练中,这样音乐的总体风格更统一,深层数据联系更加紧密。
80.(4)由对抗生成网络生成的多音轨音乐样本大都悦耳度较差,音符之间的衔接不连贯,乐句之间不连续,加入平均池化层后,平滑了音乐样本的数据,进而在下一步的转化音乐样本之后,使得音乐的音符衔接更顺滑、更连贯。
81.为了验证训练方法的改进是否成功,我们随机找到了50名志愿者,他们分别为10名专业音乐人(学习音乐或职业是音乐人),10名音乐爱好者(掌握使用一种乐器或是每天都听音乐的人),30名一般听众,分别试听了真实音乐、本实施例一训练得到的模型和原始对抗式生成模型产生的音乐乐句,我们分别随机裁剪了10段由本实施例一训练得到的模型与其他的无监督生成模型产生的乐句,每一句时长为10秒左右。在调查问卷中设置了三项指标,分别为乐句间的上下文连贯性、乐段的节奏和音乐的真实性。在程度的评分上使用李克特量表来让试听者做主观评价,(0不连贯——10很连贯。)为了消除其他因素的干扰,我们使用了一种计分模式,当试听者选择一种模型生成的样本,且在对应模型样本得到的评分高于该样本群体的平均分的作为计数。在音乐上下文的连贯性方面,在专业音乐人中,选择本实施例一训练得到的模型产生的样本更连贯的有6人,占这部分人的60%,这部分人具有音乐专业知识,其主观评价可靠性较高。在音乐爱好者中,选择本实施例一得到的模型产生的样本的人有8个,占这部分人的80。他们有较高的音乐欣赏能力,主观评价可作为重要参考。最后,一般听众选择本实施例一得到的模型的有16,占总人数的53.33%。
82.我们对样本还做了t检验分析,得出专业音乐人、音乐爱好者的选择结果具有显著性(*p《0.05**p《0.01),一般听众的连贯性选择则不具有显著性。这表明专业音乐人与音乐爱好者的评分相对于一般听众可信度更高。
83.结果显示,本实施例一得到的模型在连贯性上的评分较其他的无监督生成模型更高。我们改进模型产生的音乐受到了大多数人的喜爱,相较于原始的模型,听众认为我们生成的音乐上下文连贯性更出色,乐句间衔接更好,不但如此,相较于其他无监督生成模型,我们的生成的数据更接近于训练集的整体风格。
84.实施例二
85.如图6所示,本实施例二公开了一种基于循环特征提取的音乐生成模型的训练装置,所述训练装置包括数据处理单元100、第一输入单元200、第二输入单元300和模型训练单元400。其中,数据处理单元100用于获取本轮训练的音乐输入数据集,并将音乐输入数据集与随机噪声拼接形成本轮训练的训练样本;第一输入单元200用于将本轮训练的训练样本输入至所述生成器中,得到本轮训练的输出数据集,所述当前轮的输出数据集用作下一训练轮的音乐输入数据集;第二输入单元300用于将所述本轮训练的输出数据集和获取到的音乐真实数据样本输入到所述判别器中,得到本轮训练的判别结果;模型训练单元400用于根据本轮训练的判别结果更新损失函数,并根据更新后的损失函数调整音乐生成模型的网络参数,结束本轮训练。
86.具体地,音乐生成模型还包括特征提取器,数据处理单元100还用于:将获取到的本轮训练的音乐输入数据集输入到所述特征提取器,得到本轮训练的音乐特征数据集;将所述本轮训练的音乐特征数据集与随机噪声拼接形成本轮训练的训练样本。
87.生成器包括共享权值网络、音高维度子网络、时间维度子网络和合并子网络,音高维度子网络和时间维度子网络均具有平均池化层,且音高维度子网络和时间维度子网络还分别具有两层卷积层,所述第一输入单元200还用于:将本轮训练的训练样本输入到所述共享权值网络中,得到共享输出数据集;将所述共享输出数据集分别输入到所述音高维度子网络和所述时间维度子网络,分别得到音高维度生成数据和时间维度生成数据;将音高维度生成数据和时间维度生成数据共同输入到所述合并子网络进行拼接,得到本轮训练的输出数据集。合并子网络中还具有tanh函数,拼接后的数据通过tanh函数完成二值化处理。其中,数据处理单元100、第一输入单元200、第二输入单元300和模型训练单元400的处理数据的具体过程,参见实施例一的描述,在此不进行赘述。
88.进一步地,本实施例三还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有基于循环特征提取的音乐生成模型的训练程序,所述基于循环特征提取的音乐生成模型的训练程序被处理器执行时实现上述的基于循环特征提取的音乐生成模型的训练方法。
89.本实施例四还公开了一种计算机设备,在硬件层面,如图7所示,该终端包括处理器12、内部总线13、网络接口14、计算机可读存储介质11。处理器12从计算机可读存储介质中读取对应的计算机程序然后运行,在逻辑层面上形成请求处理装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。所述计算机可读存储介质11上存储有基于循环特征提取的音乐生成模型
的训练程序,所述基于循环特征提取的音乐生成模型的训练程序被处理器执行时实现上述的基于循环特征提取的音乐生成模型的训练方法。
90.计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
91.上面对本发明的具体实施方式进行了详细描述,虽然已表示和描述了一些实施例,但本领域技术人员应该理解,在不脱离由权利要求及其等同物限定其范围的本发明的原理和精神的情况下,可以对这些实施例进行修改和完善,这些修改和完善也应在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1