CN110136730B - 一种基于深度学习的钢琴和声自动编配系统及方法 - Google Patents
一种基于深度学习的钢琴和声自动编配系统及方法 Download PDFInfo
- Publication number
- CN110136730B CN110136730B CN201910274225.9A CN201910274225A CN110136730B CN 110136730 B CN110136730 B CN 110136730B CN 201910274225 A CN201910274225 A CN 201910274225A CN 110136730 B CN110136730 B CN 110136730B
- Authority
- CN
- China
- Prior art keywords
- note
- tone
- harmony
- key
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000013135 deep learning Methods 0.000 title claims abstract description 18
- 238000001514 detection method Methods 0.000 claims abstract description 36
- 238000013528 artificial neural network Methods 0.000 claims abstract description 30
- 238000012549 training Methods 0.000 claims abstract description 22
- 239000011159 matrix material Substances 0.000 claims description 62
- 239000013598 vector Substances 0.000 claims description 40
- 238000001228 spectrum Methods 0.000 claims description 22
- 230000009467 reduction Effects 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 11
- 238000009826 distribution Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 4
- 238000009432 framing Methods 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 230000002457 bidirectional effect Effects 0.000 claims description 2
- 230000007787 long-term memory Effects 0.000 claims description 2
- 238000003062 neural network model Methods 0.000 claims description 2
- 230000006403 short-term memory Effects 0.000 claims description 2
- 238000012935 Averaging Methods 0.000 claims 1
- 238000013459 approach Methods 0.000 claims 1
- 230000036962 time dependent Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 11
- 230000003595 spectral effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 3
- 238000007476 Maximum Likelihood Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000037433 frameshift Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000005316 response function Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Classifications
-
- 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
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/003—Changing voice quality, e.g. pitch or formants
- G10L21/007—Changing voice quality, e.g. pitch or formants characterised by the process used
-
- 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
- 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/78—Detection of presence or absence of voice signals
- G10L25/87—Detection of discrete points within a voice signal
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Quality & Reliability (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
本发明提供一种基于深度学习的钢琴和声自动编配系统及方法。该系统包括三个模块:音符检测模块、音符估计模块和神经网络模块。音符检测模块负责提取音符起点和音符终点,将一首音乐分割成多个音符段,每个音符段包含一个或者多个音符。音符估计模块负责提取每个音符段的主音符以及和声。神经网络模块负责将上述的主音符序列以及和声序列分别作为神经网络的输入以及输出进行训练,训练完成后神经网络便具有为主音符编配和声的能力,从而实现和声自动编配。本发明利用钢琴按键的音高以及谐波结构信息,使得音符检测以及音符估计的性能得到提高,同时可根据用户的喜好训练特定音乐,从而编配对应风格的和声。
Description
技术领域
本发明涉及到信号滤波器组分析、音乐信号主音符估计、和声估计、循环神经网络等技术领域,具体涉及一种基于深度学习的钢琴和声自动编配系统及方法。
背景技术
主旋律以及和声在音乐中都占有重要的地位。其中,主旋律是按一定的音高、时值和音量构成的音符序列,而和声是多个音符的结合,对音乐特色的展示以及对人类情感的表达都发挥巨大作用。一方面,为主旋律编配和声,涉及到基础乐理以及和声规则等专业知识,需要具备丰富音乐知识的专业人员才能胜任此工作,对于普通用户来说,技术门槛要求较高。另一方面,音乐的形式和风格多种多样,每个人都会对某些特定风格有所偏爱,因此,相同的一段旋律,可以根据不同的风格为主旋律编配不同的和声,从而满足用户个性化需求。
从wav格式的钢琴音乐中提取主旋律以及和声,首先要检测音符的起点时间和结束时间,检测准确率将直接影响后面的音符估计性能。以往音符起点检测有以下方法:基于短时能量和过零率、基于相位特征、基于频谱差值和高频加权成分分析等。其中,通过短时能量和过零率来判断音符起点是借鉴语音信号的做法,准确率不高;基于相位特征的方法易受低频能量噪声影响,不适合钢琴这种复调音乐;基于频谱差值的方法需要处理大量频率点,计算量较大;高频加权成分分析方法由于赋予高频较大的加权系数,会导致低频能量难以检测。另外,上述方法都没有考虑到具体的乐音特征,抑制了音高信息,从而降低对钢琴的音符起点检测性能。
其次,在检测完音符起点时间和结束时间后,需要进行音符估计,包括主音符估计以及和声估计,按照时间顺序拼接即可得到主音符序列以及和声序列。以往和声估计的方法有以下方法:基于迭代的谱减法、基于频谱最大似然概率模型和基于隐马尔可夫模型。其中,最经典的方法是基于迭代的谱减法,该方法不仅需要过多的超参数,而且每一步迭代过程都需要进行频谱平滑处理,破坏频谱信息;基于频谱最大似然概率模型的方法无法很好解决基频个数估计的问题;基于隐马尔可夫模型的方法则需要根据大量样本来学习最优的模型参数,计算复杂度高。
对主旋律进行和声编配,目前大多是人工的方法,而本发明使用一种基于深度学习的和声编配方法,在提取主音符序列以及和声序列后,分别作为神经网络的输入和输出对神经网络模型进行训练,使得神经网络学习特定风格的和声编配规则。训练完成后,输入一首钢琴音乐,提取主音符序列并输入到神经网络,神经网络的输出就是和声序列,从而实现自动为一首音乐的主旋律编配特定风格的和声。由于该系统包含音符起点检测以及和声估计两个过程,为了解决上述传统方法带来的问题,本发明的方案提供了基于十二平均律的音符起点检测方法以及针对钢琴音色的、高效的和声估计方法,从而更接近音乐和乐器的本质。
发明内容
本发明的目的在于提供一种基于深度学习的钢琴和声自动编配系统,该系统可以根据不同的歌曲风格为主旋律编配不同的和声,从而满足用户个性化需求。在本发明中,第一,为了克服在音符起点检测中忽略音高信息而导致检测性能不高的问题,本发明提出一种基于十二平均律的音律滤波器组的音符起点检测方法,音律滤波器组包含88个带通滤波器,其中心频率与钢琴的88个琴键的基频一一对应,截止频率为中心频率的相邻半音的频率,该方法不仅考虑到低频段能量集中的特点,又考虑到音高信息,从而提升检测性能。第二,为了克服在和声估计中准确率不高以及算法效率低等问题,本发明提出一种基于音色滤波器组的和声估计方法,和谱减法相比,该方法不需要超参数,不破坏频谱信息,而且提取的特征维度只有88维,算法效率高。
本发明提供的基于深度学习的钢琴和声自动编配系统,包含三个模块,音符检测模块、音符估计模块和神经网络模块。音符检测模块负责提取所有音符的起点时间和结束时间,将一首音乐分割成多个音符段,每个音符段包含一个或者多个音符;音符估计模块负责提取每个音符段的主音符以及和声,按照时间顺序拼接得到主音符序列以及和声序列;神经网络模块负责将上述提取到的主音符序列以及和声序列分别作为输入和输出对模型进行训练,训练完成后,往模型输入主音符序列,得到对应的和声序列,从而实现和声的自动编配。
所述的音符检测模块,负责提取音符起点和音符终点,将一首音乐分割成多个音符段,每个音符段包含一个或者多个音符,一个音符则为主音符,而多个音符则包含一个主音符以及和声。音符检测模块包含一个音律滤波器组,它包含多个带通滤波器,带通滤波器的数量以及每个带通滤波器的中心频率和对应带宽将由十二平均律决定,因为十二平均律已经规定两个单音之间的相对音高,而钢琴是十二平均律制乐器,有88个琴键,每一个琴键的音高就是根据十二平均律定音,因此,音律滤波器组的带通滤波器数量是88个,带通滤波器的中心频率与钢琴的88个琴键的基频一一对应,截止频率为中心频率的相邻半音的频率。
上述音符检测模块的工作过程为:
1)输入wav格式的钢琴音乐,经过归一化、分帧加窗、短时傅里叶变换和对数转换步骤,获取每一帧的对数能量谱。
2)通过音律滤波器组获取每帧能量在频率上的分布,公式如下:
其中,Sm(ω)代表第m帧的对数能量谱,Hk(ω)代表第k个滤波器的传递函数,由于滤波器的数量为88个,因此k的取值范围为[1,88],E(m,k)代表第m帧对数能量谱通过第k个滤波器的输出,将E(m,1),E(m,2),…,E(m,88)拼接得到第m帧的88维列向量,向量中的每一个元素代表对应频率带的能量成分。
3)对每一帧获取的88维向量,以帧为单位对向量进行一阶差分,然后对一阶差分求均值。
4)音符起点检测:检测一阶差分均值的峰值,该峰值对应的时间就是音符的起点时间,并设置一个时间阈值,把相邻时间小于阈值的音符的起点进行合并,当作是一个音符起点,该时间阈值将根据具体的实验结果进行设置。
5)音符终点检测:在两个音符起点之间检测音符终点,根据音符起点开始第一帧的短时能量设置阈值,逐帧判断,如果发现短时能量小于阈值的帧则视为音符终点,如果在第二个音符起点之前所有帧的短时能量都大于阈值,则把第二个音符起点视为第一个音符的终点。
6)获取音符段:每个音符的起点和终点之间构成一个音符段,音符段包含一个或者多个音符。
所述的音符估计模块,负责提取主音符以及和声。其中,包含一个音色滤波器组,与音律滤波器组不同,该音色滤波器组不仅考虑到钢琴88个琴键的基频信息,还考虑到每个琴键对应基频的谐波结构信息,也就是说,该音色滤波器组有88个音色滤波器,每个音色滤波器有多个通带,各个通带的中心频率就是对应琴键的基频及其谐波频率,考虑到低频段基频的谐波数量较多,而高频段基频的谐波数量较少等音色特征,通带的个数将根据对应基频所在频率范围来设定,而通带的带宽由十二平均律来决定,即通带的截止频率为中心频率的相邻半音的频率,由于十二平均律的规定,频率越大,与相邻半音的频率相差越大,因此,在每一个滤波器中,通带的带宽会随着谐波次数的增加而不断变宽。
上述提取主音符以及和声的过程为:
1)训练琴键单音样本音色矩阵:88个琴键的单音样本,每一个样本在经过傅里叶变换后获取幅度谱,通过音色滤波器组,输出为:
其中,Xm(ω)代表第m个单音样本的幅度谱,m的取值范围为[1,88],Gk(ω)代表音色滤波器组中第k个滤波器的传递函数,由于滤波器的数量为88个,因此k的取值范围为[1,88],A(k,m)是第m个单音样本的幅度谱通过第k个滤波器的输出,代表滤波后输出的能量值,因此,一个单音样本对应一个88维列向量,而88个琴键单音样本能得到88个88维向量,组成88×88的琴键单音样本音色矩阵A88×88,其中的每个元素为A(k,m)。
2)对于需要提取主音符以及和声的音符段,计算其能量矩阵:音符段通过音色滤波器组进行滤波,对每个音色滤波器的滤波信号计算能量:
其中,V(ω)代表音符段的幅度谱,Gk(ω)代表音色滤波器组中第k个滤波器的传递函数,k的取值范围为[1,88],Ek代表音符段通过第k个滤波器滤波后输出的能量值,将E1,E2,…,E88拼接可组成88×1能量矩阵E88×1。
3)对琴键单音样本音色矩阵A88×88进行降维处理:由于能量矩阵E88×1中每个元素代表对应琴键的基频及其谐波的能量之和,也代表着对应琴键出现的可能性,其值越大,出现可能性越大,而且在和声中音符的个数一般不超过5个,故可以根据此来对琴键单音样本音色矩阵A88×88进行降维,从能量矩阵E88×1中找出前N个较大值,得到其对应的琴键序号,然后从琴键单音样本音色矩阵A88×88中找出相应琴键序号的列,把琴键单音样本音色矩阵A88×88降维到88×N,得到琴键单音样本音色降维矩阵B88×N。
4)计算和声系数向量,得到主音符以及和声:对已经计算出来的能量矩阵E88×1和琴键单音样本音色降维矩阵B88×N,计算和声系数向量WN×1,使得琴键单音样本音色降维矩阵B88×N与和声系数向量WN×1的乘积逼近能量矩阵E88×1:
E88×1≈B88×N×WN×1 (4)
其中,E88×1代表能量矩阵,B88×N代表音色降维矩阵,WN×1代表和声系数向量。其物理意义是:将一个音符段的能量矩阵E88×1表示成N个琴键单音样本的能量分布的组合,因此,和声系数向量WN×1中的元素代表对应琴键的音量,故可以设置一个阈值,小于阈值的元素设置为0,最后不为零的元素所对应的琴键组合成一个和声,而最大的元素值所对应的琴键的音符,就是主音符。
上述神经网络模块,由于输入和输出都是与时间有关的序列,而且考虑到某个特定时刻的和声编配不仅与前面的音符有联系,还会受到后面的音符的影响,所以神经网络的结构选用双向的长短期记忆网络。
基于上述的一种基于深度学习的钢琴和声自动编配系统的自动编配方法,包括如下步骤:
(1)根据88个琴键的单音样本生成琴键单音样本音色矩阵:每个样本在经过傅里叶变换后获取幅度谱,通过音色滤波器组,得到一个88维向量,即是每一个琴键对应一个88维向量,因此88个琴键可得到88×88的琴键单音样本音色矩阵,用于音符估计模块提取主音符以及和声。
(2)输入多首风格相似的wav格式的钢琴音乐,用于训练模型。
(3)音符检测模块提取音符起点和音符终点,将一首音乐分割成多个音符段,每个音符段包含一个或者多个音符。
(4)音符估计模块根据88×88的琴键单音样本音色矩阵,提取每个音符段的主音符以及和声,按照时间顺序拼接得到主音符序列以及和声序列。
(5)将上述提取到的主音符序列以及和声序列,分别作为神经网络的输入和输出对模型进行训练。
(6)模型训练完成后,输入需要编配和声的wav格式的钢琴音乐,重复(3)-(4)的过程,将提取的主音符序列输入到神经网络模块,此时神经网络模块将输出对应风格的和声序列,从而实现和声自动编配。
与现有技术相比,本发明具有以下优点:
(1)在检测音符起点和终点时,考虑到具体的乐音特征,基于十二平均律音律以及钢琴琴键的个数设计一个音律滤波器组,既考虑到低频段能量集中的特点,又考虑到音高信息,从而提升检测性能。
(2)在提取主音符以及和声时用到的音色滤波器组,考虑钢琴每个琴键的基频以及谐波结构信息,即是钢琴的音色特征,不仅如此,和谱减法相比,该方法不需要过多的超参数,不会破坏频谱信息。而且通过降维处理后得到的向量维度少,使得计算效率得到提高。
(3)为主旋律编配和声,涉及到基础乐理以及和声规则等专业知识,技术门槛要求较高,目前大多是人工进行编配,本发明使用基于深度学习的方法代替人工为主旋律编配和声,让神经网络学习复杂的和声编配规则,不仅可以减少人力成本,还可以消除人为主观因素的干扰。
(4)每个人会对不同风格的音乐有所偏爱,用户可自行提供特定风格的钢琴音乐作为神经网络的训练集,完成训练后,神经网络便具有为主音符编配特定风格的和声的能力,从而满足用户个性化需求。
附图说明
图1是本发明钢琴和声自动编配系统的结构框图;
图2是本发明音律滤波器组的示意图;
图3是本发明音符起点检测模块的结构框图;
图4是本发明音色滤波器组的示意图;
图5是本发明音符估计模块的结构框图;
图6是本发明基于深度学习的钢琴和声编配系统的工作流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明,但本发明的实施不限于此,需指出的是,以下若有未特别详细说明之过程或符号,均是本领域技术人员可参照现有技术理解或实现的。
如图1所示,是钢琴和声自动编配系统的结构框图,包含三个模块:音符检测模块、音符估计模块和神经网络模块;音符检测模块负责提取所有音符的起点时间和结束时间,将一首wav格式的钢琴音乐分割成多个音符段,每个音符段包含一个或者多个音符;音符估计模块负责提取每个音符段的主音符以及和声,按照时间顺序拼接得到主音符序列以及和声序列;神经网络模块负责将上述提取到的主音符序列以及和声序列分别作为输入和输出对模型进行训练,训练完成后,往模型输入主音符序列,得到对应的和声序列,从而实现和声的自动编配。
如图2所示,是音律滤波器组的示意图。音律滤波器组包含多个带通滤波器,带通滤波器的数量以及每个带通滤波器的中心频率和对应带宽将由十二平均律决定,因为十二平均律已经规定两个单音之间的相对音高,而钢琴是十二平均律制乐器,有88个琴键,每一个琴键的音高就是根据十二平均律定音,因此,音律滤波器组的带通滤波器数量是88个,其中f1,f2,…,f88分别为每个带通滤波器的中心频率,与钢琴的88个琴键的基频一一对应,而截止频率为中心频率的相邻半音的频率。另一方面,通带的形状目前有两种选择,一种是三角形状,另一种是余弦形状,这里示意的每个带通滤波器为三角形滤波器,后期将根据实验结果选择具体的通带形状。
如图3所示,是音符检测模块的结构框图,该模块负责提取音符起点和音符终点,将一首音乐分割成多个音符段,每个音符段包含一个或者多个音符,一个音符则为主音符,而多个音符则包含一个主音符以及和声。具体的音符检测过程为:
1)输入wav格式的钢琴音乐,经过归一化、分帧加窗、短时傅里叶变换和对数转换步骤,获取每一帧的对数能量谱。在分帧时,考虑到wav格式的音乐一般采样率为44.1kHz,因此窗口长度取2048个采样点,帧移取512个采样点,则相邻帧的时间差约为11.6ms,即预测值与实际结果的误差时间最多为11.6ms。
2)通过音律滤波器组获取每帧能量在频率上的分布,如公式(1)所示,其中,Sm(ω)代表第m帧的对数能量谱,Hk(ω)代表第k个滤波器的传递函数,由于滤波器的数量为88个,因此k的取值范围为[1,88],E(m,k)代表第m帧对数能量谱通过第k个滤波器的输出,将E(m,1),E(m,2),…,E(m,88)拼接得到第m帧的88维列向量,向量中的每一个元素代表对应频率带的能量成分。
3)对每一帧获取的88维向量,以帧为单位对向量进行一阶差分,然后对一阶差分求均值。
4)音符起点检测:检测一阶差分均值的峰值,该峰值对应的时间就是音符的起点时间,并设置一个时间阈值,把相邻时间小于阈值的音符的起点进行合并,当作是一个音符起点,该时间阈值将根据具体的实验结果进行设置。
5)音符终点检测:在两个音符起点之间检测音符终点,根据音符起点开始第一帧的短时能量设置阈值,具体的阈值将根据具体的实验结果进行选择,然后逐帧判断,如果发现短时能量小于阈值的帧则视为音符终点,如果在第二个音符起点之前所有帧的短时能量都大于阈值,则把第二个音符起点视为第一个音符的终点。
6)获取音符段:每个音符的起点和终点之间构成一个音符段,音符段包含一个或者多个音符。
如图4所示,是音色滤波器组的示意图。该滤波器组不仅考虑到钢琴88个琴键的基频信息,还考虑到每个琴键对应基频的谐波结构信息,也就是说,该音色滤波器组有88个音色滤波器,其中H1(ω),H2(ω),…,H88(ω)分别代表每个音色滤波器的频率响应函数,在每个音色滤波器中,有多个通带,各个通带的中心频率就是对应琴键的基频及其谐波频率,比如,在第一个音色滤波器中,第一个通带的中心频率为基频f1,第二个通带的中心频率为基频的二次谐波频率2f1,以此类推,第n个通带的中心频率为基频的n次谐波频率nf1,考虑到低频段基频的谐波数量较多,而高频段基频的谐波数量较少等音色特征,n的取值将根据对应基频所在频率范围来设定,而通带的带宽由十二平均律来决定,即通带的截止频率为中心频率的相邻半音的频率,由于十二平均律的规定,频率越大,与相邻半音的频率相差越大,因此,通带的带宽会随着谐波次数的增加而不断变宽。另一方面,通带的形状目前有两种选择,一种是三角形状,另一种是余弦形状,这里示意的每个带通滤波器为三角形滤波器,后期将根据实验结果选择具体的通带形状。
如图5所示,是本发明的音符估计模块的结构框图,该模块负责提取主音符以及和声,具体过程为:
1)训练琴键单音样本音色矩阵:88个琴键的单音样本,每一个样本在经过傅里叶变换后获取幅度谱,通过音色滤波器组,输出如公式(2)所示,其中,Xm(ω)代表第m个单音样本的幅度谱,m的取值范围为[1,88],Gk(ω)代表音色滤波器组中第k个滤波器的传递函数,由于滤波器的数量为88个,因此k的取值范围为[1,88],A(k,m)是第m个单音样本的幅度谱通过第k个滤波器的输出,代表滤波后输出的能量值,因此,一个单音样本对应一个88维列向量,而88个琴键单音样本能得到88个88维向量,组成88×88的琴键单音样本音色矩阵A88×88,其中的每个元素为A(k,m)。
2)对于需要提取主音符以及和声的音符段,计算其能量矩阵:音符段通过音色滤波器组进行滤波,对每个音色滤波器的滤波信号计算能量,如公式(3)所示,其中,V(ω)代表音符段的幅度谱,Gk(ω)代表音色滤波器组中第k个滤波器的传递函数,k的取值范围为[1,88],Ek代表音符段通过第k个滤波器滤波后输出的能量值,将E1,E2,…,E88拼接可组成88×1能量矩阵E88×1。
3)对琴键单音样本音色矩阵A88×88进行降维处理:由于能量矩阵E88×1中每个元素代表对应琴键的基频及其谐波的能量之和,也代表着对应琴键出现的可能性,其值越大,出现可能性越大,而且在和声中音符的个数一般不超过5个,故可以根据此来对琴键单音样本音色矩阵A88×88进行降维,从能量矩阵E88×1中找出前N个较大值,得到其对应的琴键序号,然后从琴键单音样本音色矩阵A88×88中找出相应琴键序号的列,把琴键单音样本音色矩阵A88×88降维到88×N,得到琴键单音样本音色降维矩阵B88×N。
4)计算和声系数向量,得到主音符以及和声:对已经计算出来的能量矩阵E88×1和琴键单音样本音色降维矩阵B88×N,计算和声系数向量WN×1,使得琴键单音样本音色降维矩阵B88×N与和声系数向量WN×1的乘积逼近能量矩阵E88×1,如公式(4)所示,其中,E88×1代表能量矩阵,B88×N代表音色降维矩阵,WN×1代表和声系数向量。其物理意义是:将一个音符段的能量矩阵E88×1表示成N个琴键单音样本的能量分布的组合,因此,和声系数向量WN×1中的元素代表对应琴键的音量,故可以设置一个阈值,小于阈值的元素设置为0,最后不为零的元素所对应的琴键组合成一个和声,而最大的元素值所对应的琴键的音符,就是主音符。
如图6所示,是本发明基于深度学习的钢琴和声自动编配系统的工作流程图。具体的工作流程如下:
(1)根据88个琴键的单音样本生成琴键单音样本音色矩阵:每个样本在经过傅里叶变换后获取幅度谱,通过音色滤波器组,得到一个88维向量,即是每一个琴键对应一个88维向量,因此88个琴键可得到88×88的琴键单音样本音色矩阵,用于音符估计模块提取主音符以及和声。
(2)输入多首风格相似的wav格式的钢琴音乐,用于训练模型。
(3)音符检测模块提取音符起点和音符终点,将一首音乐分割成多个音符段,每个音符段包含一个或者多个音符。
(4)音符估计模块根据88×88的琴键单音样本音色矩阵,提取每个音符段的主音符以及和声,按照时间顺序拼接得到主音符序列以及和声序列。
(5)将上述提取到的主音符序列以及和声序列,分别作为神经网络的输入和输出对模型进行训练。
(6)模型训练完成后,输入需要编配和声的wav格式的钢琴音乐,重复(3)-(4)的过程,将提取的主音符序列输入到神经网络模块,此时神经网络模块将输出对应风格的和声序列,从而实现和声自动编配。
Claims (7)
1.一种基于深度学习的钢琴和声自动编配系统,其特征在于包括音符检测模块、音符估计模块和神经网络模块;音符检测模块负责提取所有音符的起点时间和结束时间,将一首wav格式的钢琴音乐分割成多个音符段,每个音符段包含一个或者多个音符;音符估计模块负责提取每个音符段的主音符以及和声,按照时间顺序拼接得到主音符序列以及和声序列,和声是指多个音符的组合;神经网络模块负责将提取到的主音符序列以及和声序列分别作为输入和输出对神经网络模型进行训练,训练完成后,往模型输入主音符序列,得到对应的和声序列,从而实现和声的自动编配。
2.根据权利要求1所述一种基于深度学习的钢琴和声自动编配系统,其特征在于音符检测模块,负责提取音符起点和音符终点,将一首音乐分割成多个音符段,每个音符段包含一个或者多个音符;一个音符则为主音符,多个音符则包含一个主音符以及和声;音符检测模块包含一个音律滤波器组,音律滤波器组的带通滤波器数量是88个,带通滤波器的中心频率与钢琴的88个琴键的基频一一对应,截止频率为中心频率的相邻半音的频率。
3.根据权利要求2所述一种基于深度学习的钢琴和声自动编配系统,其特征在于,音符检测模块的工作过程为:
1)输入wav格式的钢琴音乐,经过归一化、分帧加窗、短时傅里叶变换和对数转换步骤,获取每一帧的对数能量谱;
2)通过音律滤波器组获取每帧能量在频率上的分布,得到88维向量,向量中的每一个元素代表对应频率带的能量成分;
3)对每一帧获取的88维向量,以帧为单位对向量进行一阶差分,然后对一阶差分求均值;
4)音符起点检测:检测一阶差分均值的峰值,该峰值对应的时间就是音符的起点时间,并设置一个时间阈值,把相邻时间小于阈值的音符的起点进行合并,当作是一个音符起点,该时间阈值将根据具体的实验结果进行设置;
5)音符终点检测:在两个音符起点即第一音符起点和第二音符起点之间检测音符终点,根据音符起点开始第一帧的短时能量设置阈值,逐帧判断,如果发现短时能量小于阈值的帧则视为音符终点,如果在第二个音符起点之前所有帧的短时能量都大于阈值,则把第二个音符起点视为第一个音符的终点;
6)获取音符段:每个音符的起点和终点之间构成一个音符段,音符段包含一个或者多个音符。
4.根据权利要求1所述一种基于深度学习的钢琴和声自动编配系统,其特征在于音符估计模块,负责提取主音符以及和声;该模块包含一个音色滤波器组,与音律滤波器组不同,它不仅考虑到钢琴88个琴键的基频信息,还考虑到每个琴键对应基频的谐波结构信息,该音色滤波器组有88个音色滤波器,每个音色滤波器有多个通带,各个通带的中心频率就是对应琴键的基频及其谐波频率,考虑到低频段基频的谐波数量较多,而高频段基频的谐波数量较少等音色特征,通带的个数将根据对应基频所在频率范围来设定,而通带的带宽由十二平均律来决定,即通带的截止频率为中心频率的相邻半音的频率,由于十二平均律的规定,频率越大,与相邻半音的频率相差越大,因此,在每一个滤波器中,通带的带宽会随着谐波次数的增加而不断变宽。
5.根据权利要求4所述一种基于深度学习的钢琴和声自动编配系统,其特征在于提取主音符以及和声的过程为:
1)训练琴键单音样本音色矩阵:88个琴键的单音样本,每个样本在经过傅里叶变换后获取幅度谱,通过音色滤波器组,得到88维向量,向量中每个元素即是被每个音色滤波器滤波后输出的能量值,88个琴键单音样本则能得到88个88维向量,组成88×88的琴键单音样本音色矩阵;
2)对于需要提取主音符以及和声的音符段,计算其能量矩阵:音符段通过音色滤波器组进行滤波,对每个音色滤波器的滤波信号计算能量,得到88个能量输出,组成88×1能量矩阵;
3)对琴键单音样本音色矩阵进行降维处理:由于能量矩阵中每一个元素代表对应琴键的基频及其谐波的能量之和,也代表着对应琴键出现的可能性,其值越大,出现可能性越大,故根据此来对88×88的琴键单音样本音色矩阵进行降维,从能量矩阵中找出前N个较大值,得到其对应的琴键序号,然后从88×88的琴键单音样本音色矩阵中找出相应琴键序号的列,把88×88的琴键单音样本音色矩阵降维到88×N,得到88×N琴键单音样本音色降维矩阵;
4)计算和声系数向量,得到主音符以及和声:对已经计算出来的88×1能量矩阵和88×N琴键单音样本音色降维矩阵,计算和声系数向量,使得琴键单音样本音色降维矩阵与和声系数向量的乘积逼近能量矩阵;其物理意义是:将一个音符段的能量矩阵表示成N个琴键单音样本的能量分布的组合;因此,和声系数向量中的元素代表对应琴键的音量,故设置一个阈值,小于阈值的元素设置为0,最后不为零的元素所对应的琴键组合成一个和声,而最大的元素值所对应的琴键的音符,就是主音符。
6.根据权利要求1所述一种基于深度学习的钢琴和声自动编配系统,其特征在于神经网络模块,由于输入和输出都是与时间有关的序列,而且考虑到某个特定时刻的和声编配不仅与前面的音符有联系,还会受到后面的音符的影响,所以神经网络的结构选用双向的长短期记忆网络。
7.利用权利要求1所述一种基于深度学习的钢琴和声自动编配系统的方法,其特征在于包括:
(1)根据88个琴键的单音样本生成琴键单音样本音色矩阵:每个样本在经过傅里叶变换后获取幅度谱,通过音色滤波器组,得到一个88维向量,即是每一个琴键对应一个88维向量,因此根据88个琴键得到88×88的琴键单音样本音色矩阵,用于音符估计模块提取主音符以及和声;
(2)输入多首风格相似的wav格式的钢琴音乐,用于训练模型;
(3)音符检测模块提取音符起点和音符终点,将一首音乐分割成多个音符段,每个音符段包含一个或者多个音符;
(4)音符估计模块根据88×88的琴键单音样本音色矩阵,提取每个音符段的主音符以及和声,按照时间顺序拼接得到主音符序列以及和声序列;
(5)将上述提取到的主音符序列以及和声序列,分别作为神经网络的输入和输出对模型进行训练;
(6)模型训练完成后,输入需要编配和声的wav格式的钢琴音乐,重复(3)-(4)的过程,将提取的主音符序列输入到神经网络模块,此时神经网络模块将输出对应风格的和声序列,从而实现和声自动编配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910274225.9A CN110136730B (zh) | 2019-04-08 | 2019-04-08 | 一种基于深度学习的钢琴和声自动编配系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910274225.9A CN110136730B (zh) | 2019-04-08 | 2019-04-08 | 一种基于深度学习的钢琴和声自动编配系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110136730A CN110136730A (zh) | 2019-08-16 |
CN110136730B true CN110136730B (zh) | 2021-07-20 |
Family
ID=67569312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910274225.9A Expired - Fee Related CN110136730B (zh) | 2019-04-08 | 2019-04-08 | 一种基于深度学习的钢琴和声自动编配系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110136730B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110599987A (zh) * | 2019-08-25 | 2019-12-20 | 南京理工大学 | 基于卷积神经网络的钢琴音符识别算法 |
CN111554256B (zh) * | 2020-04-21 | 2023-03-24 | 华南理工大学 | 一种基于强弱标准的钢琴视奏能力评价系统 |
CN112086085B (zh) * | 2020-08-18 | 2024-02-20 | 珠海市杰理科技股份有限公司 | 音频信号的和声处理方法、装置、电子设备和存储介质 |
CN112259063B (zh) * | 2020-09-08 | 2023-06-16 | 华南理工大学 | 一种基于音符瞬态字典和稳态字典的多音高估计方法 |
CN113658612B (zh) * | 2021-08-25 | 2024-02-09 | 桂林智神信息技术股份有限公司 | 一种基于音频识别被弹奏琴键的方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101652807A (zh) * | 2007-02-01 | 2010-02-17 | 缪斯亚米有限公司 | 音乐转录 |
CN106652984A (zh) * | 2016-10-11 | 2017-05-10 | 张文铂 | 一种使用计算机自动创作歌曲的方法 |
CN107644630A (zh) * | 2017-09-28 | 2018-01-30 | 清华大学 | 基于神经网络的旋律生成方法及装置 |
KR101854706B1 (ko) * | 2017-01-20 | 2018-05-08 | 한성대학교 산학협력단 | 인공 신경망을 이용한 자동 작곡 방법 및 그 기록 매체 |
CN108597535A (zh) * | 2018-03-29 | 2018-09-28 | 华南理工大学 | 一种融合伴奏的midi钢琴曲风格分类方法 |
CN109036355A (zh) * | 2018-06-29 | 2018-12-18 | 平安科技(深圳)有限公司 | 自动作曲方法、装置、计算机设备和存储介质 |
CN109086416A (zh) * | 2018-08-06 | 2018-12-25 | 中国传媒大学 | 一种基于gan的配乐生成方法、装置及存储介质 |
CN109346045A (zh) * | 2018-10-26 | 2019-02-15 | 平安科技(深圳)有限公司 | 基于长短时神经网络的多声部音乐生成方法及装置 |
CN109448683A (zh) * | 2018-11-12 | 2019-03-08 | 平安科技(深圳)有限公司 | 基于神经网络的音乐生成方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7376553B2 (en) * | 2003-07-08 | 2008-05-20 | Robert Patel Quinn | Fractal harmonic overtone mapping of speech and musical sounds |
KR101886534B1 (ko) * | 2016-12-16 | 2018-08-09 | 아주대학교산학협력단 | 인공지능을 이용한 작곡 시스템 및 작곡 방법 |
-
2019
- 2019-04-08 CN CN201910274225.9A patent/CN110136730B/zh not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101652807A (zh) * | 2007-02-01 | 2010-02-17 | 缪斯亚米有限公司 | 音乐转录 |
CN106652984A (zh) * | 2016-10-11 | 2017-05-10 | 张文铂 | 一种使用计算机自动创作歌曲的方法 |
KR101854706B1 (ko) * | 2017-01-20 | 2018-05-08 | 한성대학교 산학협력단 | 인공 신경망을 이용한 자동 작곡 방법 및 그 기록 매체 |
CN107644630A (zh) * | 2017-09-28 | 2018-01-30 | 清华大学 | 基于神经网络的旋律生成方法及装置 |
CN108597535A (zh) * | 2018-03-29 | 2018-09-28 | 华南理工大学 | 一种融合伴奏的midi钢琴曲风格分类方法 |
CN109036355A (zh) * | 2018-06-29 | 2018-12-18 | 平安科技(深圳)有限公司 | 自动作曲方法、装置、计算机设备和存储介质 |
CN109086416A (zh) * | 2018-08-06 | 2018-12-25 | 中国传媒大学 | 一种基于gan的配乐生成方法、装置及存储介质 |
CN109346045A (zh) * | 2018-10-26 | 2019-02-15 | 平安科技(深圳)有限公司 | 基于长短时神经网络的多声部音乐生成方法及装置 |
CN109448683A (zh) * | 2018-11-12 | 2019-03-08 | 平安科技(深圳)有限公司 | 基于神经网络的音乐生成方法及装置 |
Non-Patent Citations (2)
Title |
---|
《Generating Sequences With Recurrent Neural Networks》;Graves A et al.;《ArXiv Preprint ArXiv》;20140605;全文 * |
《基于charRNN的复音音乐生成方法》;王思源等;《计算机工程(网络首发论文)》;20180621;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110136730A (zh) | 2019-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110136730B (zh) | 一种基于深度学习的钢琴和声自动编配系统及方法 | |
Durrieu et al. | Source/filter model for unsupervised main melody extraction from polyphonic audio signals | |
Ono et al. | A Real-time Equalizer of Harmonic and Percussive Components in Music Signals. | |
CN101599271B (zh) | 一种数字音乐情感的识别方法 | |
US9570057B2 (en) | Audio signal processing methods and systems | |
CN110599987A (zh) | 基于卷积神经网络的钢琴音符识别算法 | |
CN109979488B (zh) | 基于重音分析的人声转乐谱系统 | |
CN110111773A (zh) | 基于卷积神经网络的音乐信号多乐器识别方法 | |
CN104616663A (zh) | 一种结合hpss的mfcc-多反复模型的音乐分离方法 | |
Pertusa et al. | Multiple fundamental frequency estimation using Gaussian smoothness | |
Fan et al. | Singing voice separation and pitch extraction from monaural polyphonic audio music via DNN and adaptive pitch tracking | |
JP5127982B2 (ja) | 音楽検索装置 | |
CN106997765B (zh) | 人声音色的定量表征方法 | |
CN110516102B (zh) | 一种基于语谱图识别的歌词时间戳生成方法 | |
Sebastian et al. | Group delay based music source separation using deep recurrent neural networks | |
CN103915093A (zh) | 一种实现语音歌唱化的方法和装置 | |
WO2010043258A1 (en) | Method for analyzing a digital music audio signal | |
Ono et al. | Harmonic and percussive sound separation and its application to MIR-related tasks | |
Lerch | Software-based extraction of objective parameters from music performances | |
Benetos et al. | Auditory spectrum-based pitched instrument onset detection | |
WO2005062291A1 (ja) | 信号解析方法 | |
CN110675845A (zh) | 人声哼唱精确识别算法及数字记谱方法 | |
Shenoy et al. | Singing voice detection for karaoke application | |
Gurunath Reddy et al. | Predominant melody extraction from vocal polyphonic music signal by time-domain adaptive filtering-based method | |
CN109712634A (zh) | 一种自动声音转换方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210720 |
|
CF01 | Termination of patent right due to non-payment of annual fee |