CN111583891B - 基于上下文信息的音符向量的自动作曲系统及方法 - Google Patents
基于上下文信息的音符向量的自动作曲系统及方法 Download PDFInfo
- Publication number
- CN111583891B CN111583891B CN202010315574.3A CN202010315574A CN111583891B CN 111583891 B CN111583891 B CN 111583891B CN 202010315574 A CN202010315574 A CN 202010315574A CN 111583891 B CN111583891 B CN 111583891B
- Authority
- CN
- China
- Prior art keywords
- note
- notes
- sequence
- music
- vector
- 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
Links
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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/0033—Recording/reproducing or transmission of music for electrophonic musical instruments
- G10H1/0041—Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
- G10H1/0058—Transmission between separate instruments or between individual components of a musical system
- G10H1/0066—Transmission between separate instruments or between individual components of a musical system using a MIDI interface
-
- 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
Abstract
本发明公开了一种基于上下文信息的音符向量的自动作曲系统及方法,该方法步骤如下:首先通过MIDI音乐预处理模块对MIDI音乐文件进行预处理,提取包含音高和音长两个音素的主旋律音符序列;然后将主旋律音符序列送入音符向量编码模块,该模块用于训练生成带有上下文信息的音符向量,这样的音符向量由于带有上下文信息从而使得后续的作曲网络音符预测准确性得到提高,同时使用生成的音符向量重新表示主旋律音符序列;接着将音符向量编码模块产生的用音符向量表示的主旋律音符序列作为训练数据送入自动作曲网络模块,该模块用于生成待作曲的音符序列;最后将待作曲的音符序列通过MIDI音乐合成和播放模块还原成MIDI格式并进行播放。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种基于上下文信息的音符向量的自动作曲系统及方法。
背景技术
随着经济社会的发展,人们对精神生活提出了更高要求。当今社会,人们的娱乐生活更加丰富与多样,而音乐是一种特殊的社会意识形态,不仅能陶冶情操、调节情绪,还能开发思维、焕发情感,具有极强的感染力,在娱乐、学习、医疗、教育等方面起到不可或缺的作用。
作曲家们不断尝试新的手法和技巧来满足人们的新需求。随着移动互联网的发展,多媒体短视频用户量持续增加。众多的短视频、游戏、动画等都需要大量的原创作曲来支持,而专业的音乐制作成本较高,无法满足用户对背景乐的个性化需要。随着机器学习的发展,计算机自动作曲将大大提高音乐创作力,同时辅助作曲家开拓新的创作思路。
目前,已经出现的很多种自动作曲的方案中,使用的音乐数据格式通常是MIDI,作曲网络通常使用循环神经网络(RNN,Recurrent Neural Network)以及它的变种长短时记忆(LSTM,Long Short-Term Memory)网络和门控循环单元(GRU,Gated Recurrent Unit)网络。通过直接提取MIDI中的音符特征,直接利用这些从MIDI中提起的原始的音符特征进行训练和生成音乐。这样,原始的音符特征都是独立的,离散的,它们之间没有必要的联系,而将整个作曲规则的学习完全寄托在作曲网络上。
当然,这在大数据集上去训练和生成音乐是没有问题的,但是实际生活中,不同风格的音乐数据集的分布是及其不均匀的,例如:流行风格的音乐颇多而古典风格的音乐颇少,更少的是一些小众音乐。对于小众音乐的自动作曲,由于无法收集到足够的数据集,这样即使作曲网络搭建的很完美,没有足够的数据量的支持,作曲网络无法很好的学习到音乐中音符的上下文关系,从而使自动作曲的效果大打折扣。
为了解决这个问题,发明人在本发明的提出过程中至少发现如下启示:借鉴自然语言处理领域的技术---词向量模型(word2vec),在音乐的数据表征中做出优化,使得输入到作曲网络中的数据不再是从MIDI音乐中提取的原始数据,而是经过处理后而带有上下文信息的音符向量表示的音符序列。词向量模型是将自然语言中的词转化为稠密的向量,语义相似的词会有相似的向量表示,因此词向量是带有上下文信息的。
词向量模型是能很好的借鉴运用到自动作曲领域的,因为音乐本身就是由一个音符组成,那么音符就可以看成词向量模型中的词,通过预训练使得在数据的表征中就带有整个音乐的上下文信息,这样做能带来两点好处:一是能提高音符预测的准确性,二是由于音符本身带有上下文信息,因此作曲网络能更快地预测出自己周围的音符,从而缩短作曲网络的训练时间。这样,通过带有上下文信息的数据表征和作曲网络两大模块,能更好地保证自动作曲的效率和质量。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,提供一种基于上下文信息的音符向量的自动作曲系统及方法,对音符首先训练和生成带有上下文信息的音符向量,然后使用训练生成的音符向量表征音符序列送入作曲网络进行训练生成音乐,可以提高音符生成的准确性和缩短作曲网络的训练时间。
本发明的第一个目的可以通过采取如下技术方案达到:
一种基于上下文信息的音符向量的自动作曲系统,所述的自动作曲系统包括依次顺序连接的MIDI音乐预处理模块、音符向量编码模块、自动作曲网络模块、MIDI音乐合成和播放模块,
其中,所述的MIDI音乐预处理模块对MIDI音乐文件预处理确定主旋律音轨并提取音符序列,该音符序列包括音高和音长两个音素;
所述的音符向量编码模块对预处理获得的音符序列形成[输入音符,目标音符]的二元数据组,接着经过训练生成带有上下文信息的音符向量,并且形成用音符向量表示的音符序列;
所述的自动作曲网络模块将基于音符向量表示的音符序列作为作曲网络的训练数据,进行音符的训练和生成,形成待作曲的音符序列;
所述的MIDI音乐合成和播放模块将自动作曲模块生成的待作曲的音符序列还原成MIDI音频文件进行播放。
进一步地,所述的MIDI音乐预处理模块的工作过程如下:
首先去除打击乐器音轨,选取平均音高最高的三个为候选主旋律音轨,再通过音轨时长占比音乐时长比例因子大小,最终根据时长比例因子从候选主旋律音轨中确定唯一的主旋律音轨;
接着在主旋律音轨上利用轮廓线算法去除同时出现多个音符的现象即多音提取出主旋律音高序列和音长序列;
最后对音高和音长采用组合编码的方式,形成包含音高和音长两个音素的主旋律音符序列。
进一步地,所述的对音高和音长采用组合编码的方式的规则如下:
MIDI中有128个音高,将音高编号为0-127,音长包括十六分音符、八分音符、四分音符、二分音符和全音符,对音高和音长组合编码后共640种可能,其音符编号为0-639。
进一步地,所述的音符向量编码模块采用跳字算法训练生成带有音符上下文的音符向量,并使用生成的音符向量取代音高和音长组合编码的音符编号形成用音符向量表示的音符序列,工作过程如下:
首先按照跳字算法的要求处理数据,选择合适的上下文窗口,并根据设置的上下文窗口大小对音符序列处理形成形式为[输入音符,目标音符]的二元数据组;
将二元数据组作为音符向量训练和生成网络的输入音符,其中,所述的音符向量训练和生成网络采用前馈神经网络结构,包括输出层、隐藏层和输出层。数据从输入层输入,顺序经过隐藏层到输出层输出。各层之间采用全连接的方式,隐藏层的神经元之间没有连接均是独立的。将音符向量训练和生成网络的输出和二元数据组的目标音符作对比计算误差,当音符向量训练和生成网络收敛时,隐藏层的参数就是训练生成的带有上下文信息的音符向量;
使用生成的音符向量取代音高和音长组合编码的音符编号形成用音符向量表示的音符序列。
进一步地,所述的自动作曲网络模块通过神经网络模型预测训练和生成待作曲的音符序列,该神经网络模型选择门控循环单元(GRU,Gated Recurrent Unit)网络的结构,包括输入层、隐藏层和输出层。整体上音符序列从输入层输入顺序经过隐藏层到达输出层输出,在隐藏层内部神经元之间通过连接形式可以充分利用输入音符序列的时序依赖信息,有利于音乐的生成。选择交叉熵函数作该神经网络模型的损失函数。
进一步地,所述的神经网络模型的训练过程为:
通过前n个音符输入,预测第n+1的音符,将神经网络模型输出的第n+1个音符和第n+1个目标音符作对比,然后将输入的音符序列依次向后滑动一个音符距离,再预测第n+2个音符,将神经网络模型输出的第n+2个音符和第n+2个目标音符作对比,进行迭代训练,直到神经网络模型收敛保存得到收敛模型。
进一步地,所述的神经网络模型的预测生成过程为:随机的选择n个音符,输入保存的收敛模型中,预测出第n+1个音符,将输出的音符替换输入的最后一个音符同时去除开头的第一个音符再次作为输入,再生成下一个音符;依次迭代,直到生成预先设置的S个音符结束。
进一步地,所述的MIDI音乐合成和播放模块将自动作曲网络模块生成的待作曲的音符序列还原成MIDI文件,并通过播放软件或者硬件进行播放和评价,从而完成整个作曲工作。
本发明的另一个目的可以通过采取如下技术方案达到:
一种基于上下文信息的音符向量的自动作曲方法,所述的自动作曲方法包括以下步骤:
对MIDI音乐文件预处理确定主旋律音轨并提取音符序列,该音符序列包括音高和音长两个音素;
将预处理获得的音符序列形成[输入音符,目标音符]的二元数据组,接着经过训练生成带有上下文信息的音符向量,并且形成用音符向量表示的音符序列;
将基于音符向量表示的音符序列作为作曲网络的训练数据,进行音符的训练和生成,形成待作曲的音符序列;
将待作曲的音符序列还原成MIDI音频文件进行播放。
本发明相对于现有技术具有如下的优点及效果:
1)在数据的表征上,使得音符的表示带有上下文信息,让作曲网络更容易做出音符的预测,提高了音符预测的准确性;
2)相较于直接采用MIDI中提取出的原始数据作曲,该方案更能缩短作曲网络的训练时间,即作曲模型的收敛时间;
3)采用音高和音长组合编码的方式,保存原始音乐的音高和音长关系,训练和生成的音符也包含着音高和音长两个元素;
4)音符向量训练的过程中有对音符数据的压缩过程,可以有效的缓解作曲网络的训练压力。
附图说明
图1是本发明实施例中公开的基于带有上下文信息的音符向量的自动作曲系统的组成结构图。
图2是本发明实施例中利用轮廓线(skyline)算法的MIDI文件预处理提取音符的音高和音长序列以及组合编码的具体流程图;
图3是本发明实施例中获取二元数据组的具体流程图;
图4是本发明实施例中音符向量训练模型结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
如图1所示,是基于上下文信息的音符向量的自动作曲系统的结构示意图。该系统包括依次顺序连接的MIDI音乐预处理模块、音符向量编码模块、自动作曲网络模块、MIDI音乐合成和播放模块。MIDI音乐预处理模块对MIDI音乐文件预处理确定主旋律音轨并提取音符序列,音符序列包括音高和音长两个音素;音符向量编码模块对预处理获得的音符序列形成[输入音符,目标音符]的二元数据组,接着经过训练生成带有上下文信息的音符向量,并且形成用音符向量表示的音符序列;自动作曲网络模块将基于音符向量表示的音符序列作为作曲网络的训练数据,进行音符的训练和生成,形成待作曲的音符序列;MIDI音乐合成和播放模块将自动作曲模块生成的待作曲的音符序列还原成MIDI音频文件进行播放。
如图2所示,在MIDI音乐预处理模块中,利用轮廓线(skyline)算法的MIDI文件预处理提取音符的音高和音长序列以及组合编码的具体步骤包括:
1)首先去除打击乐器音轨,然后对其他的音轨通过平均音高和音乐时长确定主旋律音轨,选取平均音高最高的三个为候选主旋律音轨,再通过音轨时长占比音乐时长比例因子大小,最终根据时长比例因子从候选主旋律音轨中确定唯一的主旋律音轨;
2)接着在主旋律音轨上利用轮廓线(skyline)算法去除多音,提取出主旋律音高序列和音长序列,如,某段的音乐的处理结果如下:
音高序列:[62,66,69,66,69,74,76,78,81,78]
音长序列:[0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25]
上述音长序列中数字的单位是秒,在音高序列中,每个数字代表一种音高,在MIDI音乐文件中,通过1个字节对音高进行编码,因此音高的范围就是0-127;上面呈现的音长序列单位为秒,通过BPM(Beat Per Minute)和音乐的拍号,BPM单位为拍每分钟(B/M),拍号由一个分数表示(Numerator/Denominator),其中分母(Denominator)表示单位拍的音长种类,分子(Numerator)表示每小节所含单位拍数;例如拍号是4/4表示单位拍是四分音符,每一个小节的长度是4个四分音符。根据MIDI文件提供的BPM,拍号和音符的时长(T)能确定每种音符所属音长的种类,首先计算单位拍时长(t,单位为秒),然后通过音符时长(T)和单位拍时比例因子a确定音符的种类,计算公式如下:
如,当某个音符的时长T=0.25秒,BPM=120B/M,拍号是4/4拍,计算该音符的音长种类过程为:
由拍号可以得知,单位拍是四分音符,根据公式(1)可以计算单位拍时长为60/120=0.5秒,根据公式(2)可以求得该音符时长和单位拍时长比例因子为a=0.25/0.5=0.5,说明该音符的音长是单位拍音长的一半,因此该音符的音长种类为八分音符。
因此上述的音长序列对应的音长种类为:
音长序列:[0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25]
音符音长种类序列:[四分音符,八分音符,八分音符,八分音符,八分音符,八分音符,八分音符,八分音符,八分音符,八分音符]
3)最后对音高和音长采用组合编码的方式,形成主旋律音符序列,包含音高和音长两个音素。
上述的音高音长组合编码,通过对音高和音长组合在一起进行编码获得包含音高和音长两个音素的音符序列,MIDI中有128个音高,音高的编号为0-127,而通常较多的音长分别为十六分音符、八分音符、四分音符、二分音符和全音符五种。组合编码的规则:十六分音符编号为0-127,代表音长为十六分音符的128中音高;八分音符的编号为128-255,代表音长为八分音符的128种音高;四分音符的编号为256-383,代表音长为四分音符的128种音高;二分音符的编号为384-511,代表音长为二分音符的128种音高;全音符的编号为512-639,代表音长为全音符的128种音高。组合编码后共640种可能,其音符编号为0-639。例如对下列的音高和音长序列经过组合编码得到的新的含有音高和音长两个音素的音符序列的过程如下:
原始的音高序列:[62,66,69,66,69,74,76,78,81,78]
原始的音长序列:[0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25]
经过音符音长种类的计算得到如下:
原始的音符音长种类序列:[四分音符,八分音符,八分音符,八分音符,八分音符,八分音符,八分音符,八分音符,八分音符,八分音符]
组合编码后的音符序列:[318,194,197,194,197,202,204,206,209,206]。
在音符向量编码模块中,借鉴自然语言处理对语义分析的方法,音符序列中音符的排列同样也有自己上下文语言,因此借鉴词向量(word2vec)的技术,该过程采用跳字(skip-gram)算法训练生成带有音符上下文的音符向量,并使用生成的音符向量取代音高和音长组合编码的音符编号形成用音符向量表示的音符序列,具体工作原理包括:
1)按照跳字(skip-gram)算法的要求处理数据,选择合适的上下文窗口,并根据设置的上下文窗口大小对音符序列处理形成形式为[输入音符,目标音符]的二元数据组,其形成二元数据组的过程如图3所示,输入音符为图3中白色方框中的中心词(中心音符),目标音符为图3中黑色方框中的窗口内音符。
形成二元数据组的过程文字描述如下:
音高音长组合编码后的音符序列:
[318,194,197,194,197,202,204,206,209,206]
首先选择中心词为318作为输入音符,由于窗口大小是8,因此选择中心词左右各4个音符作为目标音符,因此组成的二元组为[318,194],[318,197],[318,194],[318,197],然后,选择中心词194作为输入音符,同理形成以194为输入音符的二元组,依次下去。
2)搭建音符向量训练和生成网络,其网络结构采用一个前馈神经网络结构,主要包括3层:输出层、隐藏层和输出层,输入层、隐藏层和输出层之间顺序连接。其原理如图4所示,输入层输入二元数据组中的输入音符,输出层以二元数据组的目标音符为目标进行对比计算误差,当模型收敛时,隐藏层的参数就是训练生成的带有上下文信息的音符向量,这样生成的音符向量和音高音长组合编码是一一对应的,即每一个组合编码的音符都有一个音符向量。
3)使用生成的音符向量取代音高和音长组合编码的音符编号形成用音符向量表示的音符序列。
在自动作曲网络模块中,以音符向量模块产生的带有上下文信息的音符向量表示的音符序列为训练数据进行音乐的训练和生成工作,具体工作原理包括:
1)设置合适的网络结构:选择门控循环单元(GRU,Gated Recurrent Unit)网络的结构,包括输出层、隐藏层以及输出层。整体上音符序列从输入层输入顺序经过隐藏层到达输出层输出,在隐藏层内部神经元之间通过连接形式可以充分利用输入音符序列的时序依赖信息,有利于音乐的生成。选择交叉熵函数作为该网络的损失函数;
2)具体的训练过程是通过前n个音符输入,预测第n+1的音符,将网络输出的第n+1个音符和目标音符做交叉熵,通过梯度下降的方法得到收敛模型并保存起来。
3)最后是音乐生成(预测)的过程:随机的选择n个音符,输入保存的收敛模型中,预测出第n+1个音符,将输出的音符替换输入的最后一个音符同时去除开头的第一个音符再次作为输入,再生成下一个音符。依次迭代,直到生成预先设置的S个音符结束。
在MIDI音乐合成和播放模块中,将自动作曲网络模块生成的待作曲的音符序列(包含音高和音长两个音素)还原成MIDI文件,并通过合适的软件或者硬件进行播放和评价,从而完成整个作曲工作。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (8)
1.一种基于上下文信息的音符向量的自动作曲系统,其特征在于,所述的自动作曲系统包括依次顺序连接的MIDI音乐预处理模块、音符向量编码模块、自动作曲网络模块、MIDI音乐合成和播放模块,
其中,所述的MIDI音乐预处理模块对MIDI音乐文件预处理确定主旋律音轨并提取音符序列,该音符序列包括音高和音长两个音素;
所述的音符向量编码模块对预处理获得的音符序列形成由输入音符和目标音符组成的二元数据组,接着经过训练生成带有上下文信息的音符向量,并且形成用音符向量表示的音符序列;
所述的音符向量编码模块采用跳字算法训练生成带有音符上下文的音符向量,并使用生成的音符向量取代音高和音长组合编码的音符编号形成用音符向量表示的音符序列,工作过程如下:
首先按照跳字算法的要求处理数据,选择合适的上下文窗口,并根据设置的上下文窗口大小对音符序列处理形成形式为由输入音符和目标音符组成的二元数据组;
将二元数据组作为音符向量训练和生成网络的输入,其中,所述的音符向量训练和生成网络采用前馈神经网络结构,包括输出层、隐藏层和输出层;
数据从输入层输入,顺序经过隐藏层到输出层输出;各层之间采用全连接的方式,隐藏层的神经元之间没有连接均是独立的;将音符向量训练和生成网络的输出和二元数据组的目标音符作对比计算误差,当音符向量训练和生成网络收敛时,隐藏层的参数就是训练生成的带有上下文信息的音符向量;
使用生成的音符向量取代音高和音长组合编码的音符编号形成用音符向量表示的音符序列;
所述的自动作曲网络模块将基于音符向量表示的音符序列作为作曲网络的训练数据,进行音符的训练和生成,形成待作曲的音符序列;
所述的MIDI音乐合成和播放模块将自动作曲模块生成的待作曲的音符序列还原成MIDI音频文件进行播放。
2.根据权利要求1所述的基于上下文信息的音符向量的自动作曲系统,其特征在于,所述的MIDI音乐预处理模块的工作过程如下:
首先去除打击乐器音轨,选取平均音高最高的三个为候选主旋律音轨,再通过音轨时长占比音乐时长比例因子大小,最终根据时长比例因子从候选主旋律音轨中确定唯一的主旋律音轨;
接着在主旋律音轨上利用轮廓线算法去除同时出现多个音符的现象即多音提取出主旋律音高序列和音长序列;
最后对音高和音长采用组合编码的方式,形成包含音高和音长两个音素的主旋律音符序列。
3.根据权利要求2所述的基于上下文信息的音符向量的自动作曲系统,其特征在于,所述的对音高和音长采用组合编码的方式的规则如下:
MIDI中有128个音高,将音高编号为0-127,音长包括十六分音符、八分音符、四分音符、二分音符和全音符,对音高和音长组合编码后共640种可能,其音符编号为0-639。
4.根据权利要求1所述的基于上下文信息的音符向量的自动作曲系统,其特征在于,所述的自动作曲网络模块通过神经网络模型预测训练和生成待作曲的音符序列,该神经网络模型选择门控循环单元网络的结构,包括输入层、隐藏层和输出层,音符序列从输入层输入顺序经过隐藏层到达输出层输出,选择交叉熵函数作该神经网络模型的损失函数。
5.根据权利要求4所述的基于上下文信息的音符向量的自动作曲系统,其特征在于,所述的神经网络模型的训练过程为:
通过前n个音符输入,预测第n+1的音符,将神经网络模型输出的第n+1个音符和第n+1个目标音符作对比,然后将输入的音符序列依次向后滑动一个音符距离,再预测第n+2个音符,将神经网络模型输出的第n+2个音符和第n+2个目标音符作对比,进行迭代训练,直到神经网络模型收敛保存得到收敛模型。
6.根据权利要求5所述的基于上下文信息的音符向量的自动作曲系统,其特征在于,所述的神经网络模型的预测生成过程为:随机的选择n个音符,输入保存的收敛模型中,预测出第n+1个音符,将输出的音符替换输入的最后一个音符同时去除开头的第一个音符再次作为输入,再生成下一个音符;依次迭代,直到生成预先设置的S个音符结束。
7.根据权利要求1所述的基于上下文信息的音符向量的自动作曲系统,其特征在于,所述的MIDI音乐合成和播放模块将自动作曲网络模块生成的待作曲的音符序列还原成MIDI文件,并通过播放软件或者硬件进行播放和评价,从而完成整个作曲工作。
8.一种根据权利要求1至7任一所述的基于上下文信息的音符向量的自动作曲系统的自动作曲方法,其特征在于,所述的自动作曲方法包括以下步骤:
对MIDI音乐文件预处理确定主旋律音轨并提取音符序列,该音符序列包括音高和音长两个音素;
将预处理获得的音符序列形成由输入音符和目标音符组成的二元数据组,接着经过训练生成带有上下文信息的音符向量,并且形成用音符向量表示的音符序列;
将基于音符向量表示的音符序列作为作曲网络的训练数据,进行音符的训练和生成,形成待作曲的音符序列;
将待作曲的音符序列还原成MIDI音频文件进行播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010315574.3A CN111583891B (zh) | 2020-04-21 | 2020-04-21 | 基于上下文信息的音符向量的自动作曲系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010315574.3A CN111583891B (zh) | 2020-04-21 | 2020-04-21 | 基于上下文信息的音符向量的自动作曲系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111583891A CN111583891A (zh) | 2020-08-25 |
CN111583891B true CN111583891B (zh) | 2023-02-14 |
Family
ID=72124772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010315574.3A Active CN111583891B (zh) | 2020-04-21 | 2020-04-21 | 基于上下文信息的音符向量的自动作曲系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111583891B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113012665B (zh) * | 2021-02-19 | 2024-04-19 | 腾讯音乐娱乐科技(深圳)有限公司 | 音乐生成方法及音乐生成模型的训练方法 |
CN113035159A (zh) * | 2021-02-26 | 2021-06-25 | 王福庆 | 一种智能作曲系统 |
CN113033778B (zh) * | 2021-03-17 | 2023-09-29 | 平安科技(深圳)有限公司 | 佛乐生成方法、装置、设备及存储介质 |
CN113066459B (zh) * | 2021-03-24 | 2023-05-30 | 平安科技(深圳)有限公司 | 基于旋律的歌曲信息合成方法、装置、设备及存储介质 |
CN113611265B (zh) * | 2021-07-07 | 2022-09-23 | 湖南师范大学 | 一种人工智能作曲方法和系统 |
CN115514673A (zh) * | 2022-09-22 | 2022-12-23 | 西安理工大学 | 一种网络安全态势可听化方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101710367A (zh) * | 2009-11-20 | 2010-05-19 | 上海电机学院 | 基于勋伯格十二音体系的计算机作曲方法 |
CN106023969A (zh) * | 2011-07-29 | 2016-10-12 | 音乐策划公司 | 用于制作更和谐音乐伴奏以及用于将效果链应用于乐曲的系统和方法 |
CN106652984A (zh) * | 2016-10-11 | 2017-05-10 | 张文铂 | 一种使用计算机自动创作歌曲的方法 |
CN109192187A (zh) * | 2018-06-04 | 2019-01-11 | 平安科技(深圳)有限公司 | 基于人工智能的作曲方法、系统、计算机设备和存储介质 |
CN109448683A (zh) * | 2018-11-12 | 2019-03-08 | 平安科技(深圳)有限公司 | 基于神经网络的音乐生成方法及装置 |
CN109727590A (zh) * | 2018-12-24 | 2019-05-07 | 成都嗨翻屋科技有限公司 | 基于循环神经网络的音乐生成方法及装置 |
CN110120212A (zh) * | 2019-04-08 | 2019-08-13 | 华南理工大学 | 基于用户示范音频风格的钢琴辅助作曲系统及方法 |
Family Cites Families (2)
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 |
US20180322854A1 (en) * | 2017-05-08 | 2018-11-08 | WaveAI Inc. | Automated Melody Generation for Songwriting |
-
2020
- 2020-04-21 CN CN202010315574.3A patent/CN111583891B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101710367A (zh) * | 2009-11-20 | 2010-05-19 | 上海电机学院 | 基于勋伯格十二音体系的计算机作曲方法 |
CN106023969A (zh) * | 2011-07-29 | 2016-10-12 | 音乐策划公司 | 用于制作更和谐音乐伴奏以及用于将效果链应用于乐曲的系统和方法 |
CN106652984A (zh) * | 2016-10-11 | 2017-05-10 | 张文铂 | 一种使用计算机自动创作歌曲的方法 |
CN109192187A (zh) * | 2018-06-04 | 2019-01-11 | 平安科技(深圳)有限公司 | 基于人工智能的作曲方法、系统、计算机设备和存储介质 |
CN109448683A (zh) * | 2018-11-12 | 2019-03-08 | 平安科技(深圳)有限公司 | 基于神经网络的音乐生成方法及装置 |
CN109727590A (zh) * | 2018-12-24 | 2019-05-07 | 成都嗨翻屋科技有限公司 | 基于循环神经网络的音乐生成方法及装置 |
CN110120212A (zh) * | 2019-04-08 | 2019-08-13 | 华南理工大学 | 基于用户示范音频风格的钢琴辅助作曲系统及方法 |
Non-Patent Citations (1)
Title |
---|
基于字统计语言模型的汉语语音识别研究;吴应良等;《计算机应用研究》;20001231;第6-8页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111583891A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111583891B (zh) | 基于上下文信息的音符向量的自动作曲系统及方法 | |
Bretan et al. | A unit selection methodology for music generation using deep neural networks | |
CN111554255B (zh) | 基于循环神经网络的midi演奏风格自动转换系统 | |
CN109584846B (zh) | 一种基于生成对抗网络的旋律生成方法 | |
CN111653256B (zh) | 一种基于编码-解码网络的音乐伴奏自动生成方法及其系统 | |
Liu et al. | AudioLDM 2: Learning holistic audio generation with self-supervised pretraining | |
CN112183109B (zh) | 基于mass的诗句生成信息隐写方法 | |
Colombo et al. | Bachprop: Learning to compose music in multiple styles | |
Sajad et al. | Music generation for novices using Recurrent Neural Network (RNN) | |
Melechovsky et al. | Mustango: Toward controllable text-to-music generation | |
Wang et al. | An intelligent music generation based on Variational Autoencoder | |
Sun et al. | Composing music with grammar argumented neural networks and note-level encoding | |
CN114842819B (zh) | 基于深度强化学习的单音轨midi音乐生成方法 | |
CN115762449A (zh) | 基于Transformer的条件音乐主题旋律自动生成方法及系统 | |
CN111785236A (zh) | 一种基于动机提取模型与神经网络的自动作曲方法 | |
Trochidis et al. | CAMeL: Carnatic percussion music generation using n-gram models | |
Liang et al. | Research on Generating Xi'an Drum Music Based on Generative Adversarial Network | |
CN115206270A (zh) | 基于循环特征提取的音乐生成模型的训练方法、训练装置 | |
Yang et al. | Unsupervised Musical Timbre Transfer for Notification Sounds | |
Mohanty et al. | Temporally conditioning of generative adversarial networks with lstm for music generation | |
Garoufis et al. | Multi-Source Contrastive Learning from Musical Audio | |
Tanaka et al. | Unsupervised disentanglement of timbral, pitch, and variation features from musical instrument sounds with random perturbation | |
Ma et al. | Coarse-to-fine framework for music generation via generative adversarial networks | |
CN112528631B (zh) | 一种基于深度学习算法的智能伴奏系统 | |
KR102227415B1 (ko) | 복선율 음악 생성 방법, 장치, 및 시스템 |
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 |