CN111554255B - 基于循环神经网络的midi演奏风格自动转换系统 - Google Patents

基于循环神经网络的midi演奏风格自动转换系统 Download PDF

Info

Publication number
CN111554255B
CN111554255B CN202010315590.2A CN202010315590A CN111554255B CN 111554255 B CN111554255 B CN 111554255B CN 202010315590 A CN202010315590 A CN 202010315590A CN 111554255 B CN111554255 B CN 111554255B
Authority
CN
China
Prior art keywords
note
style
midi
encoder
matrix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010315590.2A
Other languages
English (en)
Other versions
CN111554255A (zh
Inventor
丁泉龙
戴安东
曹燕
韦岗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN202010315590.2A priority Critical patent/CN111554255B/zh
Publication of CN111554255A publication Critical patent/CN111554255A/zh
Application granted granted Critical
Publication of CN111554255B publication Critical patent/CN111554255B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0008Associated control or indicating means
    • G10H1/0025Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/101Music Composition or musical creation; Tools or processes therefor
    • G10H2210/105Composing aid, e.g. for supporting creation, edition or modification of a piece of music
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/101Music Composition or musical creation; Tools or processes therefor
    • G10H2210/111Automatic composing, i.e. using predefined musical rules
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/101Music Composition or musical creation; Tools or processes therefor
    • G10H2210/131Morphing, i.e. transformation of a musical piece into a new different one, e.g. remix
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/101Music Composition or musical creation; Tools or processes therefor
    • G10H2210/145Composing rules, e.g. harmonic or musical rules, for use in automatic composition; Rule generation algorithms therefor
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/011Files or data streams containing coded musical information, e.g. for transmission
    • G10H2240/046File format, i.e. specific or non-standard musical file format used in or adapted for electrophonic musical instruments, e.g. in wavetables
    • G10H2240/056MIDI or other note-oriented file format
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/005Algorithms for electrophonic musical instruments or musical processing, e.g. for automatic composition or resource allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/311Neural networks for electrophonic musical instruments or musical processing, e.g. for musical recognition or control, automatic composition or improvisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

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

Description

基于循环神经网络的MIDI演奏风格自动转换系统
技术领域
本发明涉及计算机辅助作曲技术领域,具体涉及一种基于循环神经网络的MIDI演奏风格自动转换系统。
背景技术
当今社会,人们在追求物质生活水平的同时,也积极探索着丰富的精神与情感世界。音乐作为人们表达情感的一种有效方式,组成并支撑着人类的精神生活,在娱乐、教育、医疗等方面有着不可或缺的作用。不同流派的音乐,传达出不同的乐曲风格。把握音乐的风格,对于理解音乐作品具有重要的意义。一个演奏者能否真正理解音乐作品,也只能通过他在演奏过程中对音乐风格的把握正确与否来判断。演奏风格可以从节奏、力度、音色等方面来进行描述。
乐器数字接口(Musical Instrument Digital Interface,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数据集后,得到不同风格的样本特征集,该样本特征集包括风格标签编码,音符矩阵列表,力度矩阵列表;
步骤S3、训练特定风格的音符自编码器和力度自编码器,以风格0的样本特征集为输入,对于音符自编码器,取对应的音符矩阵列表,以32为一个批次,将音符矩阵列表按批次划分为多个音符矩阵子列表,输入同一批次音符矩阵子列表中的所有音符矩阵到音符自编码器的输入层,进行200次以上训练,使用均方误差作为损失函数,比较输入的音符矩阵和生成的音符矩阵之间的差异,直到损失函数收敛为止,得到训练好的音符自编码器;对于力度自编码器,取对应的力度矩阵列表,以32为一个批次,将力度矩阵列表按批次划分为多个力度矩阵子列表,输入同一批次力度矩阵子列表中的所有力度矩阵到力度自编码器的输入层,进行200次以上训练,使用均方误差作为损失函数,比较输入的力度矩阵和生成的力度矩阵之间的差异,直到损失函数收敛为止,得到训练好的力度自编码器;将训练好的音符自编码器和力度自编码器结合起来,得到训练好的风格0自编码器模块;
步骤S4、对每一风格的样本特征集执行步骤S3,从而得到训练好的N种不同风格自编码器模块。
进一步地,所述的风格网络模块用于学习乐谱的演奏风格,由输入层、隐藏层和输出层顺序连接组成,其中,隐藏层由多层双向循环神经网络构成,风格网络模块的输入层接收自编码器模块中的音符自编码器中的编码器输出的音符向量,以自编码器模块中的力度自编码器中的编码器输出的力度向量为学习目标,音符向量通过输入层再经过隐藏层学习最后到达输出层,输出预测的力度向量。
进一步地,所述的风格网络模块的训练过程为:
步骤T1、获取来自不同风格自编码器模块中的音符自编码器中的编码器和力度自编码器中的编码器输出的音符向量和力度向量,并分别添加进音符向量列表和力度向量列表,构成不同待训练的风格网络模块所需的数据集,该数据集包括风格标签编码,音符向量列表,力度向量列表;
步骤T2、训练特定风格网络模块,以风格0的数据集为输入,取风格0的音符向量列表和力度向量列表,以8为一个批次,将音符向量列表和力度向量列表按批次划分为多个音符向量子列表和力度向量子列表,输入同一批次音符向量子列表中的所有音符向量到风格网络模块的输入层,以对应批次力度向量子列表中的所有力度向量为学习目标,利用由多层循环神经网络构成的隐藏层的多对多的学习能力,进行200次以上训练,使用均方误差作为损失函数,比较输入的力度向量和生成的力度向量之间的差异,直到损失函数收敛为止,得到训练好的风格0网络模块;
步骤T3、对步骤T1中获取的每一风格网络模块训练用的数据集依次执行步骤T2,得到多个训练好的不同风格网络模块。
进一步地,所述的乐曲生成模块用于为MIDI分析模块获取的乐谱配置用户选定风格对应的风格网络模块输出的力度向量,并转换为富有表现力的MIDI乐曲,配置过程为:
步骤R1、将用户选定风格对应的风格网络模块输出的力度向量通过对应风格自编码器模块中的力度自编码器中的解码器进行解码后获取力度矩阵;
步骤R2、取MIDI分析模块得到的乐谱,遍历该乐谱唯一的一条音符音轨上的所有音符打开事件,利用音符的开始时间计算其对应的量化后的位置,结合音符的音高,在步骤R1解码获取的力度矩阵中寻找对应位置处的力度值,并在该音符音轨中替换掉原始的力度值;
步骤R3、保存替换后的音符音轨,并结合乐谱中已有的未修改的全局音轨,作为转换后的MIDI乐曲。
本发明相对于现有技术具有如下的优点及效果:
1.本发明在常见的钢琴卷帘矩阵的基础上进行改进并提取出音符矩阵与力度矩阵,有效分辨出多个相同音高的连续音,使得在音符矩阵中可以表示更多的乐曲信息。
2.本发明使用音符自编码器和力度自编码器来提取乐谱的高级特征,既压缩了维度,又学习到了特定风格的抽象表示,并加快风格网络模块的训练。
3.本发明利用循环神经网络使用不同风格MIDI数据集训练不同风格网络模块,满足用户的个性化需求,帮助音乐爱好者即兴创作不同演奏风格的乐曲。
4.本发明提供的为用户输入的MIDI自动配置不同演奏风格的力度,可以作为专业人士的工具,使他们可以轻松地将新样式和创意融入他们的工作中。
附图说明
图1是本发明实施例中基于循环神经网络的MIDI演奏风格自动转换系统的结构示意图;
图2是本发明实施例中基于循环神经网络的MIDI演奏风格自动转换系统的工作流程图;
图3是本发明实施例中从乐谱中提取音符矩阵和力度矩阵的流程图。
图4是本发明实施例中自编码器原理示意图;
图5是本发明实施例中自编码器模块结构示意图;
图6是本发明实施例中自编码器模块训练示意图;
图7是本发明实施例中风格网络模块的训练示意图;
图8是本发明实施例中乐曲生成模块工作流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例公开一种基于循环神经网络的MIDI演奏风格自动转换系统,该系统包括依次顺序连接的MIDI分析模块、数据预处理模块、自编码器模块、风格网络模块和乐曲生成模块。其中,MIDI分析模块用于读取用户输入的MIDI,并将多音轨MIDI合并为单音轨MIDI,保存合并音符音轨后的MIDI,作为乐谱;数据预处理模块用于从乐谱中提取音符特征来表征乐谱;自编码器模块用于将提取的音符特征进行编解码,用于压缩乐谱的表层特征并提取乐谱的高级特征;风格网络模块用于学习乐谱的演奏风格,生成符合特定演奏风格的力度向量,辅助作曲;乐曲生成模块用于为乐谱配置风格网络模块预测的力度向量,并转换成富有表现力的MIDI乐曲。
该MIDI演奏风格自动转换系统进行演奏风格自动转换包含以下步骤:
将用户输入的MIDI输送至MIDI分析模块,MIDI分析模块分析输入MIDI的类型,若该MIDI包含多条音符音轨,则除打击乐音轨外,合并剩余的所有音符音轨,否则不进行任何处理,保存合并后的MIDI,作为乐谱;
获取音符向量,数据预处理模块从乐谱中提取音符矩阵,将其输入到已训练好的自编码器模块,经其中的音符自编码器中的编码器编码后输出音符向量;
将音符向量输入到已训练好的不同风格网络模块,不同风格网络模块预测生成不同风格的力度向量;
乐曲生成模块为乐谱配置用户选定风格对应的风格网络模块生成的力度向量,并转换为用户选定风格的MIDI。
MIDI是由一系列不同的MIDI事件组成,其中最重要的就是音符事件,包括音符打开事件和音符关闭事件。MIDI事件中的时间表示的是将要发生的MIDI事件与前一个MIDI事件的时间差delta_time,而不是MIDI事件发生的确切时间current_time,为了获取音符事件的开始时间,可采用累加时间差的方式来获取,即current_time=∑delta_time。
本实施例中MIDI分析模块,用于将多音轨MIDI合并为单音轨MIDI。MIDI的音轨分为全局音轨和音符音轨,MIDI有三种格式,格式0为单音轨,只有一个音符音轨;格式1为同步多音轨,有两个或以上的音符音轨,所有音符音轨开始演奏的时间相同,最常见;格式2为异步多音轨,有多个音符音轨,且所有音符音轨不同步,很少见;格式0和格式1的MIDI可以相互转换。无论哪一种格式,MIDI都包含一条全局音轨和至少一条音符音轨。考虑最常见的格式1,将多音轨MIDI合并为单音轨MIDI,作为乐谱。因为打击乐音轨没有确定的音高,所以不考虑打击乐音轨,MIDI包含16个通道,第10通道专为打击乐,根据音符事件的通道号可判别出当前音符音轨是否为打击乐音轨。
本实施例中数据预处理模块,用于从乐谱中提取音符特征,音符特征包括音高、音符开始时间、音符持续时间及力度,利用音符特征设计音符矩阵和力度矩阵。为了在矩阵中更多的表示音符信息,需要量化音符,使得音符的开始时间移到所设定的时间步,时间步的单位为MIDI规范中定义的最小时间单位Ticks,确定好单个时间步表示的最小音符,假如1个时间步表示1个十六分音符,那么1个四分音符用4个时间步来表示。音符时值与Ticks的换算关系一般为:1个四分音符对应120个Ticks。根据这个关系可以很快计算出更长或更短的音符是由多少个Ticks组成。
音符矩阵和力度矩阵的设计参考常见的钢琴卷帘矩阵,钢琴卷帘矩阵使用0和1组成的矩阵表示每个音符状态信息,其中行表示时间步,列表示音高,范围为0-127,用0或1来表示钢琴卷帘矩阵值,1表示在该时间步按下音符,0表示在该时间步松开音符。当出现一连串的1时,这种方法无法分辨是被多次弹奏还是一个持续时间较长的音,造成描述乐曲的表现力不足。基于此,本系统使用0和1组成的二维向量来表示音符状态,音符状态包含三种:关、持续和开,使用二维向量分别表示为[0,0]、[1,1]和[1,0]。考虑乐谱的总时间步长为T,音符矩阵和力度矩阵的设计分别为:音符矩阵的行表示时间步t,范围为0-T,音符矩阵的列表示音高p,范围为0-127,音符矩阵的值表示在该时间步下由二维向量表示的音符状态;力度矩阵的行表示时间步t,范围为0-T,列表示音高p,范围为0-127,音符矩阵的值表示该时间步下相应音高的音符的力度,取值为0-127。
本实施例中自编码器模块用于对音符矩阵和力度矩阵进行编解码,相对于直接使用原始的音符矩阵和力度矩阵分别作为风格网络模块的输入和目标,自编码器模块承担了一部分特征提取的职责,用于压缩音符矩阵和力度矩阵的维度并提取乐谱的高级特征,有利于加快风格网络模块的训练。
循环神经网络(Recurrent Neural Network,RNN)因其连接中存在着大量的环路,导致信息在传递的过程中有可能长期在网络中保留,从而相比于普通的前馈神经网络,RNN具有更好的记忆能力,非常适合处理序列数据。而音乐正是一种由具有前后关联的音符上下文组成的序列数据。但是普通RNN存在着梯度消失的问题,在实际应用中,使用最广的是其改进型长短期记忆(Long Short-Term Memory,LSTM)和门控循环单元(Gated RecurrentUnit,GRU),并且相比LSTM,在预测效果相当的情况下,GRU的结构更为简单。同时,由于普通RNN只考虑了过去的信息,不足以完全地理解音乐上下文,解决办法是采用双向循环神经网络,它同时考虑了过去和将来的信息。
自编码器模块包含音符自编码器和力度自编码器两个独立的单元,每个单元都由编码器和解码器两部分顺序连接构成;其中,音符自编码器由输入层、隐藏层和输出层组成,隐藏层由基于GRU的双向循环神经网络构成,音符自编码器以音符矩阵为输入,输出重构后的音符矩阵,输入层到隐藏层连接构成编码器,其映射关系用于编码,将音符矩阵转换为音符向量;隐藏层到输出层连接构成解码器,其映射关系用于解码,将音符向量重构为音符矩阵;力度自编码器由输入层、隐藏层和输出层组成,隐藏层由基于GRU的双向循环神经网络构成,力度自编码器以力度矩阵为输入,输出重构后的力度矩阵,输入层到隐藏层连接构成编码器,其映射关系用于编码,将力度矩阵转换为力度向量;隐藏层到输出层连接构成解码器,其映射关系用于解码,将力度向量重构为力度矩阵。
上述构成音符自编码器和力度自编码器的两个组成部分中,编码器用于将输入样本压缩成潜在空间表征,可以用y=f(x)来表示,其中x表示编码器的输入,y表示编码器的输出,f表示编码函数;解码器用于重构来自潜在空间表征的输入,可以用z=g(y)来表示,其中y表示解码器的输入即编码器的输出,z表示解码器的输出,g表示解码函数。通过限制编码器的输出y的维度使其小于编码器的输入x的维度,可以使得音符自编码器和力度自编码器能够学到输入数据中最重要的特征。
自编码器模块的训练由音符自编码器和力度自编码器分别单独训练组成,整个训练过程为:
步骤S1、获取下载的不同风格MIDI数据集,其中每一个MIDI都有自己的风格标签:经典音乐、流行音乐、爵士音乐、金属音乐、乡村音乐、舞曲、民谣,将风格标签使用整数编码为风格0,风格1,…,风格N,N为风格的种类数,遍历所有MIDI的除打击乐音轨外的所有音符音轨,统计每一个MIDI的力度种类,删除力度种类少于45种的MIDI,将删选后剩余的所有MIDI,进行移调来扩充数据集,以覆盖所有可能的音调,移调前后的MIDI风格标签编码不变,得到训练用的不同风格MIDI数据集;
步骤S2、对每一风格MIDI数据集,将该风格MIDI数据集中所有MIDI依次输入到MIDI分析模块和数据预处理模块,将产生的音符矩阵和力度矩阵分别添加到音符矩阵列表和力度矩阵列表中,处理完所有不同风格MIDI数据集后,得到不同风格的样本特征集,该样本特征集包括风格标签编码,音符矩阵列表,力度矩阵列表;
步骤S3、训练特定风格的音符自编码器和力度自编码器,以风格0的样本特征集为输入,对于音符自编码器,取对应的音符矩阵列表,以32为一个批次,将音符矩阵列表按批次划分为多个音符矩阵子列表,输入同一批次音符矩阵子列表中的所有音符矩阵到音符自编码器的输入层,进行200次以上训练,使用均方误差作为损失函数,比较输入的音符矩阵和生成的音符矩阵之间的差异,直到损失函数收敛为止,得到训练好的音符自编码器;对于力度自编码器,取对应的力度矩阵列表,以32为一个批次,将力度矩阵列表按批次划分为多个力度矩阵子列表,输入同一批次力度矩阵子列表中的所有力度矩阵到力度自编码器的输入层,进行200次以上训练,使用均方误差作为损失函数,比较输入的力度矩阵和生成的力度矩阵之间的差异,直到损失函数收敛为止,得到训练好的力度自编码器;将训练好的音符自编码器和力度自编码器结合起来,得到训练好的风格0自编码器模块;
步骤S4、对每一风格的样本特征集执行步骤S3,从而得到训练好的N种不同风格自编码器模块。
训练好的自编码器模块,有两个用途,一是其中的音符自编码器用于编码从乐谱中提取的音符矩阵,作为乐谱的高级特征;二是其中的力度自编码器用于解码风格网络模块输出的力度向量,将其转换成力度矩阵,辅助乐曲生成模块生成转换后的MIDI。
本实施例中风格网络模块由输入层、隐藏层和输出层顺序连接组成,其中隐藏层由多层基于GRU单元的双向循环神经网络组成,风格网络模块接收自编码器模块中的音符自编码器中的编码器输出的音符向量,以自编码器模块中的力度自编码器中的编码器输出的力度向量为学习目标,音符向量经输入层再经过隐藏层不断学习最后到达输出层,输出预测的力度向量。
上述风格网络模块的训练过程如下:
步骤T1、获取来自不同风格自编码器模块中的音符自编码器中的编码器和力度自编码器中的编码器输出的音符向量和力度向量,并分别添加进音符向量列表和力度向量列表,构成不同待训练的风格网络模块所需的数据集,该数据集包括风格标签编码,音符向量列表,力度向量列表;
步骤T2、训练特定风格网络模块,以风格0的数据集为输入,取风格0的音符向量列表和力度向量列表,以8为一个批次,将音符向量列表和力度向量列表按批次划分为多个音符向量子列表和力度向量子列表,输入同一批次音符向量子列表中的所有音符向量到风格网络模块的输入层,以对应批次力度向量子列表中的所有力度向量为学习目标,利用由多层循环神经网络构成的隐藏层的多对多的学习能力,进行200次以上训练,使用均方误差作为损失函数,比较输入的力度向量和生成的力度向量之间的差异,直到损失函数收敛为止,得到训练好的风格0网络模块;
步骤T3、对步骤T1中获取的每一风格网络模块训练用的数据集依次执行步骤T2,得到多个训练好的不同风格网络模块。
本实施例中乐曲生成模块用于为MIDI分析模块获取的乐谱配置用户选定风格对应的风格网络模块输出的力度向量,并转换为富有表现力的MIDI,具体配置过程为:
步骤R1、将用户选定风格对应的风格网络模块输出的力度向量通过对应风格自编码器模块中的力度自编码器中的解码器进行解码后获取力度矩阵;
步骤R2、取MIDI分析模块得到的乐谱,遍历该乐谱唯一的一条音符音轨上的所有音符打开事件,利用音符的开始时间计算其对应的量化后的位置,结合音符的音高,在步骤R1解码获取的力度矩阵中寻找对应位置处的力度值,并在该音符音轨中替换掉原始的力度值;
步骤R3、保存替换后的音符音轨,并结合乐谱中已有的未修改的全局音轨,作为转换后的MIDI乐曲。
上述利用音符的开始时间计算其对应的量化后的位置,其中量化时间步Ticks的方式如下:
Figure BDA0002459453980000143
式中,
Figure BDA0002459453980000141
为每四分音符的Ticks数,q为量化等级,2q为单个时间步表示的最小音符,
Figure BDA0002459453980000142
表示每特定量的Ticks数,tick为待量化的时间步,quantizedtick为量化后的时间步。
实施例二
下面结合附图进一步说明本实施例公开的基于循环神经网络的MIDI演奏风格自动转换系统,如图1所示,是基于循环神经网络的MIDI演奏风格自动转换系统的结构示意图。该系统包括MIDI分析模块、数据预处理模块、自编码器模块、风格网络模块和乐曲生成模块。其中,MIDI分析模块用于读取用户输入的MIDI,并将多音轨MIDI合并为单音轨MIDI,作为乐谱;数据预处理模块从乐谱中提取音符特征,设计音符矩阵和力度矩阵来表征乐谱;自编码器模块负责将音符矩阵和力度矩阵进行编解码,用于压缩乐谱的表层特征并提取乐谱的高级特征,每个自编码器模块由音符自编码器和力度自编码器两部分组成,每一部分又都由编码器和解码器两部分顺序连接构成,本系统有多个自编码器模块,分别用于编解码不同风格MIDI,支持拓展;风格网络模块负责学习乐谱的演奏风格,用以生成特定演奏风格的力度向量,辅助作曲,紧跟在对应风格自编码器模块后面;乐曲生成模块负责为乐谱配置风格网络模块的输出力度向量,从而生成富有表现力的MIDI乐曲。不同风格网络模块和自编码器模块共享同一个乐曲生成模块,可根据用户的需求,输出不同演奏风格的MIDI。
如图2所示,是基于循环神经网络的MIDI演奏风格自动转换系统的工作流程图。值得注意的是,为便于理解,图中将自编码器模块拆分为单独的音符自编码器和力度自编码器两部分,且图中只画出了部分结构,详细结构见图5。用户输入的MIDI经过MIDI分析模块和数据预处理模块后得到音符矩阵;音符矩阵通过音符自编码器中的编码器输出音符向量;风格网络模块以音符向量为输入,预测生成力度向量;力度向量经过力度自编码器中的解码器后解码输出力度矩阵,配合乐曲生成模块,最终生成转换后的MIDI。
如图3所示,是从乐谱中提取音符矩阵和力度矩阵的流程图,遍历乐谱的音符音轨,将MIDI事件的时间采用累加的方式从相对时间差修改为绝对时间,量化MIDI事件的绝对时间后,最后一个MIDI事件的绝对时间就是乐谱的总时间步长T,初始化空的(T,128,2)维音符矩阵和(T,128)维力度矩阵,重新遍历所有的MIDI事件,时间步t1遇到音符开事件,音高为p,力度为v,将音符矩阵(t1,p,0)设置为1,力度矩阵(t1,p)设置为v,使用字典last_on记录下该音高对应音符开事件,继续遍历,若时间步t2遇到相同音高的音符关事件,从last_on弹出起始时间t1,设置音符矩阵(t1:t2,p,1)为1,遍历完所有的MIDI事件,得到设置好的音符矩阵和力度矩阵。
如图4所示,是自编码器原理示意图。自编码器包含输入层,隐含层和输出层。输入层到隐含层的映射关系f用于编码,把输入x编码到隐含层输出y,即y=f(x)。从隐含层到输出层的映射关系g用于解码,把隐含层输出y重构为输入z,即z=g(y)。对于每一个输入样本x(i)而言,经过自编码器之后都会转化为一个对应的输出z(i)=g[f(x(i))]。限制隐含层的输出y的维度小于输入x,当自编码器训练完成之后,y可以看作是x的一种抽象表达,因此它可以用于提取输入数据的特征。
如图5所示,是自编码器模块的结构示意图。自编码器模块包含音符自编码器和力度自编码器两个独立的单元,每个单元都由编码器和解码器两部分顺序连接构成,音符自编码器和力度自编码器分别以音符矩阵和力度矩阵为输入,经过音符自编码器和力度自编码器的编码器分别输出音符向量和力度向量;音符自编码器和力度自编码器的解码器分别以音符向量和力度向量为输入,输出重构后的音符矩阵和力度矩阵。
如图6所示,是自编码器模块训练示意图。不同风格自编码器模块训练方法一致,以风格n为例,对风格n的MIDI数据集进行力度筛选和移调扩充后,经过MIDI分析模块和数据预处理模块后,产生音符矩阵列表和力度矩阵列表组成样本特征集,分别用于训练音符自编码器和力度自编码器。二者的训练可以独立,但过程是一样的,以训练音符自编码器为例,将分批次划分好的音符矩阵子列表输入到音符自编码器后,音符自编码器输出预测的音符矩阵,将预测音符矩阵与输入的真实音符矩阵进行对比,计算损失误差,设置训练轮次,迭代完所有批次的音符矩阵子列表,多轮训练并且损失收敛后,得到训练好的音符自编码器,同样的训练方法获取训练好的力度自编码器,二者结合起来,得到训练好的风格n自编码器模块。
如图7所示,是风格网络模块的训练示意图。不同风格网络模块训练方法一致,以风格n为例,获取训练用风格n数据集,包括音符向量列表、力度向量列表;接着将分批次划分好的音符向量子列表输入到风格网络模块中,风格网络模块预测生成力度向量,与真实的力度向量进行对比,计算损失误差;迭代完所有批次的音符向量子列表,多轮训练并且损失收敛后,得到训练好的风格n网络模块。
如图8所示,是乐曲生成模块工作流程图。风格网络模块输出的力度向量经过自编码器模块中的力度自编码器中的解码器解码后获取力度矩阵,结合MIDI分析模块输出的乐谱,通过遍历乐谱中音符音轨上的每一个音符打开事件,根据音符的开始时间计算其对应的量化后的在力度矩阵中的位置,再结合音符的音高,在力度矩阵中查找对应位置处的力度值,并使用新的力度值替换掉旧的力度值,最后将力度转换后的乐谱保存成新的MIDI,该MIDI的演奏力度分布符合特定的演奏风格。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (7)

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演奏风格自动转换系统,其特征在于,所述的数据预处理模块用于从乐谱中提取音符特征,音符特征包括音高、音符开始时间、音符持续时间及力度,利用音符特征设计音符矩阵和力度矩阵;乐谱的总时间步长为
Figure DEST_PATH_IMAGE001
,单位为MIDI中的最小时间单位
Figure 17265DEST_PATH_IMAGE002
;首先需要确定单个时间步表示的最小音符,假如1个时间步表示1个十六分音符,那么1个四分音符用4个时间步来表示;音符矩阵的行表示时间步
Figure DEST_PATH_IMAGE003
,范围为0-
Figure 183935DEST_PATH_IMAGE001
,音符矩阵的列表示音高
Figure 90449DEST_PATH_IMAGE004
,范围为0-127,音符矩阵的值表示在该时间步下的音符状态,音符状态使用0和1组成的二维向量来表示,共包含三种音符状态:关、持续和开,用二维向量分别表示为[0,0]、[1,1]和[1,0];力度矩阵的行表示时间步
Figure 492611DEST_PATH_IMAGE003
,范围为0-
Figure 568015DEST_PATH_IMAGE001
,列表示音高
Figure 203789DEST_PATH_IMAGE004
,范围为0-127,音符矩阵的值表示该时间步下相应音高的音符的力度,取值为0-127。
4.根据权利要求1所述的基于循环神经网络的MIDI演奏风格自动转换系统,其特征在于,所述的自编码器模块的训练由音符自编码器和力度自编码器分别单独训练组成,整个训练过程为:
步骤S1、获取下载的不同风格MIDI数据集,其中每一个MIDI都有自己的风格标签:经典音乐、流行音乐、爵士音乐、金属音乐、乡村音乐、舞曲、民谣,将风格标签使用整数编码为风格0,风格1,…,风格N,N为风格的种类数,遍历所有MIDI的除打击乐音轨外的所有音符音轨,统计每一个MIDI的力度种类,删除力度种类少于45种的MIDI,将删选后剩余的所有MIDI,进行移调来扩充数据集,以覆盖所有可能的音调,移调前后的MIDI风格标签编码不变,得到训练用的不同风格MIDI数据集;
步骤S2、对每一风格MIDI数据集,将该风格MIDI数据集中所有MIDI依次输入到MIDI分析模块和数据预处理模块,将产生的音符矩阵和力度矩阵分别添加到音符矩阵列表和力度矩阵列表中,处理完所有不同风格MIDI数据集后,得到不同风格的样本特征集,该样本特征集包括风格标签编码,音符矩阵列表,力度矩阵列表;
步骤S3、训练特定风格的音符自编码器和力度自编码器,以风格0的样本特征集为输入,对于音符自编码器,取对应的音符矩阵列表,以32为一个批次,将音符矩阵列表按批次划分为多个音符矩阵子列表,输入同一批次音符矩阵子列表中的所有音符矩阵到音符自编码器的输入层,进行200次以上训练,使用均方误差作为损失函数,比较输入的音符矩阵和生成的音符矩阵之间的差异,直到损失函数收敛为止,得到训练好的音符自编码器;对于力度自编码器,取对应的力度矩阵列表,以32为一个批次,将力度矩阵列表按批次划分为多个力度矩阵子列表,输入同一批次力度矩阵子列表中的所有力度矩阵到力度自编码器的输入层,进行200次以上训练,使用均方误差作为损失函数,比较输入的力度矩阵和生成的力度矩阵之间的差异,直到损失函数收敛为止,得到训练好的力度自编码器;将训练好的音符自编码器和力度自编码器结合起来,得到训练好的风格0自编码器模块;
步骤S4、对每一风格的样本特征集执行步骤S3,从而得到训练好的N种不同风格自编码器模块。
5.根据权利要求1所述的基于循环神经网络的MIDI演奏风格自动转换系统,其特征在于,所述的风格网络模块用于学习乐谱的演奏风格,由输入层、隐藏层和输出层顺序连接组成,其中,隐藏层由多层双向循环神经网络构成,风格网络模块的输入层接收自编码器模块中的音符自编码器中的编码器输出的音符向量,以自编码器模块中的力度自编码器中的编码器输出的力度向量为学习目标,音符向量通过输入层再经过隐藏层学习最后到达输出层,输出预测的力度向量。
6.根据权利要求5所述的基于循环神经网络的MIDI演奏风格自动转换系统,其特征在于,所述的风格网络模块的训练过程为:
步骤T1、获取来自不同风格自编码器模块中的音符自编码器中的编码器和力度自编码器中的编码器输出的音符向量和力度向量,并分别添加进音符向量列表和力度向量列表,构成不同待训练的风格网络模块所需的数据集,该数据集包括风格标签编码,音符向量列表,力度向量列表;
步骤T2、训练特定风格网络模块,以风格0的数据集为输入,取风格0的音符向量列表和力度向量列表,以8为一个批次,将音符向量列表和力度向量列表按批次划分为多个音符向量子列表和力度向量子列表,输入同一批次音符向量子列表中的所有音符向量到风格网络模块的输入层,以对应批次力度向量子列表中的所有力度向量为学习目标,利用由多层循环神经网络构成的隐藏层的多对多的学习能力,进行200次以上训练,使用均方误差作为损失函数,比较输入的力度向量和生成的力度向量之间的差异,直到损失函数收敛为止,得到训练好的风格0网络模块;
步骤T3、对步骤T1中获取的每一风格网络模块训练用的数据集依次执行步骤T2,得到多个训练好的不同风格网络模块。
7.根据权利要求1所述的基于循环神经网络的MIDI演奏风格自动转换系统,其特征在于,所述的乐曲生成模块用于为MIDI分析模块获取的乐谱配置用户选定风格对应的风格网络模块输出的力度向量,并转换为富有表现力的MIDI乐曲,配置过程为:
步骤R1、将用户选定风格对应的风格网络模块输出的力度向量通过对应风格自编码器模块中的力度自编码器中的解码器进行解码后获取力度矩阵;
步骤R2、取MIDI分析模块得到的乐谱,遍历该乐谱唯一的一条音符音轨上的所有音符打开事件,利用音符的开始时间计算其对应的量化后的位置,结合音符的音高,在步骤R1解码获取的力度矩阵中寻找对应位置处的力度值,并在该音符音轨中替换掉原始的力度值;
步骤R3、保存替换后的音符音轨,并结合乐谱中已有的未修改的全局音轨,作为转换后的MIDI乐曲。
CN202010315590.2A 2020-04-21 2020-04-21 基于循环神经网络的midi演奏风格自动转换系统 Active CN111554255B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010315590.2A CN111554255B (zh) 2020-04-21 2020-04-21 基于循环神经网络的midi演奏风格自动转换系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010315590.2A CN111554255B (zh) 2020-04-21 2020-04-21 基于循环神经网络的midi演奏风格自动转换系统

Publications (2)

Publication Number Publication Date
CN111554255A CN111554255A (zh) 2020-08-18
CN111554255B true CN111554255B (zh) 2023-02-14

Family

ID=72003882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010315590.2A Active CN111554255B (zh) 2020-04-21 2020-04-21 基于循环神经网络的midi演奏风格自动转换系统

Country Status (1)

Country Link
CN (1) CN111554255B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112216257B (zh) * 2020-09-29 2023-08-15 南方科技大学 音乐风格迁移方法、模型训练方法、装置和存储介质
CN112528631B (zh) * 2020-12-03 2022-08-09 上海谷均教育科技有限公司 一种基于深度学习算法的智能伴奏系统
CN113539215B (zh) * 2020-12-29 2024-01-12 腾讯科技(深圳)有限公司 音乐风格转换方法、装置、设备及存储介质
CN113539214B (zh) * 2020-12-29 2024-01-02 腾讯科技(深圳)有限公司 音频转换方法、音频转换装置及设备
CN113035163B (zh) * 2021-05-11 2021-08-10 杭州网易云音乐科技有限公司 音乐作品的自动生成方法及装置、存储介质、电子设备
CN113611265B (zh) * 2021-07-07 2022-09-23 湖南师范大学 一种人工智能作曲方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018194456A1 (en) * 2017-04-20 2018-10-25 Universiteit Van Amsterdam Optical music recognition omr : converting sheet music to a digital format
CN108766463A (zh) * 2018-04-28 2018-11-06 平安科技(深圳)有限公司 电子装置、基于深度学习的乐曲演奏风格识别方法及存储介质
CN109727590A (zh) * 2018-12-24 2019-05-07 成都嗨翻屋科技有限公司 基于循环神经网络的音乐生成方法及装置
CN110120212A (zh) * 2019-04-08 2019-08-13 华南理工大学 基于用户示范音频风格的钢琴辅助作曲系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPP547898A0 (en) * 1998-08-26 1998-09-17 Canon Kabushiki Kaisha System and method for automatic music generation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018194456A1 (en) * 2017-04-20 2018-10-25 Universiteit Van Amsterdam Optical music recognition omr : converting sheet music to a digital format
CN108766463A (zh) * 2018-04-28 2018-11-06 平安科技(深圳)有限公司 电子装置、基于深度学习的乐曲演奏风格识别方法及存储介质
CN109727590A (zh) * 2018-12-24 2019-05-07 成都嗨翻屋科技有限公司 基于循环神经网络的音乐生成方法及装置
CN110120212A (zh) * 2019-04-08 2019-08-13 华南理工大学 基于用户示范音频风格的钢琴辅助作曲系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
计算机音乐可视化表征谱设计;韦岗等;《现代信息科技》;20190725;第3卷(第14期);第5-7页 *

Also Published As

Publication number Publication date
CN111554255A (zh) 2020-08-18

Similar Documents

Publication Publication Date Title
CN111554255B (zh) 基于循环神经网络的midi演奏风格自动转换系统
Bretan et al. A unit selection methodology for music generation using deep neural networks
CN111583891B (zh) 基于上下文信息的音符向量的自动作曲系统及方法
CN111512359A (zh) 模块化自动音乐制作服务器
CN111653256B (zh) 一种基于编码-解码网络的音乐伴奏自动生成方法及其系统
Sajad et al. Music generation for novices using Recurrent Neural Network (RNN)
CN113035161A (zh) 基于和弦的歌曲旋律生成方法、装置、设备及存储介质
CN109448684B (zh) 一种智能编曲方法和系统
Toussaint Generating “good” musical rhythms algorithmically
Bhardwaj et al. Automated Music Generation using Deep Learning
Jagannathan et al. Original music generation using recurrent neural networks with self-attention
Trochidis et al. CAMeL: Carnatic percussion music generation using n-gram models
CN116052621A (zh) 一种基于语言模型的音乐创作辅助方法
Oliwa Genetic algorithms and the abc music notation language for rock music composition
CN112634841B (zh) 一种基于声音识别的吉他谱自动生成方法
CN111627410B (zh) 一种midi多轨序列表示方法和应用
Cao et al. A Review of Automatic Music Generation Based on Performance RNN
CN112528631B (zh) 一种基于深度学习算法的智能伴奏系统
KR102670804B1 (ko) 인공지능 피아노 연주 장치
KR102670800B1 (ko) 인공지능 기타 연주 장치
KR102490769B1 (ko) 음악적 요소를 이용한 인공지능 기반의 발레동작 평가 방법 및 장치
Rafraf Differential music: Automated music generation using LSTM networks with representation based on melodic and harmonic intervals
KR102227415B1 (ko) 복선율 음악 생성 방법, 장치, 및 시스템
Tikhonov et al. Artificial neural networks jamming on the beat
Mendis et al. Show and Listen: Generating Music Based on Images using Machine Learning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant