当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于深度神经网络的旋律MIDI伴奏生成方法技术

技术编号:27532523 阅读:34 留言:0更新日期:2021-03-03 11:12
本发明专利技术公开了一种基于深度神经网络的旋律MIDI伴奏生成方法,属于人工智能、音乐科技技术领域。该旋律MIDI伴奏生成方法包括收集有体裁标签的MIDI数据集,将MIDI数据集处理后获得数据集,通过MuMIDI进行编码,获得词条,将词条输入GC

【技术实现步骤摘要】
一种基于深度神经网络的旋律MIDI伴奏生成方法


[0001]本专利技术涉及人工智能、音乐科技
,特别涉及一种基于深度神经网络的旋律MIDI伴奏生成方法。

技术介绍

[0002]艺术创作一直以来被认为是艺术家的专属领域,然而在近几年来,随着深度学习的发展,艺术创作取得了重大进展,达到了前所未有的高度,比如可以生成指定风格的绘画作品,或是生成可以通过图灵测试的音乐作品。音乐生成是一个巨大的领域,它面临着诸多挑战,尤其是当用户希望控制音乐生成的诸多属性时(比如生成的乐器种类数量,音乐体裁等),所得到的音乐有很大的提升空间,将这一类任务统称条件可控的音乐生成。
[0003]目前主流的条件可控的音乐生成有以下几种工作:第一种是体裁可控的单一体裁的音乐生成,如Hadjeres的DeepBach,Ji-Sung Kim的DeepJazz。两种工作均实现了指定体裁的音乐生成,但缺陷也很明显,它们均无法生成其他体裁的音乐。第二种是乐器种类数量可控,且可以将其中一个乐器作为条件的音乐生成,典型的工作如Hao-Wen Dong的MuseGAN。这个工作能够实现多轨道的伴奏生成,但它的缺点在于无法生成时间长度可控、体裁可控的音乐。第三种工作融合了上面工作的功能,可以实现时间长度可控、体裁可控的多轨道音乐,典型的例子如MuseNet;但其需要海量的MIDI作为训练集(数量级为百万级),且由于训练的参数量大,使得要生成一个指定曲子,它的时间成本将会很高。同时该工作没有办法实现片段续写,旋律伴奏的功能,仅能从头开始生成指定时间的音乐片段,且其展示的demo中,各个轨道的音符密度较为稀疏,音乐的质量较低。综上所述,如果需要在短时间内作出一首风格可控任意时间长度的多轨道音乐片段,市面上没有现成的能够满足上述所有要求的方案。

技术实现思路

