基于循环神经网络的MIDI演奏风格自动转换系统技术方案

技术编号:25311499 阅读:21 留言:0更新日期:2020-08-18 22:29
本发明专利技术公开了一种基于循环神经网络的MIDI演奏风格自动转换系统,包括MIDI分析模块、数据预处理模块、自编码器模块、风格网络模块和乐曲生成模块。其中,MIDI分析模块读取用户输入,将多音轨MIDI合并为单音轨MIDI,作为乐谱;数据预处理模块用于从乐谱中提取音符特征;自编码器模块将音符特征进行编解码;风格网络模块学习乐谱的演奏风格,并预测力度向量;乐曲生成模块用于为乐谱配置风格网络模块预测的力度向量,并转换为富有表现力的乐曲。本发明专利技术的演奏风格自动转换系统,满足音乐爱好者的个性化需求,生成用户喜欢的演奏风格的乐曲;同时,可以作为专业人士的工具,使他们可以轻松地将新样式和创意融入其作曲工作中。

【技术实现步骤摘要】
基于循环神经网络的MIDI演奏风格自动转换系统
本专利技术涉及计算机辅助作曲
,具体涉及一种基于循环神经网络的MIDI演奏风格自动转换系统。
技术介绍
当今社会,人们在追求物质生活水平的同时,也积极探索着丰富的精神与情感世界。音乐作为人们表达情感的一种有效方式,组成并支撑着人类的精神生活,在娱乐、教育、医疗等方面有着不可或缺的作用。不同流派的音乐,传达出不同的乐曲风格。把握音乐的风格,对于理解音乐作品具有重要的意义。一个演奏者能否真正理解音乐作品,也只能通过他在演奏过程中对音乐风格的把握正确与否来判断。演奏风格可以从节奏、力度、音色等方面来进行描述。乐器数字接口(MusicalInstrumentDigitalInterface,MIDI)是一个工业标准的电子通信协议,可以说MIDI就是电子乐器在看的电子乐谱,它不记录声音,而是记录一系列的演奏指令,通常一个文件只需几十KB,就能够让电子乐器演奏出一首很完整的音乐。在MIDI规范中,每一个音符都有自己的力度属性,可以通过力度来刻画不同的演奏风格。人工作曲需要创作者具备扎实的乐理知识,对于普通人来说门槛过高,人工智能的兴起催生了智能作曲,通常用来生成旋律。然而,智能作曲主要集中于产生音乐的组成音符,即音高和时值,缺乏动态性。同样的一首曲子,新手和经验丰富的人会演奏出不同的力度范围。如果能为生成的乐谱自动配置力度,用于辅助智能作曲,可以增加生成音乐的表现力。随着互联网和多媒体技术的快速发展,可以在互联网上下载和传输的数字音乐占据了主流的音乐市场。国内外众多公司纷纷推出了自己的音乐平台,汇聚了大量的用户,只要你的作品足够出色,就可以走进众多观众的视线。对于新时代的年轻人来说,基于已有的乐谱自动创作属于不同风格的演奏方式颇具吸引力。对于作曲家来说,通常都是边演奏边记录,演奏风格转换可以作为创作者的工具,使他们可以轻松地将新样式和创意融入其作曲工作中。
技术实现思路
本专利技术的目的是为了解决现有技术中的上述缺陷,提供一种基于循环神经网络的MIDI演奏风格自动转换系统,为已有乐谱自动配置属于不同演奏风格的力度,改善目前机器生成音乐缺乏表现力、动态性等问题。本专利技术的目的可以通过采取如下技术方案达到:一种基于循环神经网络的MIDI演奏风格自动转换系统,所述的MIDI演奏风格自动转换系统包括依次顺序连接的MIDI分析模块、数据预处理模块、自编码器模块、风格网络模块和乐曲生成模块;其中,所述的MIDI分析模块用于读取用户输入的MIDI,并将多音轨MIDI合并为单音轨MIDI,作为乐谱;所述的数据预处理模块用于从乐谱中提取音符特征;所述的自编码器模块将提取的音符特征进行编解码,用于压缩乐谱的表层特征并提取乐谱的高级特征;所述的风格网络模块用于学习乐谱的演奏风格,并预测力度向量,辅助作曲;所述的乐曲生成模块用于为乐谱配置风格网络模块预测的力度向量,并转换成富有表现力的乐曲;所述的MIDI演奏风格自动转换系统进行演奏风格自动转换包含以下步骤:将用户输入的MIDI输送至MIDI分析模块,MIDI分析模块分析输入MIDI的类型,若该MIDI包含多条音符音轨,则除打击乐音轨外,合并剩余的所有音符音轨,否则不进行任何处理,保存合并后的MIDI,作为乐谱;获取音符向量,数据预处理模块从乐谱中提取音符矩阵,将其输入到已训练好的自编码器模块,经其中的音符自编码器中的编码器编码后输出音符向量;将音符向量输入到已训练好的不同风格网络模块,不同风格网络模块预测生成不同风格的力度向量;乐曲生成模块为乐谱配置用户选定风格对应的风格网络模块生成的力度向量,并转换为用户选定风格的MIDI。进一步地,所述的MIDI分析模块的工作过程如下:首先遍历MIDI的所有音轨,MIDI的音轨分为全局音轨和音符音轨,每条音符音轨分别定义一种音色,对应一个声部,不考虑打击乐音轨,合并剩下的所有音符音轨,作为乐谱,如果输入MIDI只包含一条音符音轨,则无需任何处理。进一步地,所述的数据预处理模块用于从乐谱中提取音符特征,音符特征包括音高、音符开始时间、音符持续时间及力度,利用音符特征设计音符矩阵和力度矩阵;乐谱的总时间步长为T,单位为MIDI中的最小时间单位Ticks;首先需要确定单个时间步表示的最小音符,假如1个时间步表示1个十六分音符,那么1个四分音符用4个时间步来表示;音符矩阵的行表示时间步t,范围为0-T,音符矩阵的列表示音高p,范围为0-127,音符矩阵的值表示在该时间步下的音符状态,音符状态使用0和1组成的二维向量来表示,共包含三种音符状态:关、持续和开,用二维向量分别表示为[0,0]、[1,1]和[1,0];力度矩阵的行表示时间步t,范围为0-T,列表示音高p,范围为0-127,音符矩阵的值表示该时间步下相应音高的音符的力度,取值为0-127。进一步地,所述的自编码器模块用于对音符矩阵和力度矩阵进行编解码,相对于直接使用原始的音符矩阵和力度矩阵分别作为风格网络模块的输入和目标,自编码器模块承担了一部分特征提取的职责,用于压缩音符矩阵和力度矩阵的维度并提取乐谱的高级特征,有利于加快风格网络模块的训练。进一步地,所述的自编码器模块包括音符自编码器和力度自编码器两个独立的单元,每个单元都由编码器和解码器两部分顺序连接构成;其中,所述的音符自编码器由输入层、隐藏层和输出层组成,隐藏层由双向循环神经网络构成,音符自编码器以音符矩阵为输入,输出重构后的音符矩阵,输入层到隐藏层连接构成编码器,其映射关系用于编码,将音符矩阵转换为音符向量;隐藏层到输出层连接构成解码器,其映射关系用于解码,将音符向量重构为音符矩阵;所述的力度自编码器由输入层、隐藏层和输出层组成,隐藏层由双向循环神经网络构成,力度自编码器以力度矩阵为输入,输出重构后的力度矩阵,输入层到隐藏层连接构成编码器,其映射关系用于编码,将力度矩阵转换为力度向量;隐藏层到输出层连接构成解码器,其映射关系用于解码,将力度向量重构为力度矩阵。进一步地,所述的自编码器模块的训练由音符自编码器和力度自编码器分别单独训练组成,整个训练过程为:步骤S1、获取下载的不同风格MIDI数据集,其中每一个MIDI都有自己的风格标签:经典音乐、流行音乐、爵士音乐、金属音乐、乡村音乐、舞曲、民谣,将风格标签使用整数编码为风格0,风格1,…,风格N,N为风格的种类数,遍历所有MIDI的除打击乐音轨外的所有音符音轨,统计每一个MIDI的力度种类,删除力度种类少于45种的MIDI,将删选后剩余的所有MIDI,进行移调来扩充数据集,以覆盖所有可能的音调,移调前后的MIDI风格标签编码不变,得到训练用的不同风格MIDI数据集;步骤S2、对每一风格MIDI数据集,将该风格MIDI数据集中所有MIDI依次输入到MIDI分析模块和数据预处理模块,将产生的音符矩阵和力度矩阵分别添加到音符矩阵列表和力度矩阵列表中,处理完所有不同风格MIDI数据集后,得到不同风格的样本特征集,该样本文档来自技高网
...

【技术保护点】
1.一种基于循环神经网络的MIDI演奏风格自动转换系统,其特征在于,所述的MIDI演奏风格自动转换系统包括依次顺序连接的MIDI分析模块、数据预处理模块、自编码器模块、风格网络模块和乐曲生成模块;其中,/n所述的MIDI分析模块用于读取用户输入的MIDI,并将多音轨MIDI合并为单音轨MIDI,作为乐谱;所述的数据预处理模块用于从乐谱中提取音符特征;所述的自编码器模块将提取的音符特征进行编解码,用于压缩乐谱的表层特征并提取乐谱的高级特征;所述的风格网络模块用于学习乐谱的演奏风格,并预测力度向量,辅助作曲;所述的乐曲生成模块用于为乐谱配置风格网络模块预测的力度向量,并转换成富有表现力的乐曲;/n所述的MIDI演奏风格自动转换系统进行演奏风格自动转换包含以下步骤:/n将用户输入的MIDI输送至MIDI分析模块,MIDI分析模块分析输入MIDI的类型,若该MIDI包含多条音符音轨,则除打击乐音轨外,合并剩余的所有音符音轨,否则不进行任何处理,保存合并后的MIDI,作为乐谱;/n获取音符向量,数据预处理模块从乐谱中提取音符矩阵,将其输入到已训练好的自编码器模块,经其中的音符自编码器中的编码器编码后输出音符向量;/n将音符向量输入到已训练好的不同风格网络模块,不同风格网络模块预测生成不同风格的力度向量;/n乐曲生成模块为乐谱配置用户选定风格对应的风格网络模块生成的力度向量,并转换为用户选定风格的MIDI。/n...

