CN112420002A - 乐曲生成方法、装置、电子设备及计算机可读存储介质 - Google Patents
乐曲生成方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112420002A CN112420002A CN201910775071.1A CN201910775071A CN112420002A CN 112420002 A CN112420002 A CN 112420002A CN 201910775071 A CN201910775071 A CN 201910775071A CN 112420002 A CN112420002 A CN 112420002A
- Authority
- CN
- China
- Prior art keywords
- music
- generating
- melody
- rhythm
- midi file
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000033764 rhythmic process Effects 0.000 claims description 91
- 238000012549 training Methods 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 25
- 238000013527 convolutional neural network Methods 0.000 claims description 24
- 230000015654 memory Effects 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 14
- 125000004122 cyclic group Chemical group 0.000 claims description 10
- 238000013528 artificial neural network Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 238000011161 development Methods 0.000 abstract description 9
- 239000000203 mixture Substances 0.000 abstract description 9
- 238000013459 approach Methods 0.000 abstract description 5
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000000306 recurrent effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 239000011435 rock Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000011295 pitch Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Details of electrophonic musical instruments
- G10H1/0008—Associated control or indicating means
- G10H1/0025—Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects 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/101—Music Composition or musical creation; Tools or processes therefor
- G10H2210/111—Automatic composing, i.e. using predefined musical rules
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/011—Files or data streams containing coded musical information, e.g. for transmission
- G10H2240/046—File format, i.e. specific or non-standard musical file format used in or adapted for electrophonic musical instruments, e.g. in wavetables
- G10H2240/056—MIDI or other note-oriented file format
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/311—Neural 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文件生成至少一个第二midi文件,各个第二midi文件互不相同;
根据各个第二midi文件分别生成相应的第二乐曲。
在一种可能的实现方式中,训练后的乐曲生成模型包括节奏与旋律交叉生成模型以及多任务编排模型,基于训练后的乐曲生成模型,根据第一midi文件生成至少一个第二midi文件,包括:
确定第一midi文件的和弦,并基于节奏与旋律交叉生成模型,根据和弦,生成相应的节奏与旋律;
基于多任务编排模型,根据节奏与旋律生成多个乐器分别对应的音轨序列;
根据节奏、旋律与各个音轨序列,生成至少一个第二midi文件。
在一种可能的实现方式中,节奏与旋律交叉生成模型包括门控循环单元GRU与第一循环神经网络RNN,或者包括门控循环单元GRU与卷积神经网络CNN,基于节奏与旋律交叉生成模型,根据和弦,生成相应的节奏与旋律,包括:
通过GRU与第一RNN,确定与和弦相对应的节奏和旋律;或者,
通过GRU与CNN,确定与和弦相对应的节奏和旋律。
在一种可能的实现方式中,基于多任务编排模型,根据节奏与旋律生成多个乐器分别对应的音轨,包括:
通过多任务编排模型中一对多的音轨序列生成任务,根据节奏与旋律生成多个乐器分别对应的音轨序列。
在一种可能的实现方式中,多任务编排模型包括计算注意单元与多层感知器MLP单元;通过多任务编排模型中一对多的音轨序列生成任务,根据节奏与旋律生成多个乐器分别对应的音轨序列,包括:
针对任一乐器的音轨,根据一对多的音轨序列生成任务,通过计算注意单元与MLP单元获取除任一乐器的音轨序列外的其它乐器分别对应的音轨序列;
基于节奏、旋律与其它乐器分别对应的音轨序列,生成任一乐器的音轨序列。
在一种可能的实现方式中,训练后的乐曲生成模型是预先通过预定数量的样本midi文件对第二RNN与长短期记忆网络LSTM进行训练得到的;
基于训练后的乐曲生成模型,根据第一midi文件生成至少一个第二midi文件,各个第二midi文件互不相同,包括:
通过第二RNN与LSTM,根据第一midi文件生成互不相同的至少一个第二midi文件。
一方面,提供了一种乐曲生成装置,包括:
获取模块,用于获取第一乐曲的第一音乐设备数字接口midi文件;
文件生成模块,用于基于训练后的乐曲生成模型,根据第一midi文件生成至少一个第二midi文件,各个第二midi文件互不相同;
乐曲生成模块,用于根据各个第二midi文件分别生成相应的第二乐曲。
在一种可能的实现方式中,训练后的乐曲生成模型包括节奏与旋律交叉生成模型以及多任务编排模型,文件生成模块包括第一处理子模块、第二处理子模块与第三处理子模块;
第一处理子模块,用于确定第一midi文件的和弦,并基于节奏与旋律交叉生成模型,根据和弦,生成相应的节奏与旋律;
第二处理子模块,用于基于多任务编排模型,根据节奏与旋律生成多个乐器分别对应的音轨序列;
第三处理子模块,用于根据节奏、旋律与各个音轨序列,生成至少一个第二midi文件。
在一种可能的实现方式中,节奏与旋律交叉生成模型包括门控循环单元GRU与第一循环神经网络RNN,或者包括门控循环单元GRU与卷积神经网络CNN,第一处理子模块具体用于通过GRU与第一RNN,确定与和弦相对应的节奏和旋律;或者用于通过GRU与CNN,确定与和弦相对应的节奏和旋律。
在一种可能的实现方式中,第二处理子模块具体用于通过多任务编排模型中一对多的音轨序列生成任务,根据节奏与旋律生成多个乐器分别对应的音轨序列。
在一种可能的实现方式中,多任务编排模型包括计算注意单元与多层感知器MLP单元;第二处理子模块包括音轨获取单元与音轨生成单元;
音轨获取单元,用于针对任一乐器的音轨,根据一对多的音轨序列生成任务,通过计算注意单元与MLP单元获取除任一乐器的音轨序列外的其它乐器分别对应的音轨序列;
音轨生成单元,用于基于节奏、旋律与其它乐器分别对应的音轨序列,生成任一乐器的音轨序列。
在一种可能的实现方式中,训练后的乐曲生成模型是预先通过预定数量的样本midi文件对第二RNN与长短期记忆网络LSTM进行训练得到的;
文件生成模块具体用于通过第二RNN与LSTM,根据第一midi文件生成互不相同的至少一个第二midi文件。
一方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现上述的乐曲生成方法。
一方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的乐曲生成方法。
本申请实施例提供的乐曲生成方法,通过基于训练后的乐曲生成模型,根据第一乐曲的第一midi文件生成互不相同的各个第二midi文件,以及根据各个第二midi文件分别生成相应的第二乐曲,使得计算机设备可以根据第一乐曲的第一midi文件自动生成至少一个第二乐曲,不仅可以满足热爱音乐的非专业人员的乐曲创作需求,为其提供乐曲创作途径,使其能够快捷、方便的创作自己喜爱的乐曲,而且可以为专业人员提供创作灵感,使乐曲家创作更加容易,能够在一定程度促进数字音乐的发展。
本申请实施例附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请实施例上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例的乐曲生成方法的流程示意图;
图2为本申请实施例的乐曲生成装置的基本结构示意图;
图3为本申请实施例的乐曲生成装置的详细结构示意图;
图4为本申请实施例的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例提供的乐曲生成方法、装置、电子设备及计算机可读存储介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请实施例的技术方案以及本申请实施例的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请一个实施例提供了一种乐曲生成方法,该方法由计算机设备执行,该计算机设备可以是终端或者服务器。终端可以是台式设备或者移动终端。服务器可以是独立的物理服务器、物理服务器集群或者虚拟服务器。如图1所示,该方法包括:
步骤S110,获取第一乐曲的第一音乐设备数字接口midi文件。
具体地,用户可以根据需要将某一首乐曲(即上述的第一乐曲)的midi文件(即上述的第一midi文件),例如乐曲A的midi文件A,输入到计算机设备中,相对应地,计算机设备获取用户输入的第一乐曲的第一midi文件,例如,乐曲A的midi文件A。
具体地,midi(Musical Instrument Digital Interface,音乐设备数字接口)文件是一种数字乐谱格式,它将所要演奏的乐曲信息用字节进行描述,可以被称作“计算机能理解的乐谱”。它使用音符的数字控制信号来记录音乐,例如在某一时刻,使用何种乐器、何种音符开始演奏,以及使用何种音调结束等。其中,一首完整的MIDI音乐只有几十KB(千字节)大,且能包含数十条音乐轨道。几乎所有的现代音乐都可以使用MIDI加上音色库来制作合成的。MIDI文件传输的不是声音信号,而是音符、控制参数等指令,它指示MIDI设备的具体操作与演奏等。
步骤S120,基于训练后的乐曲生成模型,根据第一midi文件生成至少一个第二midi文件,各个第二midi文件互不相同。
具体地,计算机设备获取到第一乐曲的第一midi文件之后,可以基于训练后的乐曲生成模型,根据第一midi文件生成至少一个第二midi文件,其中,各个第二midi文件互不相同。假如计算机获取到的第一midi文件为midi文件A,则:计算机设备可以基于训练后的乐曲生成模型,根据midi文件A生成至少一个第二midi文件,例如midi文件A_1,又例如midi文件A_1与midi文件A_2,再例如midi文件A_1、midi文件A_2、midi文件A_3等等。需要说明的是,midi文件A_1、midi文件A_2以及midi文件A_3,是互不相同的midi文件,即它们包括的乐曲信息是互不相同的。
步骤S130,根据各个第二midi文件分别生成相应的第二乐曲。
具体地,计算机设备在基于训练后的乐曲生成模型,根据第一midi文件生成至少一个第二midi文件之后,可以根据生成的各个互不相同的第二midi文件分别生成相应的第二乐曲。假如生成的各个互不相同的第二midi文件分别是midi文件A_1、midi文件A_2以及midi文件A_3,则可以生成与midi文件A_1相应对应的乐曲A_1、与midi文件A_2相应对应的乐曲A_2以及与midi文件A_3相应对应的乐曲A_3。
本申请实施例提供的乐曲生成方法,通过基于训练后的乐曲生成模型,根据第一乐曲的第一midi文件生成互不相同的各个第二midi文件,以及根据各个第二midi文件分别生成相应的第二乐曲,使得计算机设备可以根据第一乐曲的第一midi文件自动生成至少一个第二乐曲,不仅可以满足热爱音乐的非专业人员的乐曲创作需求,为其提供乐曲创作途径,使其能够快捷、方便的创作自己喜爱的乐曲,而且可以为专业人员提供创作灵感,使乐曲家创作更加容易,能够在一定程度促进数字音乐的发展。
在本申请一个实施例的一种可能的实现方式中,训练后的乐曲生成模型包括节奏与旋律交叉生成模型以及多任务编排模型,基于训练后的乐曲生成模型,根据第一midi文件生成至少一个第二midi文件,包括:确定第一midi文件的和弦,并基于节奏与旋律交叉生成模型,根据和弦,生成相应的节奏与旋律;基于多任务编排模型,根据节奏与旋律生成多个乐器分别对应的音轨序列;根据节奏、旋律与各个音轨序列,生成至少一个第二midi文件。
具体地,节奏与旋律交叉生成模型包括第一循环神经网络RNN、卷积神经网络CNN及门控循环单元GRU,基于节奏与旋律交叉生成模型,根据和弦,生成相应的节奏与旋律,包括:通过第一RNN、CNN及GRU,确定与和弦相对应的节奏和旋律。
具体地,基于多任务编排模型,根据旋律生成多个乐器分别对应的音轨,包括:通过多任务编排模型中一对多的音轨序列生成任务,根据节奏与旋律生成多个乐器分别对应的音轨序列。
具体地,多任务编排模型包括计算注意单元与多层感知器单元;通过多任务编排模型中一对多的音轨序列生成任务,根据旋律生成多个乐器分别对应的音轨序列,包括:针对任一乐器的音轨,根据一对多的音轨序列生成任务,通过计算注意单元与多层感知器单元获取除任一乐器的音轨序列外的其它乐器分别对应的音轨序列;基于节奏、旋律与其它乐器分别对应的音轨序列,生成任一乐器的音轨序列。
具体地,训练后的乐曲生成模型是预先通过预定数量的样本midi文件对第二循环神经网络RNN与长短期记忆网络LSTM进行训练得到的。其中,基于训练后的乐曲生成模型,根据第一midi文件生成至少一个第二midi文件,各个第二midi文件互不相同,包括:通过第二RNN与LSTM,根据第一midi文件生成互不相同的至少一个第二midi文件。
下面对本实现方式中涉及到地相关内容进行具体介绍:
在基于训练后的乐曲生成模型,根据所述第一midi文件生成至少一个第二midi文件之前,需要预先通过预定数量的样本midi文件对RNN(Recurrent Neural Network,循环神经网络)与LSTM(Long Short-Term Memory,长短期记忆网络)进行训练,从而得到训练后的乐曲生成模型,其中,乐曲生成模型包括RNN与LSTM。
具体地,该预定数量(例如一万个、两万个等)的样本midi文件是通过对海量midi文件进行筛选得到的。其中,在实际应用中,对海量midi文件进行筛选具体可以是剔除音轨缺失的midi文件,即保证每个midi文件中包含各种类型的音轨,例如melody音轨、drum音轨、bass音轨以及string音轨等等,并将包含各种类型的音轨的midi文件作为样本midi文件。
具体地,在得到预定数量(例如一万个)的样本midi文件之后,可以先对该预定数量的样本midi文件进行如下数据预处理:(1)将各个样本midi文件转换为预定的音乐调式,例如C大调、a小调、D大调、b小调,E大调、c小调等等,即将所有的样本midi文件统一转换为C大调或a小调或D大调或b小调或E大调或c小调等预定的音乐调式;(2)将各个样本midi文件中的BPM(Beat Per Minute,拍子数)统一设置为预定数值,例如60、70、80等正整数,从而确保所有样本midi文件中的所有音符都对应一个整数节拍。
具体地,在通过预定数量的样本midi文件对乐曲生成模型进行训练的过程中:(1)将第一预定比例(例如70%)的预定数量的样本midi文件作为训练样本,来对乐曲生成模型进行训练。其中,在具体的训练过程中,可以根据乐曲生成模型的交叉熵损失函数的值是否满足要求,来确定是否完成训练,例如,当交叉熵损失函数小于或等于预定阈值时,确定完成乐曲生成模型的训练。(2)在完成初始训练之后,使用第二预定比例(例如20%)的预定数量的样本midi文件作为测试样本,来对初始训练后的乐曲生成模型进行测试,从而调整初始训练后的乐曲生成模型的相关参数。(3)在对初始训练后的乐曲生成模型进行参数调整后,使用第三预定比例(例如10%)的预定数量的样本midi文件作为验证样本,来对参数调整后的乐曲生成模型进行验证,以最终确定生成的乐曲生成模型是否满足要求。其中,在具体的确定过程中,可以根据乐曲生成模型的交叉熵损失函数的值是否满足要求,来确定是否完成训练,例如,当交叉熵损失函数小于或等于预定阈值时,确定参数调整后的乐曲生成模型满足要求。
需要说明的是,乐曲生成模型包括节奏与旋律交叉生成模型以及多任务编排模型,多任务编排模型包括计算注意单元与MLP(Multi-Layer Perception,多层感知器)单元。其中,在对乐曲生成模型进行训练的过程中,可以将乐曲生成模型中的解码器与编码器中的每个GRU(Gated Recurrent Unit,门控循环单元)层的重复隐藏单元数设置为256个,以及将计算注意单元与MLP单元中隐藏向量的参数维度设置为256。此外,在对乐曲生成模型进行训练的过程中,可以采用随机梯度下降算法对乐曲生成模型进行更新,同时将批处理参数(batch size)设置为64。
具体地,一首完整的歌曲除了歌词外,还包括乐曲,例如旋律和编曲等。其中,乐曲的关键特征包括和弦的发展、多声道的编排及各音轨的协调性等。于是,在基于训练后的乐曲生成模型,根据第一midi文件生成至少一个第二midi文件的过程中,可以采用如下处理过程:(1)确定获取到的第一midi文件的和弦,并在确定出第一midi文件的和弦后,基于乐曲生成模型中的节奏与旋律交叉生成模型,根据该确定出的第一midi文件的和弦,生成相应的节奏与旋律。其中,此处的旋律包括乐曲中的各个音符以及各个音符各自对应的音高。(2)在根据第一midi文件生成相应的节奏与旋律之后,基于乐曲生成模型中的多任务编排模型,根据该生成的节奏与旋律,生成多个乐器分别对应的音轨序列,即根据第一midi文件的节奏与旋律,生成与之相对应的多个不同乐器的音轨序列。(3)在生成与第一midi文件相对应的多个不同乐器的音轨序列之后,根据确定出的第一midi文件的节奏、旋律、以及与第一midi文件相对应的多个不同乐器的音轨序列,生成至少一个第二midi文件,即综合考虑第一midi文件的节奏、旋律、以及与第一midi文件相对应的多个不同乐器的音轨序列等音乐元素,在该些音乐元素的共同作用下,生成至少一个第二midi文件。
具体地,上述的节奏与旋律交叉生成模型包括GRU(Gated Recurrent Unit,门控循环单元)与第一RNN(Recurrent Neural Network,循环神经网络),或者包括GRU与CNN(Convolutional Neural Networks,卷积神经网络)。其中,在基于节奏与旋律交叉生成模型,根据确定出的第一midi文件的和弦,生成相应的节奏与旋律的过程中,可以通过GRU与第一RNN,确定与和弦相对应的节奏和旋律;也可以通过GRU与CNN,确定与第一midi文件的和弦相对应的节奏和旋律。
其中,上述的节奏与旋律交叉生成模型是采用编码器-解码器的结构设计的。在通过GRU与第一RNN,确定与和弦相对应的节奏和旋律的过程中,可以先将确定出的第一midi文件的和弦输入到GRU中,以通过GRU来模拟和弦之间的相互关系,并对和弦进行降维,该GRU会输出相应的隐藏状态,接着将该GRU输出的隐藏状态作为第一RNN的输入,即将GRU输出的隐藏状态输入至第一RNN中,以通过第一RNN进行相应的线性变化,该第一RNN位于编码器中,接着将通过第一RNN得到的线性变化输入到解码器中,从而确定出与第一midi文件的和弦相对应的节奏和旋律。
在通过GRU与CNN,确定与和弦相对应的节奏和旋律的过程中,可以先将确定出的第一midi文件的和弦输入到GRU中,以通过GRU来模拟和弦之间的相互关系,并对和弦进行降维,该GRU会输出相应的隐藏状态,接着将该GRU输出的隐藏状态作为CNN的输入,即将GRU输出的隐藏状态输入至CNN中,以通过CNN进行相应的线性变化,该CNN位于编码器中,接着将通过CNN得到的线性变化输入到解码器中,从而确定出与第一midi文件的和弦相对应的节奏和旋律。
具体地,在根据第一midi文件生成相应的节奏与旋律之后,基于乐曲生成模型中的多任务编排模型,根据该生成的节奏与旋律,生成多个乐器分别对应的音轨序列的过程中,可以通过多任务编排模型中一对多的音轨序列生成任务,根据该生成的节奏与旋律生成多个乐器分别对应的音轨序列。其中,多任务编排模型包括计算注意单元与MLP(Multi-Layer Perception,多层感知器)单元,在通过多任务编排模型中一对多的音轨序列生成任务,根据该生成的节奏与旋律生成多个乐器分别对应的音轨序列的过程中,针对任一乐器的音轨,可以根据一对多的音轨序列生成任务,通过计算注意单元与MLP单元获取除该任一乐器的音轨序列外的其它乐器分别对应的音轨序列,并基于该生成的节奏、旋律与、其它乐器分别对应的音轨序列,生成任一乐器的音轨序列。
换言之,预先在多任务编排模型中制定一个一对多的音轨序列生成任务,并使用计算注意单元与MLP单元捕获当前任务中其他任务的状态,并在生成一个音轨序列时,考虑该音轨序列与其他音轨序列的和声、节奏匹配和乐器特性。假如多任务编排模型中共有5个已生成的音轨序列,分别记作音轨序列1、音轨序列2、音轨序列3、音轨序列4及音轨序列5,则:(1)多任务编排模型中在生成新的音轨序列(比如音轨6)时,通过计算注意单元与MLP单元捕获音轨序列1、音轨序列2、音轨序列3、音轨序列4及音轨序列5,并基于根据第一midi文件生成的节奏、旋律、以及捕获到的音轨序列1、音轨序列2、音轨序列3、音轨序列4及音轨序列5,生成音轨序列6;(2)多任务编排模型中在生成新的音轨序列(比如音轨7)时,通过计算注意单元与MLP单元捕获音轨序列1、音轨序列2、音轨序列3、音轨序列4、音轨序列5及音轨序列6,并基于根据第一midi文件生成的节奏、旋律、以及捕获到的音轨序列1、音轨序列2、音轨序列3、音轨序列4、音轨序列5及音轨序列6,生成音轨序列7;依此类推,对于其它的音轨序列也采用上述音轨序列6、音轨序列7的生成方法进行生成,在此不再赘述。
需要说明的是,在上述基于训练后的乐曲生成模型,根据第一midi文件生成至少一个第二midi文件的过程中,可以不对训练后的乐曲生成模型进行细分,即将训练后的乐曲生成模型作为一个整体,直接根据输入的第一midi文件生成至少一个第二midi文件。也可以对训练后的乐曲生成模型进行细分,即训练后的乐曲生成模型中包括若个针对不同曲风的训练后的子模型,例如针对摇滚类乐曲训练后的摇滚子模型,又例如针对民谣类乐曲训练后的民谣子模型,再例如针对爵士类乐曲训练后的爵士子模型等等;此时,在将第一midi文件输入到训练后的乐曲生成模型之后,训练后的乐曲生成模型先确定第一midi文件的曲风(例如摇滚类),再根据第一midi文件的曲风确定与该曲风相匹配的子模型(例如摇滚子模型),并通过确定出的与该曲风相匹配的子模型(例如摇滚子模型),根据第一midi文件生成至少一个第二midi文件。
图2为本申请又一实施例提供的一种乐曲生成装置的结构示意图,如图2所示,该装置20可以包括获取模块21、文件生成模块22与乐曲生成模块23,其中:
获取模块21,用于获取第一乐曲的第一音乐设备数字接口midi文件;
文件生成模块22,用于基于训练后的乐曲生成模型,根据第一midi文件生成至少一个第二midi文件,各个第二midi文件互不相同;
乐曲生成模块23,用于根据各个第二midi文件分别生成相应的第二乐曲。
本申请实施例提供的装置,通过基于训练后的乐曲生成模型,根据第一乐曲的第一midi文件生成互不相同的各个第二midi文件,以及根据各个第二midi文件分别生成相应的第二乐曲,使得计算机设备可以根据第一乐曲的第一midi文件自动生成至少一个第二乐曲,不仅可以满足热爱音乐的非专业人员的乐曲创作需求,为其提供乐曲创作途径,使其能够快捷、方便的创作自己喜爱的乐曲,而且可以为专业人员提供创作灵感,使乐曲家创作更加容易,能够在一定程度促进数字音乐的发展。
图3为本申请又一实施例提供的一种乐曲生成装置的详细结构示意图,如图3所示,该装置30可以包括获取模块31、文件生成模块32及乐曲生成模块33,其中,图3中的获取模块31所实现的功能与图2中的获取模块21相同,图3中的文件生成模块32所实现的功能与图2中的文件生成模块22相同,图3中的乐曲生成模块33所实现的功能与图2中的乐曲生成模块23相同,在此不再赘述。下面对图3所示的乐曲生成装置进行详细介绍:
具体地,训练后的乐曲生成模型包括节奏与旋律交叉生成模型以及多任务编排模型,文件生成模块32包括第一处理子模块321、第二处理子模块322与第三处理子模块323,其中:
第一处理子模块321,用于确定第一midi文件的和弦,并基于节奏与旋律交叉生成模型,根据和弦,生成相应的节奏与旋律;
第二处理子模块322,用于基于多任务编排模型,根据节奏与旋律生成多个乐器分别对应的音轨序列;
第三处理子模块323,用于根据节奏、旋律与各个音轨序列,生成至少一个第二midi文件。
具体地,节奏与旋律交叉生成模型包括门控循环单元GRU与第一循环神经网络RNN,或者包括门控循环单元GRU与卷积神经网络CNN,第一处理子模块具体用于通过GRU与第一RNN,确定与和弦相对应的节奏和旋律;或者用于通过GRU与CNN,确定与和弦相对应的节奏和旋律。
具体地,第二处理子模块322具体用于通过多任务编排模型中一对多的音轨序列生成任务,根据节奏与旋律生成多个乐器分别对应的音轨序列。
具体地,多任务编排模型包括计算注意单元与多层感知器单元;第二处理子模块322包括音轨获取单元3221与音轨生成单元3222,其中:
音轨获取单元3221,用于针对任一乐器的音轨,根据一对多的音轨序列生成任务,通过计算注意单元与多层感知器单元获取除任一乐器的音轨序列外的其它乐器分别对应的音轨序列;
音轨生成单元3222,用于基于节奏、旋律与其它乐器分别对应的音轨序列,生成任一乐器的音轨序列。
具体地,训练后的乐曲生成模型是预先通过预定数量的样本midi文件对第二RNN与长短期记忆网络LSTM进行训练得到的;
文件生成模块32具体用于通过第二RNN与LSTM,根据第一midi文件生成互不相同的至少一个第二midi文件。
需要说明的是,本实施例为与上述的方法项实施例相对应的装置项实施例,本实施例可与上述方法项实施例互相配合实施。上述方法项实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在上述方法项实施例中。
本申请另一实施例提供了一种电子设备,如图4所示,图4所示的电子设备400包括:处理器401和存储器403。其中,处理器401和存储器403相连,如通过总线402相连。进一步地,电子设备400还可以包括收发器404。需要说明的是,实际应用中收发器404不限于一个,该电子设备400的结构并不构成对本申请实施例的限定。
其中,处理器401应用于本申请实施例中,用于实现图2与图3所示的获取模块、文件生成模块及乐曲生成模块的功能。
处理器401可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器401也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线402可包括一通路,在上述组件之间传送信息。总线402可以是PCI总线或EISA总线等。总线402可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器403可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器403用于存储执行本申请方案的应用程序代码,并由处理器401来控制执行。处理器401用于执行存储器403中存储的应用程序代码,以实现图2或图3所示实施例提供的乐曲生成装置的动作。
本申请实施例提供的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,可实现:通过基于训练后的乐曲生成模型,根据第一乐曲的第一midi文件生成互不相同的各个第二midi文件,以及根据各个第二midi文件分别生成相应的第二乐曲,使得计算机设备可以根据第一乐曲的第一midi文件自动生成至少一个第二乐曲,不仅可以满足热爱音乐的非专业人员的乐曲创作需求,为其提供乐曲创作途径,使其能够快捷、方便的创作自己喜爱的乐曲,而且可以为专业人员提供创作灵感,使乐曲家创作更加容易,能够在一定程度促进数字音乐的发展。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现实施例一所示的方法。可实现:通过基于训练后的乐曲生成模型,根据第一乐曲的第一midi文件生成互不相同的各个第二midi文件,以及根据各个第二midi文件分别生成相应的第二乐曲,使得计算机设备可以根据第一乐曲的第一midi文件自动生成至少一个第二乐曲,不仅可以满足热爱音乐的非专业人员的乐曲创作需求,为其提供乐曲创作途径,使其能够快捷、方便的创作自己喜爱的乐曲,而且可以为专业人员提供创作灵感,使乐曲家创作更加容易,能够在一定程度促进数字音乐的发展。
本申请实施例提供的计算机可读存储介质适用于上述方法的任一实施例。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种乐曲生成方法,其特征在于,包括:
获取第一乐曲的第一音乐设备数字接口midi文件;
基于训练后的乐曲生成模型,根据所述第一midi文件生成至少一个第二midi文件,各个第二midi文件互不相同;
根据各个第二midi文件分别生成相应的第二乐曲。
2.根据权利要求1所述的方法,其特征在于,所述训练后的乐曲生成模型包括节奏与旋律交叉生成模型以及多任务编排模型,所述基于训练后的乐曲生成模型,根据所述第一midi文件生成至少一个第二midi文件,包括:
确定所述第一midi文件的和弦,并基于所述节奏与旋律交叉生成模型,根据所述和弦,生成相应的节奏与旋律;
基于所述多任务编排模型,根据所述节奏与所述旋律生成多个乐器分别对应的音轨序列;
根据所述节奏、所述旋律与各个音轨序列,生成所述至少一个第二midi文件。
3.根据权利要求2所述的方法,其特征在于,所述节奏与旋律交叉生成模型包括门控循环单元GRU与第一循环神经网络RNN,或者包括门控循环单元GRU与卷积神经网络CNN,所述基于所述节奏与旋律交叉生成模型,根据所述和弦,生成相应的节奏与旋律,包括:
通过所述GRU与所述第一RNN,确定与所述和弦相对应的节奏和旋律;或者,
通过所述GRU与所述CNN,确定与所述和弦相对应的节奏和旋律。
4.根据权利要求2所述的方法,其特征在于,所述基于所述多任务编排模型,根据所述节奏与所述旋律生成多个乐器分别对应的音轨,包括:
通过所述多任务编排模型中一对多的音轨序列生成任务,根据所述节奏与所述旋律生成多个乐器分别对应的音轨序列。
5.根据权利要求4所述的方法,其特征在于,所述多任务编排模型包括计算注意单元与多层感知器MLP单元;所述通过所述多任务编排模型中一对多的音轨序列生成任务,根据所述节奏与所述旋律生成多个乐器分别对应的音轨序列,包括:
针对任一乐器的音轨,根据所述一对多的音轨序列生成任务,通过所述计算注意单元与所述MLP单元获取除所述任一乐器的音轨序列外的其它乐器分别对应的音轨序列;
基于所述节奏、所述旋律与所述其它乐器分别对应的音轨序列,生成所述任一乐器的音轨序列。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述训练后的乐曲生成模型是预先通过预定数量的样本midi文件对第二RNN与长短期记忆网络LSTM进行训练得到的;
所述基于训练后的乐曲生成模型,根据所述第一midi文件生成至少一个第二midi文件,各个第二midi文件互不相同,包括:
通过所述第二RNN与所述LSTM,根据所述第一midi文件生成互不相同的至少一个第二midi文件。
7.一种乐曲生成装置,其特征在于,包括:
获取模块,用于获取第一乐曲的第一音乐设备数字接口midi文件;
文件生成模块,用于基于训练后的乐曲生成模型,根据所述第一midi文件生成至少一个第二midi文件,各个第二midi文件互不相同;
乐曲生成模块,用于根据各个第二midi文件分别生成相应的第二乐曲。
8.根据权利要求7所述的装置,其特征在于,所述训练后的乐曲生成模型包括节奏与旋律交叉生成模型以及多任务编排模型,所述文件生成模块包括第一处理子模块、第二处理子模块与第三处理子模块;
所述第一处理子模块,用于确定所述第一midi文件的和弦,并基于所述节奏与旋律交叉生成模型,根据所述和弦,生成相应的节奏与旋律;
所述第二处理子模块,用于基于所述多任务编排模型,根据所述节奏与旋律生成多个乐器分别对应的音轨序列;
所述第三处理子模块,用于根据所述节奏与旋律与各个音轨序列,生成所述至少一个第二midi文件。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-6任一项所述的乐曲生成方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现权利要求1-6任一项所述的乐曲生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910775071.1A CN112420002A (zh) | 2019-08-21 | 2019-08-21 | 乐曲生成方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910775071.1A CN112420002A (zh) | 2019-08-21 | 2019-08-21 | 乐曲生成方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112420002A true CN112420002A (zh) | 2021-02-26 |
Family
ID=74779186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910775071.1A Pending CN112420002A (zh) | 2019-08-21 | 2019-08-21 | 乐曲生成方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112420002A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113192472A (zh) * | 2021-04-29 | 2021-07-30 | 北京灵动音科技有限公司 | 信息处理方法、装置、电子设备及存储介质 |
CN113797541A (zh) * | 2021-09-06 | 2021-12-17 | 武汉指娱互动信息技术有限公司 | 一种音乐游戏关卡生成方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997015043A1 (en) * | 1995-10-16 | 1997-04-24 | Harmonix Music Systems, Inc. | Real-time music creation system |
US20040244565A1 (en) * | 2003-06-06 | 2004-12-09 | Wen-Ni Cheng | Method of creating music file with main melody and accompaniment |
CN105702249A (zh) * | 2016-01-29 | 2016-06-22 | 北京精奇互动科技有限公司 | 自动选择伴奏的方法和装置 |
CN106652984A (zh) * | 2016-10-11 | 2017-05-10 | 张文铂 | 一种使用计算机自动创作歌曲的方法 |
WO2019121574A1 (en) * | 2017-12-18 | 2019-06-27 | Bytedance Inc. | Automated music production |
-
2019
- 2019-08-21 CN CN201910775071.1A patent/CN112420002A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997015043A1 (en) * | 1995-10-16 | 1997-04-24 | Harmonix Music Systems, Inc. | Real-time music creation system |
US20040244565A1 (en) * | 2003-06-06 | 2004-12-09 | Wen-Ni Cheng | Method of creating music file with main melody and accompaniment |
CN105702249A (zh) * | 2016-01-29 | 2016-06-22 | 北京精奇互动科技有限公司 | 自动选择伴奏的方法和装置 |
CN106652984A (zh) * | 2016-10-11 | 2017-05-10 | 张文铂 | 一种使用计算机自动创作歌曲的方法 |
WO2019121574A1 (en) * | 2017-12-18 | 2019-06-27 | Bytedance Inc. | Automated music production |
Non-Patent Citations (1)
Title |
---|
朱洪渊: "基于深度学习的自动作曲编曲研究", 《中国优秀硕士学位论文全文数据库 哲学与人文科学辑》, no. 8, 15 August 2019 (2019-08-15), pages 4 - 31 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113192472A (zh) * | 2021-04-29 | 2021-07-30 | 北京灵动音科技有限公司 | 信息处理方法、装置、电子设备及存储介质 |
CN113797541A (zh) * | 2021-09-06 | 2021-12-17 | 武汉指娱互动信息技术有限公司 | 一种音乐游戏关卡生成方法、装置、设备及存储介质 |
CN113797541B (zh) * | 2021-09-06 | 2024-04-09 | 武汉指娱互动信息技术有限公司 | 一种音乐游戏关卡生成方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Herremans et al. | MorpheuS: generating structured music with constrained patterns and tension | |
CN111512359B (zh) | 模块化自动音乐制作服务器 | |
WO2019022118A1 (ja) | 情報処理方法 | |
Vogl et al. | An intelligent drum machine for electronic dance music production and performance. | |
CN109326270A (zh) | 音频文件的生成方法、终端设备及介质 | |
CN112420002A (zh) | 乐曲生成方法、装置、电子设备及计算机可读存储介质 | |
Brown et al. | Techniques for generative melodies inspired by music cognition | |
Meade et al. | Exploring conditioning for generative music systems with human-interpretable controls | |
Castro | Performing structured improvisations with pre-trained deep learning models | |
Micchi et al. | I keep counting: An experiment in human/AI co-creative songwriting | |
Sajad et al. | Music generation for novices using Recurrent Neural Network (RNN) | |
Maduskar et al. | Music generation using deep generative modelling | |
Sha’ath | Estimation of key in digital music recordings | |
JP7251684B2 (ja) | アレンジ生成方法、アレンジ生成装置、及び生成プログラム | |
Zhu et al. | A Survey of AI Music Generation Tools and Models | |
WO2019022117A1 (ja) | 演奏解析方法およびプログラム | |
Ranjan et al. | Using a bi-directional lstm model with attention mechanism trained on midi data for generating unique music | |
JP7147384B2 (ja) | 情報処理方法および情報処理装置 | |
CN113032615A (zh) | 冥想音乐的生成方法、装置、设备及存储介质 | |
Cope | A computer model of music composition | |
Mauthes | VGM-RNN: Recurrent neural networks for video game music generation | |
CN112489607A (zh) | 录制歌曲的方法、装置、电子设备及可读存储介质 | |
Nymoen et al. | Self-awareness in active music systems | |
Krzyzaniak | Interactive learning of timbral rhythms for percussion robots | |
Benetatos et al. | Draw and Listen! A Sketch-Based System for Music Inpainting |
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 |