CN111754962B - 基于升降采样的民歌智能辅助作曲系统及方法 - Google Patents
基于升降采样的民歌智能辅助作曲系统及方法 Download PDFInfo
- Publication number
- CN111754962B CN111754962B CN202010371056.3A CN202010371056A CN111754962B CN 111754962 B CN111754962 B CN 111754962B CN 202010371056 A CN202010371056 A CN 202010371056A CN 111754962 B CN111754962 B CN 111754962B
- Authority
- CN
- China
- Prior art keywords
- module
- sequence
- pitch
- sampling
- music
- 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
- 238000005070 sampling Methods 0.000 title claims abstract description 92
- 238000000034 method Methods 0.000 title claims abstract description 27
- 239000000203 mixture Substances 0.000 claims abstract description 43
- 238000007781 pre-processing Methods 0.000 claims abstract description 40
- 238000012549 training Methods 0.000 claims abstract description 39
- 230000008450 motivation Effects 0.000 claims abstract description 38
- 238000013500 data storage Methods 0.000 claims abstract description 19
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 7
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 4
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 4
- 239000011295 pitch Substances 0.000 claims description 175
- 238000006243 chemical reaction Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 15
- 230000007704 transition Effects 0.000 claims description 14
- 238000013528 artificial neural network Methods 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 8
- 230000002457 bidirectional effect Effects 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 3
- 238000003062 neural network model Methods 0.000 claims description 3
- 238000003491 array Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 claims description 2
- 239000000463 material Substances 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 241000288105 Grus Species 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003340 mental effect Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- 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/044—Recurrent networks, e.g. Hopfield 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/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/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
-
- 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
-
- 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/105—Composing aid, e.g. for supporting creation, edition or modification of a piece of music
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
本发明公开了一种基于升降采样的民歌智能辅助作曲系统及方法,包括数据存储模块、预处理模块、升采样模块、音乐训练模块、动机生成模块、作曲模块、降采样模块和midi合成模块;其中,数据存储模块用于存储各种音乐数据;预处理模块将乐曲转成统一调式;升采样模块将音高序列升采样得到升采样序列;音乐训练模块学习民族风格的乐曲,得到已训练的网络模型;动机生成模块用于生成动机音高序列;作曲模块结合动机音高序列和已训练的网络模型生成作曲音高序列;降采样模块将作曲音高序列降采样得到音高序列和对应时值序列;midi合成模块将音高序列和对应时值序列合成midi音频输出。本发明可辅助创作,生成用户喜爱的民族风格的乐曲。
Description
技术领域
本发明涉及音乐辅助作曲、机器学习技术领域,具体涉及一种基于升降采样的民歌智能辅助作曲系统及方法。
背景技术
随着社会经济水平的提高,人们对精神生活提出了较高的要求。音乐因其具有极强的感染力,不仅可以陶冶情操,舒缓心情,甚至可以对一些心理疾病有着良好的调节效果。作曲家们都在尝试不同的新的手法和形式来创作音乐,而专业音乐的制作成本太高,普通用户想要作曲,门槛太高。随着当下深度学习与机器学习的迅速发展,计算机自动作曲可以大大提高音乐的创作力,在辅助作曲家开拓新的创作思路的同时,也可以满足大众娱乐的需求。
目前,人工智能作曲技术针对西方音乐的研究相对活跃,而针对中国民族音乐的自动创作的研究较少。中国的传统民族音乐有几千年的悠久历史,音乐资源丰富,形式多种多样,其中尤其以民歌的形式最为突出。人工智能作曲技术运用到中国民族音乐的分析与创作之中,构建中国民族音乐智能作曲系统,对发展和传播中国民族音乐具有重要意义。
目前,计算机辅助作曲技术在国外相对成熟,总结来看主要的算法涉及有马尔科夫链,知识库规则系统,音乐文法,人工神经网络和遗传算法,各作曲算法各有其自身优点和存在的问题,由于国内关于计算机作曲系统的研究起步较晚,目前并没有成熟的针对中国民族音乐自动作曲的分析与创作,因此目前亟待提出一种基于升降采样民歌智能辅助作曲系统。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,提供一种基于升降采样的民歌智能辅助作曲系统及方法。
本发明的第一个目的可以通过采取如下技术方案达到:
一种基于升降采样的民歌智能辅助作曲系统,所述的基于升降采样的民歌智能辅助作曲系统包括数据存储模块、预处理模块、升采样模块、音乐训练模块、动机生成模块、作曲模块、降采样模块和midi合成模块。
所述的数据存储模块用于存储各种音乐数据,包括midi民歌乐曲、民歌音乐知识规则以及调式转换表;所述的预处理模块将数据存储模块中的不同调式的midi民歌乐曲转换成统一调式的预处理音高序列和对应时值序列。所述的升采样模块用于进行升采样操作,将预处理模块输出的预处理音高序列和对应时值序列升采样后得到升采样序列。所述的音乐训练模块用于学习民族风格的乐曲,采用升采样序列对网络模型进行训练,得到已训练的网络模型;所述的动机生成模块用于生成动机音高序列;所述的作曲模块结合动机音高序列以及已训练的网络模型来生成作曲音高序列;所述的降采样模块用于进行降采样操作,将作曲模块生成的作曲音高序列降采样分别得到音高序列和对应时值序列;所述的midi合成模块将降采样模块输出的音高序列和对应时值序列合成midi音频播放文件输出。
进一步地,所述的基于升降采样的民歌智能辅助作曲系统,其特征在于,所述的数据存储模块,存储了midi民歌乐曲,民歌音乐知识规则,调式转换表。
所述的调式转换表,拟定各调式midi音高与简谱数字符号和不同八度值的对应关系,不同的调式音阶虽然主音音高不同,但对应简谱数字符号一致;所谓音阶就是将一个调式中的音,按低到高的次序排列起来得到的序列;
C大调音阶用音名表示为:C音名、D音名、E音名、F音名、G音名、A音名、B音名,对应简谱数字符号依次表示为:“1”、“2”、“3”、“4”、“5”、“6”、“7”,不同调式的音阶对应的midi音高用数组[R,V]表示,R代表简谱数字符号“1”、“2”、“3”、“4”、“5”、“6”、“7”,V代表音高的不同八度,由于人声音域的限制,音高设置成三个八度,分别为用-1、0和1表示的低八度,同度和高八度。
进一步地,所述的预处理模块将存储在数据存储模块中不同调式的midi民歌乐曲信息提取出来,乐曲信息包括音高、时值、调式,乐曲中的midi音高表示范围为0-127,时值是每个音符的相对持续时间,单位为拍,若以四分音符为1拍,则时值0.5表示半拍,调式包括音乐中所有常见调式类型,用0-23表示,将不同调式的midi民歌乐曲根据调式转换表转成统一调式的预处理音高序列和对应时值序列,进行统一调式转换的步骤如下:
S201、提取民歌乐曲的midi音高、时值、调式;
S202、查找调式转换表,将提取的midi音高用数组[R,V]表示,R代表midi音高对应的简谱数字符号,V代表音高的不同八度;
S203、再根据所要转换的调式,查找调式转换表,将数组[R,V]转换成统一调式的midi音高;
S204、输出调式转换后的midi音高序列和时值序列。
进一步地,所述的升采样模块和降采样模块采用升降采样的编码方法,其中,升采样模块用于进行升采样操作,将预处理模块输出的预处理音高序列和对应时值序列,经过升采样后得到升采样序列;降采样模块用于进行降采样操作,将作曲模块生成的作曲音高序列降采样分别得到音高序列和对应时值序列;
升采样操作的过程如下:
定义最小的时值单元τ为0.125,根据各音符的时值与最小时值单元τ的时值倍数关系,对各音高进行升采样得到升采样序列;当预处理音高序列为:[a1,a2,a3,…,an],a1,a2,a3,…,an表示各音高,对应时值序列为:[2τ,2τ,4τ,...,8τ],将预处理音高序列根据各时值倍数关系对各音高升采样得到升采样序列为:
[a1,a1,a2,a2,a3,a3,a3,a3,…,an,an,an,an,an,an,an,an];
降采样操作的过程如下:
当作曲音高序列为:
[a1,a1,a2,a2,a2,a2,…,an,an,an,an,an,an,an,an],根据作曲音高序列中各音高数量与时值倍数的对应关系,降采样还原得到音高序列
[a1,a2,…,an]和对应时值序列[2τ,4τ,...,8τ]。
进一步地,所述的动机生成模块用于生成动机音高序列,为作曲模块的输入做准备,动机生成模块采用马尔科夫链来生成动机序列。
任何作曲家开始音乐作品创作,必要条件是具有创作的动机,所谓的创作动机,可以是几个小节或者一段小旋律,动机可以看作是作曲家创作的源泉。如果没有动机就没有作品的产生。对于计算机作曲来说也是一样,基于深度学习构建的作曲网络,也需要送入一段音符序列,基于这段音符序列去续写,生成整首乐曲。动机生成模块就是为民歌智能辅助作曲系统提供具有民族风格特色的动机序列。
生成过程如下:
S301、确定马尔科夫链的状态:马尔可夫链中的状态来自于数据存储模块中的民歌音乐知识规则所提炼和统计的五声调式四度三音列;将一个四度三音列看作一个马尔科夫链的状态;四度三音列是do、re、mi、sol、la,对应简谱数字符号为:“1”、“2”、“3”、“5”、“6”,五声音阶中四度内的三音列。这五声音阶中相邻音阶之间存在着大二度和小三度的关系,大二度和小三度是音乐理论中的一种描述两个音之间音程关系的术语,两个音之间的可能差一个半音,或者一个全音,相差1个全音就是大二度,个全音就是小三度;度定义为两个音高上的距离;以简谱为例,“1”到“1”或者“2”到“2”就是同度,从“1”到“3”是三度;由大二度和小三度音程构成的三个音高组合即四度三音列。用数学公式表示三音列如下:
Max{X,Y,Z}-Min{X,Y,Z}=3 X,Y,Z∈{1,2,3,5,6} 公式(1)
其中,X,Y,Z表示三音列中的三个音高,Max表示求三音列中最大值,Min表示求三音列中最小值;
S302、在收集的音乐素材中统计各三音列状态之间的状态转移情况,求出状态转移概率pij,构造状态转移矩阵P;其中,pij表示当前时刻状态i到下一时刻状态j的状态转移概率,nij表示状态i到状态j的次数,k表示三音列状态总数,计算公式如下:
其中pij应满足条件:
0<pij<1 公式(4)
S303、计算初始状态概率π,π={pi}1×k,pi对应各三音列状态的初始概率;结合状态转移矩阵P,生成动机音高序列,首先计算下一时刻输出的各三音列状态可能概率值P1,mi表示状态i出现的次数,k表示三音列状态总数:
P1=πP=[p1,p2,…,pk]P 公式(7)
根据各三音列状态可能概率值P1的权重随机获取一个三音列状态作为输出,继续求下一时刻的状态可能概率值,即将当前状态可能概率值P1与状态转移矩阵P继续相乘;多次迭代,求得的N个三音列状态输出组合即为动机音高序列。
进一步地,所述的音乐训练模块用于学习民族风格的乐曲,得到已训练的网络模型;网络模型由输入层,隐藏层和输出层组成。其中,隐藏层由多层双向循环神经网络构成。循环神经网络通过使用带自反馈的神经元,能够处理任意长度的时序数据。在实际应用中,使用最广的是其改进型长短期记忆(Long Short-Term Memory,LSTM)和门控循环单元(Gated Recurrent Unit,GRU),LSTM和GRU循环神经网络作为循环神经网络的改进,能有效地解决梯度消失和梯度爆炸的问题。在预测效果相当的情况下,GRU比LSTM更新隐藏状态时需要的计算更少,训练更快,并且需要较少的数据就可以泛化。
但是利用单向GRU建立模型时常会遇到一个无法从后向前学习的问题。音乐家一般作曲都会先参考当前时刻之前和之后的旋律,再对音乐进行修改。有一种网络在处理长时间序列前后问题有着较好的效果,那就是双向循环神经网络。
音乐训练模块的输入层接受升采样模块输出的升采样序列,从升采样序列中,依次选择f个音高作为输入,预测第f+1个音高输出,与目标音高值对比,计算误差,完成迭代次数后,寻找损失最小的权重参数文件,得到已训练的网络模型。
进一步地,所述的作曲模块结合动机音高序列以及已训练的网络模型生成作曲音高序列,步骤如下:
S401、动机生成模块生成的动机序列送入作曲模块,作曲模块调用已训练的网络模型;
S402、通过输入的动机音高序列生成第q+1个音高,将生成的第q+1个音高作为再预测下一个音符的输入中的最后一个音高,去掉第一个音高,依次迭代,直到生成目标Q个作曲音高序列。
本发明的另一个目的可以通过采取如下技术方案达到:
一种基于升降采样的民歌智能辅助作曲系统的作曲方法,所述的作曲方法包括训练过程和作曲过程,其中,训练过程如下:
S101、预处理模块将存储在数据存储模块中不同调式的民歌乐曲信息提取出来,得到调式信息;将不同调式的乐曲根据调式转换表转成统一调式的预处理音高序列和对应时值序列,并将预处理音高序列和对应时值序列传递给升采样模块;
S102、升采样模块将预处理模块传递的预处理音高序列和对应时值序列升采样,得到输入音乐训练模块的升采样序列;
S103、音乐训练模块采用升采样模块输出的升采样序列来训练神经网络模型,得到已训练的网络模型;
作曲过程如下;
S104、动机生成模块生成动机音高序列,为作曲模块的输入做准备;
S105、作曲模块结合动机生成模块生成的动机音高序列和已训练的网络模型,生成作曲音高序列;并将作曲音高序列传递给降采样模块;
S106、降采样模块将作曲音高序列降采样分别得到音高序列和对应时值序列;
S107、midi合成模块结合降采样得到的音高序列和对应时值序列,合成最终的midi音频播放文件。
本发明相对于现有技术具有如下的优点及效果:
1、本发明是针对中国传统民族音乐,结合中国民族音乐知识规则设计的作曲系统,由此系统创作的乐曲可体现中国传统民族音乐风格特色。
2、本发明采用混合算法作曲,产生动机音高序列,采用的是基于民歌知识规则构建的马尔科夫链,音乐训练网络采用的是双向循环神经网络,用于学习民族风格的乐曲。采用混合算法相结合生成乐曲,可以有效解决以往作曲当中,单一算法生成的音乐枯燥,可听性不强。
3、在以往的音乐自动创作研究当中,大多将乐曲旋律中的特征音高和时值分别提取作为独立的特征送入网络训练,这会存在一个不足,神经网络学习不到音高和时值之间的关系。本发明中提出一种升降采样编码方法,考虑到音高与时值关系对音乐风格的影响。可以将乐曲中的特征音高与时值联系起来,可以较好保留原有曲子的节奏风格,便于神经网络学习。
附图说明
图1是本发明实施例中基于升降采样的民歌智能辅助作曲系统的结构示意图;
图2是本发明实施例中基于升降采样的民歌智能辅助作曲系统的工作流程图;
图3是本发明实施例中升降采样编码的原理图;
图4是动机生成模块工作流程图;
图5是本发明实施例中音乐训练模块的结构示意图;
图6是本发明实施例中音乐训练模块的训练示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
下面结合附图进一步说明本实施例公开的基于升降采样的民歌智能辅助作曲系统。
如图1所示,是基于升降采样的民歌智能辅助作曲系统结构示意图。该系统包括数据存储模块、预处理模块、升采样模块、音乐训练模块、动机生成模块、作曲模块、降采样模块和midi合成模块。其中,数据存储模块用于存储各种音乐数据,包括midi民歌乐曲、民歌音乐知识规则以及调式转换表。预处理模块将数据存储模块中的不同调式的midi民歌乐曲转换成统一调式的预处理音高序列和对应时值序列。升采样模块用于进行升采样操作,将预处理模块输出的预处理音高序列和对应时值序列升采样后得到升采样序列。音乐训练模块用于学习民族风格的乐曲,采用升采样序列对网络模型进行训练,得到已训练的网络模型。动机生成模块用于生成动机音高序列。作曲模块结合动机音高序列以及已训练的网络模型来生成作曲音高序列。降采样模块用于进行降采样操作,将作曲模块生成的作曲音高序列降采样分别得到音高序列和对应时值序列。midi合成模块将降采样模块输出的音高序列和对应时值序列合成midi音频播放文件输出。
如图2所示,是基于升降采样民歌智能辅助作曲系统的工作流程图。
工作流程包括训练过程和作曲过程,其中,训练过程如下:
S101、预处理模块将存储在数据存储模块中不同调式的midi民歌乐曲信息提取出来,得到调式信息;将不同调式的乐曲根据调式转换表转成统一调式的预处理音高序列和对应时值序列,并将预处理音高序列和对应时值序列传递给升采样模块;
乐曲信息包括音高,时值,调式;乐曲中的midi音高表示范围为0-127;时值是每个音符的相对持续时间,单位为拍,若以四分音符为1拍,则时值0.5表示半拍。调式包含音乐中所有常见调式类型,用0-23表示。将D调曲子转成C调,如表1所示,从调式转换表得到D调音阶的三个八度的midi音高序列分别表示为:[50,52,54,55,57,59,61],[62,64,65,67,69,71,73],[74,76,78,79,81,83,85]。根据调式转换表,可用[R,V]数组表示midi音高序列,R代表了简谱数字符号“1”、“2”、“3”、“4”、“5”、“6”、“7”,V代表了音高的不同八度值,由于人声音域的限制,音高设置成三个八度,分别用-1,0和1表示的低八度,同度和高八度。结果表示如下:
[1,-1],[2,-1],[3,-1],[4,-1],[5,-1],[6,-1],[7,-1],[1,0],[2,0],[3,0],[4,0],[5,0],[6,0],[7,0],[1,1],[2,1],[3,1],[4,1],[5,1],[6,1],[7,1]
再根据调式转换表中C调音阶的简谱数字符号和八度值与midi音高的对应关系,将数组转成对应的C调音阶midi音高序列,结果如下:
[48,50,52,53,55,57,59,60,62,64,65,67,69,71,72,74,76,77,79,81,83]
表1.调式转换表
S102、升采样模块将预处理模块传递的预处理音高序列和对应时值序列升采样,得到输入音乐训练模块的升采样序列;
S103、音乐训练模块采用升采样模块输出的升采样序列训练神经网络模型,得到已训练的网络模型;
作曲过程如下:
S104、动机生成模块生成动机音高序列,为作曲模块的输入做准备;
S105、作曲模块结合动机生成模块生成的动机音高序列和已训练的网络模型,生成作曲音高序列;并将作曲音高序列传递给降采样模块。
S106、降采样模块将作曲音高序列降采样分别得到音高序列和对应时值序列;
S107、midi合成模块结合降采样得到的音高序列和对应时值序列,合成最终的midi音频播放文件。
如图3所示,是基于升降采样的民歌智能辅助作曲升降采样原理图。
图中各采样点对应的预处理音高序列为:[64,62,60,62,60],对应时值序列为:[0.25,0.25,0.25,1,0.25],根据时值与编码关系表,如表2所示。将预处理音高序列按照各个时值与最小时值单元的倍数关系进行编码,1拍将音高升采样8倍,则0.5拍将音高升采样4倍,依次类推进行升采样,得到升采样后的音高序列为:[64,64,62,62,60,60,62,62,62,62,62,62,62,62,60,60];作曲模块输出的作曲音高序列为:[64,64,62,62,60,60,62,62,62,62,62,62,62,62,60,60],通过降采样得到音高序列[64,62,60,62,60]和对应时值序列[0.25,0.25,0.25,1,0.25]。
表2.时值与编码关系表
时值 | 编码 |
0.125 | 1 |
0.25 | 2 |
0.375 | 3 |
0.5 | 4 |
0.75 | 6 |
1 | 8 |
1.5 | 12 |
1.75 | 14 |
如 | 16 |
2.5 | 20 |
3 | 24 |
3.5 | 28 |
4 | 32 |
6 | 48 |
如图4所示,是动机生成模块的工作流程图。动机生成模块中采用马尔科夫链来生成动机序列。如表3所示,是所有三音列状态,每种状态用数字编号标识。马尔科夫链表示为{St,π,P}。其中,{St=i|i∈[1,2,3,4,5,..,k]}表示在t时刻所处的三音列状态。表中k一共有10种。π={pi}1×k表示初始状态概率,P={pij}k×k表示状态转移矩阵,pij表示当前时刻状态i到下一时刻状态j的状态转移概率,mi表示状态i出现的次数,nij表示状态i到状态j的次数,k表示三音列状态总数,计算如下:
初始概率π为:[0.09,0.11,0.18,0.02,0.03,0.17,0.08,0.12,0.14,0.06],状态移矩阵为:
由公式(7)可得当前时刻各三音列状态的概率值:
P1=πP
=[0.102,0.1092,0.1215,0.0804,0.1083,0.1033,0.0829,0.0944,
0.1074,0.0906]
根据各概率值的权重随机获取一个三音列状态输出,依次类推,生成6个三音列作为动机音高序列输出,结果如下:
[3,2,1,2,1,.6,3,5,6,1,2,3,3,5,6,1,2,3]
此时输出的是简谱数字符号序列表示的动机音高序列,再由表1转成C调下的midi音高序列为:[64,62,60,62,60,57,64,67,69,60,62,64,64,67,69,60,62,64]
表3.三音列状态表
如图5所示,是本发明实施例中音乐训练模块的结构示意图。网络模型由输入层,隐藏层和输出层组成。输入层接受来自升采样模块输出的升采样序列,隐藏层可由三层双向循环神经网络GRU构成,为防止训练过拟合可在每层GRU层的输出设置Dropout和批归一化。在GRU层之后有两个隐藏层,第一个隐藏层Dense可对特征降维和提高网络模型的非线性能力。第二个隐藏层Flatten将特征展平成一维向量再送入全连接层。音高序列的生成可看作是一个多分类问题,假设可能生成的音高种类一共有k种,则全连接层将前面学习到的分布式特征映射到这k个目标音高向量值。输出层使用Sofmax函数将k个目标音高向量值压缩到区间(0,1),可以得到k个目标音高的输出概率,从中选出概率最大值作为预测音高输出。其中损失函数可设置为交叉熵函数,学习率设置为0.001,优化器设置为Adam优化器。
如图6所示,是本发明实施例中音乐训练模块的训练示意图。可将升采样序列划分为多个训练样本,依次将训练样本输入神经网络预测。设置时间步长为100,即每次输入100个音高,第101个音高为目标音高,将每次预测音高和目标音高对比,计算损失误差,更新网络权重系数;设置训练迭代次数为200,等待迭代完成,寻找损失最小的网络权重系数,得到已训练的网络模型。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (6)
1.一种基于升降采样的民歌智能辅助作曲系统,其特征在于,所述的民歌智能辅助作曲系统包括数据存储模块、预处理模块、升采样模块、音乐训练模块、动机生成模块、作曲模块、降采样模块和midi合成模块;其中,
所述的数据存储模块用于存储各种音乐数据,包括midi民歌乐曲、民歌音乐知识规则以及调式转换表;所述的预处理模块将数据存储模块中的不同调式的midi民歌乐曲转换成统一调式的预处理音高序列和对应时值序列;所述的升采样模块用于进行升采样操作,将预处理模块输出的预处理音高序列和对应时值序列升采样后得到升采样序列;所述的音乐训练模块用于学习民族风格的乐曲,采用升采样序列对网络模型进行训练,得到已训练的网络模型;所述的动机生成模块用于生成动机音高序列;所述的作曲模块结合动机音高序列以及已训练的网络模型来生成作曲音高序列;所述的降采样模块用于进行降采样操作,将作曲模块生成的作曲音高序列降采样分别得到音高序列和对应时值序列;所述的midi合成模块将降采样模块输出的音高序列和对应时值序列合成midi音频播放文件输出;
所述的升采样模块和降采样模块采用升降采样的编码方法,其中,升采样模块用于进行升采样操作,将预处理模块输出的预处理音高序列和对应时值序列,经过升采样后得到升采样序列;降采样模块用于进行降采样操作,将作曲模块生成的作曲音高序列降采样分别得到音高序列和对应时值序列;
升采样操作的过程如下:
定义最小的时值单元τ为0.125,根据各音符的时值与最小时值单元τ的时值倍数关系,对各音高进行升采样得到升采样序列;当预处理音高序列为:[a1,a2,a3,…,an],a1,a2,a3,…,an分别表示各音高,对应时值序列为:[2τ,2τ,4τ,…,8τ],将预处理音高序列根据各时值倍数关系对各音高升采样得到升采样序列为:
[a1,a1,a2,a2,a3,a3,a3,a3,…,an,an,an,an,an,an,an,an];
降采样操作的过程如下:
当作曲音高序列为:[a1,a1,a2,a2,a2,a2,…,an,an,an,an,an,an,an,an],根据作曲音高序列中各音高数量与时值倍数的对应关系,降采样还原得到音高序列[a1,a2,…,an]和对应时值序列[2τ,4τ,...,8τ];
所述的动机生成模块采用马尔科夫链来生成动机音高序列,生成过程如下:
S301、确定马尔科夫链的状态:马尔可夫链中的状态来自于数据存储模块中的民歌音乐知识规则所提炼和统计的五声调式四度三音列;将一个四度三音列看作一个马尔科夫链的状态;四度三音列是do、re、mi、sol、la,对应简谱数字符号为:“1”、“2”、“3”、“5”、“6”,五声音阶中四度内的三音列,五声音阶中相邻音阶之间存在着大二度和小三度的关系,度定义为两个音高上的距离,由大二度和小三度音程构成的三个音高组合即四度三音列,用数学公式表示三音列如下:
Max{X,Y,Z}-Min{X,Y,Z}=3 X,Y,Z∈{1,2,3,5,6} 公式(1)
其中,X,Y,Z表示三音列中的三个音高,Max表示求三音列中最大值,Min表示求三音列中最小值;
S302、在收集的音乐素材中统计各三音列状态之间的状态转移情况,求出状态转移概率pij,构造状态转移矩阵P;其中,pij表示当前时刻状态i到下一时刻状态j的状态转移概率,nij表示状态i到状态j的次数,k表示三音列状态总数,计算公式如下:
其中pij应满足条件:
0<pij<1 公式(4)
S303、计算初始状态概率π,π={pi}1×k,pi对应各三音列状态的初始概率;结合状态转移矩阵P,生成动机音高序列,首先计算下一时刻输出的各三音列状态可能概率值P1,mi表示状态i出现的次数,k表示三音列状态总数:
P1=πP=[p1,p2,…,pk]P 公式(7)
根据各三音列状态可能概率值P1的权重随机获取一个三音列状态作为输出,继续求下一时刻的状态可能概率值,即将当前状态可能概率值P1与状态转移矩阵P继续相乘;多次迭代,求得的N个三音列状态输出组合即为动机音高序列。
2.根据权利要求1所述的基于升降采样的民歌智能辅助作曲系统,其特征在于,
所述的调式转换表,拟定各调式midi音高与简谱数字符号和不同八度值的对应关系,C大调音阶用音名表示为:C音名、D音名、E音名、F音名、G音名、A音名、B音名,对应简谱数字符号依次表示为:“1”、“2”、“3”、“4”、“5”、“6”、“7”,不同调式的音阶对应的midi音高用数组[R,V]表示,R代表简谱数字符号“1”、“2”、“3”、“4”、“5”、“6”、“7”,V代表音高的不同八度,由于人声音域的限制,音高设置成三个八度,分别为用-1、0和1表示的低八度,同度和高八度。
3.根据权利要求1所述的基于升降采样的民歌智能辅助作曲系统,其特征在于,所述的预处理模块将存储在数据存储模块中不同调式的midi民歌乐曲信息提取出来,乐曲信息包括midi音高、时值、调式,乐曲中的midi音高表示范围为0-127,时值是每个音符的相对持续时间,单位为拍,若以四分音符为1拍,则时值0.5表示半拍,调式包括音乐中所有常见调式类型,用0-23表示,将不同调式的midi民歌乐曲根据调式转换表转成统一调式的预处理音高序列和对应时值序列,进行统一调式转换的步骤如下:
S201、提取民歌乐曲的midi音高、时值、调式;
S202、查找调式转换表,将提取的midi音高用数组[R,V]表示,R代表midi音高对应的简谱数字符号,V代表音高的不同八度;
S203、再根据所要转换的调式,查找调式转换表,将数组[R,V]转换成统一调式的midi音高;
S204、输出调式转换后的midi音高序列和时值序列。
4.根据权利要求1所述的基于升降采样的民歌智能辅助作曲系统,其特征在于,所述的网络模型由输入层,隐藏层和输出层组成;其中,隐藏层由多层双向循环神经网络构成;所述的网络模型的输入层接受升采样模块输出的升采样序列,从升采样序列中,依次选择f个音高作为输入,预测第f+1个音高输出,与目标音高值对比,计算误差,完成迭代次数后,寻找损失最小的权重参数文件,得到已训练的网络模型。
5.根据权利要求1所述的基于升降采样的民歌智能辅助作曲系统,其特征在于,所述的作曲模块结合动机音高序列以及已训练的网络模型来生成作曲音高序列,步骤如下:
S401、动机生成模块生成的动机序列送入作曲模块,作曲模块调用已训练的网络模型;
S402、通过输入的q个动机音高序列生成第q+1个音高,将生成的第q+1个音高作为再预测下一个音符的输入中的最后一个音高,去掉第一个音高,依次迭代,直到生成目标Q个作曲音高序列。
6.一种根据权利要求1至5任一所述的基于升降采样的民歌智能辅助作曲系统的作曲方法,其特征在于,所述的作曲方法包括训练过程和作曲过程,其中,训练过程如下:
S101、预处理模块将存储在数据存储模块中不同调式的民歌乐曲信息提取出来,得到调式信息;将不同调式的乐曲根据调式转换表转成统一调式的预处理音高序列和对应时值序列,并将预处理音高序列和对应时值序列传递给升采样模块;
S102、升采样模块将预处理模块传递的预处理音高序列和对应时值序列升采样,得到输入音乐训练模块的升采样序列;
S103、音乐训练模块采用升采样模块输出的升采样序列来训练神经网络模型,得到已训练的网络模型;
作曲过程如下:
S104、动机生成模块生成动机音高序列,为作曲模块的输入做准备;
S105、作曲模块结合动机生成模块生成的动机音高序列和已训练的网络模型,生成作曲音高序列;并将作曲音高序列传递给降采样模块;
S106、降采样模块将作曲音高序列降采样分别得到音高序列和对应时值序列;
S107、midi合成模块结合降采样得到的音高序列和对应时值序列,合成最终的midi音频播放文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010371056.3A CN111754962B (zh) | 2020-05-06 | 2020-05-06 | 基于升降采样的民歌智能辅助作曲系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010371056.3A CN111754962B (zh) | 2020-05-06 | 2020-05-06 | 基于升降采样的民歌智能辅助作曲系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111754962A CN111754962A (zh) | 2020-10-09 |
CN111754962B true CN111754962B (zh) | 2023-08-22 |
Family
ID=72673731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010371056.3A Active CN111754962B (zh) | 2020-05-06 | 2020-05-06 | 基于升降采样的民歌智能辅助作曲系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111754962B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113096619B (zh) * | 2021-03-24 | 2024-01-19 | 平安科技(深圳)有限公司 | 音乐相似度计算方法、装置、设备及存储介质 |
CN113611265B (zh) * | 2021-07-07 | 2022-09-23 | 湖南师范大学 | 一种人工智能作曲方法和系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0288800A2 (en) * | 1987-04-08 | 1988-11-02 | Casio Computer Company Limited | Automatic composer |
JPS63289594A (ja) * | 1988-04-07 | 1988-11-28 | ヤマハ株式会社 | 楽音発生装置 |
US5451709A (en) * | 1991-12-30 | 1995-09-19 | Casio Computer Co., Ltd. | Automatic composer for composing a melody in real time |
WO2009101703A1 (ja) * | 2008-02-15 | 2009-08-20 | Pioneer Corporation | 楽曲データ分析装置及び楽器種類検出装置、楽曲データ分析方法及び楽器種類検出装置並びに楽曲データ分析用プログラム及び楽器種類検出用プログラム |
CN101950377A (zh) * | 2009-07-10 | 2011-01-19 | 索尼公司 | 新型马尔可夫序列生成器和生成马尔可夫序列的新方法 |
WO2017204829A1 (en) * | 2016-05-27 | 2017-11-30 | Qiu Zi Hao | Method and apparatus for converting color data into musical notes |
GB201803072D0 (en) * | 2018-02-26 | 2018-04-11 | Ai Music Ltd | Method of combining audio signals |
CN110120212A (zh) * | 2019-04-08 | 2019-08-13 | 华南理工大学 | 基于用户示范音频风格的钢琴辅助作曲系统及方法 |
WO2020015153A1 (zh) * | 2018-07-19 | 2020-01-23 | 平安科技(深圳)有限公司 | 为歌词文本生成乐曲的方法、装置及计算机可读存储介质 |
CN110853604A (zh) * | 2019-10-30 | 2020-02-28 | 西安交通大学 | 基于变分自编码器的具有特定地域风格的中国民歌自动生成方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6995311B2 (en) * | 2003-03-31 | 2006-02-07 | Stevenson Alexander J | Automatic pitch processing for electric stringed instruments |
US9263060B2 (en) * | 2012-08-21 | 2016-02-16 | Marian Mason Publishing Company, Llc | Artificial neural network based system for classification of the emotional content of digital music |
-
2020
- 2020-05-06 CN CN202010371056.3A patent/CN111754962B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0288800A2 (en) * | 1987-04-08 | 1988-11-02 | Casio Computer Company Limited | Automatic composer |
JPS63289594A (ja) * | 1988-04-07 | 1988-11-28 | ヤマハ株式会社 | 楽音発生装置 |
US5451709A (en) * | 1991-12-30 | 1995-09-19 | Casio Computer Co., Ltd. | Automatic composer for composing a melody in real time |
WO2009101703A1 (ja) * | 2008-02-15 | 2009-08-20 | Pioneer Corporation | 楽曲データ分析装置及び楽器種類検出装置、楽曲データ分析方法及び楽器種類検出装置並びに楽曲データ分析用プログラム及び楽器種類検出用プログラム |
CN101950377A (zh) * | 2009-07-10 | 2011-01-19 | 索尼公司 | 新型马尔可夫序列生成器和生成马尔可夫序列的新方法 |
WO2017204829A1 (en) * | 2016-05-27 | 2017-11-30 | Qiu Zi Hao | Method and apparatus for converting color data into musical notes |
GB201803072D0 (en) * | 2018-02-26 | 2018-04-11 | Ai Music Ltd | Method of combining audio signals |
WO2020015153A1 (zh) * | 2018-07-19 | 2020-01-23 | 平安科技(深圳)有限公司 | 为歌词文本生成乐曲的方法、装置及计算机可读存储介质 |
CN110120212A (zh) * | 2019-04-08 | 2019-08-13 | 华南理工大学 | 基于用户示范音频风格的钢琴辅助作曲系统及方法 |
CN110853604A (zh) * | 2019-10-30 | 2020-02-28 | 西安交通大学 | 基于变分自编码器的具有特定地域风格的中国民歌自动生成方法 |
Non-Patent Citations (1)
Title |
---|
基于修正型粒子群算法的智能音乐作曲研究;崔峰;;山东农业大学学报(自然科学版)(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111754962A (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lim et al. | Chord generation from symbolic melody using BLSTM networks | |
Bretan et al. | A unit selection methodology for music generation using deep neural networks | |
Brunner et al. | JamBot: Music theory aware chord based generation of polyphonic music with LSTMs | |
US11887566B2 (en) | Method of generating music data | |
CN109448683A (zh) | 基于神经网络的音乐生成方法及装置 | |
CN111754962B (zh) | 基于升降采样的民歌智能辅助作曲系统及方法 | |
CN113707112B (zh) | 基于层标准化的递归跳跃连接深度学习音乐自动生成方法 | |
Wang et al. | Jazz music generation based on grammar and lstm | |
Adiloglu et al. | A machine learning approach to two-voice counterpoint composition | |
Gao et al. | A novel music emotion recognition model for scratch-generated music | |
CN116229922A (zh) | 基于Bi-LSTM深度强化学习网络的鼓乐生成方法 | |
Yanchenko | Classical music composition using hidden Markov models | |
CN114842819B (zh) | 基于深度强化学习的单音轨midi音乐生成方法 | |
Li et al. | Novel LSTM-gan based music generation | |
CN115602139A (zh) | 一种基于两阶段生成模型的自动音乐生成方法及装置 | |
Kan et al. | Generation of irregular music patterns with deep learning | |
Cheng et al. | Comparing RNN Parameters for Melodic Similarity. | |
Kurniawati et al. | Multilayer perceptron for symbolic Indonesian music generation | |
Roig et al. | A non-homogeneous beat-based harmony Markov model | |
KR102227415B1 (ko) | 복선율 음악 생성 방법, 장치, 및 시스템 | |
Jiang et al. | Music signal recognition based on the mathematical and physical equation inversion method | |
Hu | Research on the interaction of genetic algorithm in assisted composition | |
TW200935399A (en) | Chinese-speech phonologic transformation system and method thereof | |
Yang et al. | A study on the aesthetic characteristics of ethnic music based on radial basis neural network model | |
Rajadhyaksha et al. | Music generation with bi-directional long short term memory neural networks |
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 |