【技术特征摘要】
1.一种基于循环神经网络的MIDI演奏风格自动转换系统,其特征在于,所述的MIDI演奏风格自动转换系统包括依次顺序连接的MIDI分析模块、数据预处理模块、自编码器模块、风格网络模块和乐曲生成模块;其中,
所述的MIDI分析模块用于读取用户输入的MIDI,并将多音轨MIDI合并为单音轨MIDI,作为乐谱;所述的数据预处理模块用于从乐谱中提取音符特征;所述的自编码器模块将提取的音符特征进行编解码,用于压缩乐谱的表层特征并提取乐谱的高级特征;所述的风格网络模块用于学习乐谱的演奏风格,并预测力度向量,辅助作曲;所述的乐曲生成模块用于为乐谱配置风格网络模块预测的力度向量,并转换成富有表现力的乐曲;
所述的MIDI演奏风格自动转换系统进行演奏风格自动转换包含以下步骤:
将用户输入的MIDI输送至MIDI分析模块,MIDI分析模块分析输入MIDI的类型,若该MIDI包含多条音符音轨,则除打击乐音轨外,合并剩余的所有音符音轨,否则不进行任何处理,保存合并后的MIDI,作为乐谱;
获取音符向量,数据预处理模块从乐谱中提取音符矩阵,将其输入到已训练好的自编码器模块,经其中的音符自编码器中的编码器编码后输出音符向量;
将音符向量输入到已训练好的不同风格网络模块,不同风格网络模块预测生成不同风格的力度向量;
乐曲生成模块为乐谱配置用户选定风格对应的风格网络模块生成的力度向量,并转换为用户选定风格的MIDI。


2.根据权利要求1所述的基于循环神经网络的MIDI演奏风格自动转换系统,其特征在于,所述的MIDI分析模块的工作过程如下:
首先遍历MIDI的所有音轨,MIDI的音轨分为全局音轨和音符音轨,每条音符音轨分别定义一种音色,对应一个声部,不考虑打击乐音轨,合并剩下的所有音符音轨,作为乐谱,如果输入MIDI只包含一条音符音轨,则无需任何处理。


3.根据权利要求1所述的基于循环神经网络的MIDI演奏风格自动转换系统,其特征在于,所述的数据预处理模块用于从乐谱中提取音符特征,音符特征包括音高、音符开始时间、音符持续时间及力度,利用音符特征设计音符矩阵和力度矩阵;乐谱的总时间步长为T,单位为MIDI中的最小时间单位Ticks;首先需要确定单个时间步表示的最小音符,假如1个时间步表示1个十六分音符,那么1个四分音符用4个时间步来表示;音符矩阵的行表示时间步t,范围为0-T,音符矩阵的列表示音高p,范围为0-127,音符矩阵的值表示在该时间步下的音符状态,音符状态使用0和1组成的二维向量来表示,共包含三种音符状态:关、持续和开,用二维向量分别表示为[0,0]、[1,1]和[1,0];力度矩阵的行表示时间步t,范围为0-T,列表示音高p,范围为0-127,音符矩阵的值表示该时间步下相应音高的音符的力度,取值为0-127。


4.根据权利要求1所述的基于循环神经网络的MIDI演奏风格自动转换系统,其特征在于,所述的自编码器模块包括音符自编码器和力度自编码器两个独立的单元,分别用于压缩音符矩阵和力度矩阵的维度并提取乐谱的高级特征;
所述的自编码器模块包括音符自编码器和力度自编码器两个独立的单元,每个单元都由编码器和解码器两部分顺序连接构成;其中,所述的音符自编码器由输入层、隐藏层和输出层组成,隐藏层由双向循环神经网络构成,音符自编码器以音符矩阵为输入,输出重构后的音符矩阵,输入层到隐藏层连接构成编码器,其映射关系用于编码,将音符矩阵转换为音符向量;隐藏层到输出层连接构成解码器,其映射关系用于解码,将音符向量重构为音符矩阵;
所述的力度自编码器由输入层、隐藏层和输出层组成,隐藏层由双向循环神经网络构成,力度自编码器以力度矩阵为输入,输出重构后的力度矩阵,输入层到隐藏层连接构成编码器,其映射关系用于编码,将力度矩阵转换为力度向量;隐藏层到输出层连接构成解码器,其映射关系用于解码,将力度向量重构为力度矩阵。


5.根据权利要求4所述的基于循环神经网络的MIDI演奏风格自动转换系统,其特征在于,所述的自编码器模块的训练由音符自编码器和力度自编码器分别单独训练组成,整个训练过程为:
步骤S1、获取下载的不同风格MIDI数据集,其中每一个MIDI都有自己的风格标签:经典音乐、流行音乐、爵士音乐、金属音乐、乡村音乐、舞曲、民谣,将风格标签使用整数编码为...

【专利技术属性】
技术研发人员:丁泉龙戴安东曹燕韦岗
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东;44

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

1