[0004]针对现有技术中存在的问题,本专利技术提供了一种基于深度神经网络的旋律MIDI伴奏生成方法。该方法能从多维度对生成的音乐进行控制,同时,也能拓展到从头开始的音乐生成的任务中去。
[0005]本专利技术的目的是通过如下技术方案实现的:一种基于深度神经网络的旋律MIDI伴奏生成方法,具体包括如下步骤:
[0006](1)使用爬虫的方法在互联网上收集有体裁标签的MIDI数据集,并按照体裁标签进行分类;所述体裁包括:流行,乡村,爵士;
[0007](2)将步骤(1)收集的MIDI数据经旋律抽取、轨道压缩、数据过滤、整曲分割、和弦识别后,获得MIDI片段,并将所述MIDI片段打乱,获得数据集;
[0008](3)将所述数据集通过MuMIDI进行编码,获得词条,根据不同的任务将所述词条分成目标词条和条件词条;所述编码的维度包括:小节序数、音符位置、轨道序数、音符属性、和弦以及元属性;所述元属性中加入“体裁”符号,编码数据集的体裁信息;
[0009](4)将目标词条和条件词条输入至GC-Transformer模型中进行训练,输出带有伴奏的MIDI片段,当总损失函数收敛时,完成对GC-Transformer模型的训练;保存训练后得到的GC-Transformer模型的参数和超参数;所述总损失函数为全局语义损失函数、体裁损失函数与语言模型损失函数之和;
[0010](5)用户将仅含有旋律的MIDI片段进行编码,并输入至步骤(4)训练好的GC-Transformer模型中,最终输出生成好伴奏的MIDI片段。
[0011]进一步地,所述GC-Transformer模型包括:基础组件、语义表征组件和域对抗组件;所述语义表征组件与域对抗组件连接,所述语义表征组件与基础组件连接;
[0012]所述语义表征组件由递归编码器、递归参考编码器、条件词条的隐层、多头语义注意力层、线性层组成;所述递归编码器、条件词条的隐层和线性层依次连接;所述递归参考编码器与多头语义注意力层连接;
[0013]所述基础组件由递归编码器、条件词条的隐层和递归解码器依次连接;
[0014]所述域对抗组件由梯度反转层、线性层、一维小批次正则层、Relu激活函数和线性层依次连接组成。
[0015]进一步地,其特征在于,所述超参数为:注意力层数为4,注意力头数为8,编码器层数为4,编码器头数为8,解码器层数为8,解码器头数为8;所述参数为所有隐层的大小均为256,词嵌入维度为256,训练输入词条的长度和记忆长度均为512。
[0016]与现有技术相比,本专利技术具有如下有益效果:
[0017](1)本专利技术能生成风格可控且时长任意的音乐片段;
[0018](2)本专利技术所需训练数据量较少,通常在1k的量级;
[0019](3)本专利技术耗费硬件资源少,生成时间短,在前向传播时可以使用非GPU硬件,如在CPU条件下也能实现平均每个小节1.5秒的生成时间;
[0020](4)本专利技术生成音乐质量高,生成的音乐已通过图灵测试。
附图说明
[0021]图1为收集的MIDI数据处理流程图;
[0022]图2为GC-Transformer模型的结构图;
[0023]图3为输入的八小节旋律图;
[0024]图4为通过本专利技术方法生成的伴奏图。
具体实施方式
[0025]本专利技术公开了一种基于深度神经网络的旋律MIDI伴奏生成方法,具体包括如下步骤:
[0026](1)使用爬虫的方法在互联网上收集有体裁标签的MIDI数据集,并按照体裁标签进行分类;所述体裁包括:流行,乡村,爵士;收集MIDI数据集的渠道包括FreeMidi网站、Lakh Midi Dataset公开数据集、MidiShow网站。
[0027](2)将步骤(1)收集的MIDI数据经旋律抽取、轨道压缩、数据过滤、整曲分割、和弦识别后,获得MIDI片段,并将所述MIDI片段打乱,获得数据集;具体处理过程如图1所示,包括如下子步骤:
[0028](2.1)旋律抽取:采用开源工具:Midi Miner,该工具的功能是可以分析出一首多轨道的Midi中哪一轨道是旋律轨。使用Midi Miner对收集的每一个MIDI数据的旋律轨进行标注,如果遇到没有旋律轨的情况,将MIDI数据中的音色改为长笛,即GM音色表序号为74的轨道标记为旋律轨,因为在大部分情况下,长笛音色被用作主旋律的音色。
[0029](2.2)轨道压缩:对收集的每一个MIDI数据中,通常会含有各种复杂的乐器。而本专利技术的技术方案中仅要求五种乐器,分别是贝斯、鼓、吉他、钢琴和弦乐。因此,对于其他乐器演奏的轨道,直接丢弃,仅保留由上述乐器演奏的轨道。同时当有多个轨道是由同一种乐器演奏时,仅保留其中音符数量最多的一个轨道。
[0030](2.3)数据过滤:对收集的每一个MIDI数据中的每一个轨道进行判断,若其少于二十个音符,则直接丢弃该轨道。然后再对每一个MIDI数据进行判断,若该MIDI数据没有旋律轨道或者仅有旋律轨道而没有其他轨道,则丢弃这个MIDI数据。
[0031](2.4)本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于深度神经网络的旋律MIDI伴奏生成方法,其特征在于,具体包括如下步骤:(1)使用爬虫的方法在互联网上收集有体裁标签的MIDI数据集,并按照体裁标签进行分类;所述体裁包括:流行,乡村,爵士;(2)将步骤(1)收集的MIDI数据经旋律抽取、轨道压缩、数据过滤、整曲分割、和弦识别后,获得MIDI片段,并将所述MIDI片段打乱,获得数据集;(3)将所述数据集通过MuMIDI进行编码,获得词条,根据不同的任务将所述词条分成目标词条和条件词条;所述编码的维度包括:小节序数、音符位置、轨道序数、音符属性、和弦以及元属性;所述元属性中加入“体裁”符号,编码数据集的体裁信息;(4)将目标词条和条件词条输入至GC-Transformer模型中进行训练,输出带有伴奏的MIDI片段,当总损失函数收敛时,完成对GC-Transformer模型的训练;保存训练后得到的GC-Transformer模型的参数和超参数;所述总损失函数为全局语义损失函数、体裁损失函数与语言模型损失函数之和;(5)用户将仅含有旋律的MIDI片段进行编码,并输入至步骤...

【专利技术属性】
技术研发人员:计紫豪汪凯巍
申请(专利权)人:浙江大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1