CN105976803B - 一种结合乐谱的音符切分方法 - Google Patents
一种结合乐谱的音符切分方法 Download PDFInfo
- Publication number
- CN105976803B CN105976803B CN201610262452.6A CN201610262452A CN105976803B CN 105976803 B CN105976803 B CN 105976803B CN 201610262452 A CN201610262452 A CN 201610262452A CN 105976803 B CN105976803 B CN 105976803B
- Authority
- CN
- China
- Prior art keywords
- note
- music
- signal
- peak
- envelope
- 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
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
- 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
- G10H1/0075—Transmission between separate instruments or between individual components of a musical system using a MIDI interface with translation or conversion means for unvailable commands, e.g. special tone colors
-
- 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/02—Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
- G10H1/06—Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour
- G10H1/12—Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour by filtering complex waveforms
- G10H1/125—Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour by filtering complex waveforms using a digital filter
-
- 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/031—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Auxiliary Devices For Music (AREA)
Abstract
本发明公开了一种结合乐谱的音符切分方法,包括下列步骤:1、对乐谱对应的MIDI文件进行解析,获得音符时值和音高信息;2、对音乐信号进行采集,之后对音乐信号进行预处理,预处理过程包括预加重、分帧、加窗等;3、采用短时平均能量的方法对预处理后的信号进行包络提取;4、对提取的信号包络进行峰值提取并将峰值与乐谱进行双向匹配,取所有信号的能量平均值作为阈值,先将大于阈值的峰值与乐谱匹配,从而确定能量较大的音符的起始点峰值;再将小于阈值的峰值与已确定音符之间的乐谱匹配;5、将起始点峰值与音乐信号中的音符起点进行一一映射,从而完成对音乐的音符切分。本发明对强弱变化较多的多音音乐能够实现准确的音符切分。
Description
技术领域
本发明属于音频信号处理领域,特别是一种结合乐谱的音符切分方法。
背景技术
随着生活水平的不断提高,人们开始学习乐器来提高自身的音乐素质。音符作为音乐构成的基本要素,在分析音乐信号中起着关键的作用,准确的切分音符可以提高音符识别的准确率。音符切分的实质是检测钢琴音乐音符的起始位置,将钢琴音乐信号中的每个音乐事件划分出来。
音乐切分方法大多数借鉴使用了语音端点检测的方法和思路,大致分为两种情况:一种是基于信号特征的检测方法,根据信号的幅度包络、短时平均能量、时频、相位、功率谱等特征表示来检测音符起点;另一种是基于统计信号模型,根据模型变化点检测突发信号来确定音符起点。近年来,许多新的方法被提出,如基于多特征联合的方法,基于频域能量的特征,基于差分能量和差分过零率的特征,基于排序幅度谱的特征,基于高频能量和低频能量的特征等。音乐具有节奏、情感和旋律等语义要素,较之简单的语音信息具有更多的复杂性,所以对音乐音符切分的研究还是有很大的潜力。
专利申请号为CN200610086469.7,发明名称为“一种基于双峰值检测的音符切分方法及其装置”的中国专利,是根据判断第一波峰和第二波峰是否满足双峰值检测的条件,完成对能量大于临界值的连续语音帧构成的每一浊音段的音符切分。该方法可以实现对各音符能量均匀的单音音乐的音符切分,但对于多音音乐,特别是双手弹奏的钢琴音乐,相邻很近的音符之间极易重叠,此时双峰值检测的性能下降,漏检率上升。
专利申请号为CN201110063242.1,发明名称为“基于Teager能量熵的音符切分方法”的中国专利,通过统计Teager能量的信息熵H后采用双门限阈值法进行峰值提取来完成音符切分。该方法可以实现多音音乐的音符切分,但对于强弱变化较多的多音音乐,采用阈值来进行峰值提取会遗漏部分音符起点。
由上可知,现有技术能够实现连续单音音乐的音符切分,但对于强弱变化较多的多音音乐不适用。
发明内容
本发明所解决的技术问题在于提供一种结合乐谱的音符切分方法。
实现本发明目的技术解决方案为:一种结合乐谱的音符切分方法,包括以下步骤:
步骤1、对乐谱信息进行提取,具体是对乐谱对应的MIDI文件进行解析,提取出乐谱中的音符时值和音高信息;
步骤2、对音乐信号进行采集,该音乐信号是根据步骤1中的乐谱进行演奏的,之后对采集到的音乐信号进行预处理;
步骤3、对预处理后的信号进行包络提取;
步骤4、对提取的信号包络进行峰值提取并将峰值与乐谱进行双向匹配;
步骤5、将起始点峰值与音乐信号中的音符起点进行一一映射,具体是将起始点峰值与帧长相乘,得到音符起点在音乐信号中的位置,从而完成对音乐的音符切分。
本发明与现有技术相比,其显著优点为:1)本发明的结合乐谱的音符切分方法主要结合乐谱中的先验信息,提高了音符切分的效率;2)本发明结合乐谱的音符切分方法中采用短时平均能量特征为时域特征,计算复杂度低,速度快;3)本发明的结合乐谱的音符切分方法对包络峰值与乐谱进行双向匹配,提高了音符切分的准确度;4)本发明的结合乐谱的音符切分方法将音符起始点检测与多基频检测同时进行,可以实现在确定一个小节的音乐音符起点后得到该小节中各音符的所有基频,即实现信号音符音高实时检测;5)本发明的结合乐谱的音符切分方法能够实现强弱变化较多的多音音乐的音符切分,对简单的连续音乐同样具有适用性。
下面结合附图对本发明作进一步详细描述。
附图说明
图1是本发明的结合乐谱的音符切分方法框图。
图2是钢琴曲《小奏鸣曲》前三小节的乐谱。
图3是对音乐预处理和包络提取之后的结果图,其中图3(a)是现场演奏的《小奏鸣曲》前三小节的音乐波形;图3(b)是音乐信号预加重之后的波形;图3(c)是音乐信号包络图。
图4是包络峰值与乐谱双向匹配的流程图。
图5是包络峰值与乐谱匹配后的起始点峰值位置图。
图6是钢琴音乐信号起始点检测结果图。
具体实施方式
结合图1,本发明的一种结合乐谱的音符切分方法,包括以下步骤:
步骤1、对乐谱信息进行提取,具体是对乐谱对应的MIDI文件进行解析,提取出乐谱中的音符时值和音高信息;
步骤2、对音乐信号进行采集,该音乐信号是根据步骤1中的乐谱进行演奏的,之后对采集到的音乐信号进行预处理;具体为:
步骤2-1、通过一阶数字滤波器对音乐信号进行预加重处理,数字滤波器H(z)公式为:
H(z)=1-μz-1
式中,μ为滤波器系数;
步骤2-2、对预加重处理后的信号进行分帧,分帧公式为
fn=(L-N+inc)/inc
式中fn为分帧后的总帧数,L为预加重后的信号长度,N为帧长,inc为后一帧对前一帧的位移量;
步骤2-3、对分帧处理后的信号进行加窗,第i帧加窗音乐信号yi(n)表示为:
yi(n)=x((i-1)*inc+n)*w(n)
式中x(n)为预加重之后的信号,w(n)为窗函数,n=1,2,…,N,i=1,2,…,fn;
采用汉宁窗,窗函数公式为:
式中N为窗长,窗长与帧长相等。
步骤3、对预处理后的信号进行包络提取;其中对预处理后的信号采用短时平均能量作为音乐信号的包络,第i帧的短时平均能量E(i)表示为:
式中,yi(n)为第i帧加窗音乐信号,N为窗长。
步骤4、对提取的信号包络进行峰值提取并将峰值与乐谱进行双向匹配;具体为:
步骤4-1、采用中值滤波对信号包络进行平滑处理,并采用极大值法提取包络中的峰值Pa;
步骤4-2、对当前峰值索引、音符在乐谱中的位置索引和音符起点在包络峰值Pa中的位置索引ind_1进行初始化,将当前峰值索引i设置为1,当前音符在乐谱中的位置索引temp_i设置为1,音符起点在包络峰值Pa中的位置索引ind_1设置为1;
步骤4-3、设定固定阈值δ,所述固定阈值δ为所有信号能量的平均值;
步骤4-4、利用阈值获得有效峰值Pn,所述有效峰值Pn为高于固定阈值δ的峰值,得到有效峰值Pn在包络峰值Pa中的位置索引为ind;
步骤4-5、对位置索引ind进行判断,若ind>1,则令音乐信号第1个音符起点Pan(1)对应包络第一个峰值Pa(1);若ind=1,则信号第1个音符起点对应第一个有效峰值Pan(1)=Pn(1),并将索引i增1,即i=i+1;
步骤4-6、对步骤1中提取出的音符时值midi_time累加求和:
其中,音符时值midi_time为1*p矩阵,p为音乐事件的个数,cumsum_time为累加和,t为音符在乐谱中的位置索引,1≤t≤p,1≤x≤t;
步骤4-7、初步判定第1个音符起点Pan(1)和第i个有效峰值Pn(i)之间信号包含的音乐事件数cm为:
cm=max{t|cumsum_time(t)≤note_len}
式中,note_len为第1个音符起点Pan(1)和第i个有效峰值之间信号的相对长度,公式为:
note_len=(Pn(i)-Pan(1))*N/n_len
式中,N为帧长,n_len为一个八分音符在时域上的信号长度;
步骤4-8、将有效峰值与乐谱匹配,对第i个有效峰值所在的音符瞬态部分作傅里叶变换,利用谐波峰值法获得该段音乐信号包含的基音频率pitch,从步骤1中提取出的音高信息midi_note的第temp_i+1列到cm+1列数据寻找与基音频率pitch相等的最小列cm1,由此确定第i个有效峰值Pn(i)表示第cm1个音符的起点,即Pan(cm1)=Pn(i),令峰值Pan(cm1)对应在Pa中的索引为ind_2;若没有找到cm1,则该有效峰值为伪峰值,i=i+1,返回步骤4-7;其中音高信息midi_note为q*p的矩阵,p为音乐事件的个数,q为一个音乐事件中含有的基频个数最大值;
步骤4-9、对已经确定音符起点之间的包络峰值与乐谱匹配,设置包络峰值索引j的范围为ind_1<j<ind_2,将包络峰值Pa中第ind_1到ind_2个峰值逐个按照步骤4-7的方法初步判定第1个音符起点Pan(1)和第j个包络峰值Pa(i)之间信号包含的音乐事件数cm2;
步骤4-10、设置音符起点峰值索引ii的范围为temp_i<ii<cm1,按照步骤4-8中的方法来确定第j个包络峰值Pa(j)对应的第ii个音符的起点,即Pan(ii)=Pa(j);若某个音符起点没有与其对应的峰值,将步骤4-9中的粗判结果作为音符起点,即Pan(cm2)=Pa(j);
步骤4-11、确定前cm1个音符起点之后,将当前待匹配音符起点索引temp_i设置为cm1,同时将ind_2的值赋值给下一个有效峰值在包络峰值Pa中的位置索引ind_1,即ind_1=ind_2,i自增1,返回步骤4-7;若找到的音符起点个数等于音符总数,音符切分结束,音符起点在音乐信号中的位置为起始点峰值与帧长相乘,即onset=Pan*N。
步骤5、将起始点峰值与音乐信号中的音符起点进行一一映射,具体是将起始点峰值与帧长相乘,得到音符起点在音乐信号中的位置,从而完成对音乐的音符切分。
下面结合实施例进行更详细的描述:
实施例
单音音乐是指任意时刻只有一个声音的音乐,比如独唱、小号独奏等;而多音音乐则允许同一时刻有多个声音存在,比如一般的钢琴演奏、重奏、交响乐等。对于多音音乐,具有相同开始时间的所有音高被称为一个音乐事件。音符切分的实质是音乐音符的起始位置,将音乐信号中的每个音乐事件划分出来。
图1为结合乐谱的音符切分方法框图,结合乐谱的音符切分方法包括提取乐谱信息、音乐信号采集、信号预处理、包络提取、峰值提取、峰值与乐谱双向匹配和音符起始点映射部分。下面以钢琴演奏音乐为例说明本发明的结合乐谱的音符切分方法。
乐谱是音乐的最初形式,它由作曲家创作得到,演奏者根据乐谱演奏出音乐。如图2为钢琴曲《小奏鸣曲》前三小节的乐谱,乐谱有双行谱表,即高音、低音谱表。音符时值也称为音符值或音值,在乐谱中用来表达各音符之间的相对持续时间;音高在物理上反映为音符的基频值,即基音的频率。MIDI可以看作乐谱的电子化表达形式,它记录了音符、节拍、力度、乐器等信息。MIDI文件中的二、三音轨对应乐谱中的高音、低音谱表,通过解析MIDI文件,可以提取各音轨包含的音符时值和音高信息,并将两个音轨的信息合并。《小奏鸣曲》前三小节乐谱对应的音符相对时值集合为{1,1,1,1,1,1,1,1,1,1,2,2,2,2},表1是对《小奏鸣曲》前三小节的MIDI乐谱两个音轨合并后得到的钢琴键号数组,其中第1列为高音谱表,2-4列为低音谱表。
表1
56 | 0 | 0 | 0 |
57 | 0 | 0 | 0 |
59 | 40 | 44 | 47 |
61 | 0 | 0 | 0 |
59 | 40 | 44 | 47 |
58 | 0 | 0 | 0 |
59 | 40 | 44 | 47 |
61 | 0 | 0 | 0 |
59 | 40 | 44 | 47 |
58 | 0 | 0 | 0 |
59 | 40 | 44 | 47 |
0 | 40 | 44 | 47 |
0 | 40 | 44 | 47 |
56 | 40 | 44 | 47 |
钢琴演奏的音乐通过模数变化后变成数字乐音信号,图3(a)为现场演奏的《小奏鸣曲》前三小节的音乐波形。采集之后的信号需要进行预处理,预处理过程包括预加重、分帧、加窗等。图3(b)为音乐信号预加重之后的波形。预加重处理可以提高高频部分,使信号音符起始点处的能量增强。采用一阶数字滤波器对音乐信号进行预加重处理,数字滤波器公式为:
H(z)=1-μz-1
式中,μ值取0.99。
分帧加窗处理以有限长度的移动窗口对信号样本加权的形式实现,可以将总体非平稳的乐音信号转化为短时平稳信号。采用交叠分段的方法可以使帧与帧之间平滑过渡且保持其连续性,前一帧和后一帧的交叠部分称为帧移。分帧公式为:
fn=(L-N+inc)/inc
式中fn为分帧后的总帧数,L为预加重后的信号长度,N为帧长,inc为帧移。本发明为了体现峰值与音符起始点的映射关系,取帧移与帧长相等。
对分帧处理后的信号进行加窗,第i帧加窗音乐信号yi(n)表示为:
yi(n)=x((i-1)*inc+n)*w(n)
式中x(n)为预加重之后的信号,w(n)为窗函数,n=1,2,…,N,i=1,2,…,fn。常用在语音、乐音信号处理中的加窗函数有海明窗、汉宁窗和矩形窗等几种,本发明采用汉宁窗,窗函数公式为:
式中N为窗长,窗长与帧长相等,本发明取一个标准八分音符长度的1/10。
在音乐信号中,每个音符的能量首先会突然上升然后经历一个衰减过程,这个阶段的变化称为瞬态。音乐信号分析中的起始点是指是一个音乐事件的开始,就是指音高的变化或者一个音符的开始。由于音符起点处能量的增加尤为明显,使用短时平均能量作为信号包络可以使音符的起点大致凸显出来。第i帧的短时平均能量E(i)表示为:
式中,yi(n)为第i帧加窗音乐信号,N为窗长。取窗长为1000点,得到的音乐信号包络如图3(c)。
采用中值滤波对信号包络进行平滑处理,并采用极大值法提取包络中的峰值Pa。
在一般的时域起点检测方法中,设定阈值后取大于阈值的部分作为浊音段,同时得到浊音信号的端点。根据基本乐理知识,钢琴弹奏中,一般右手弹奏的是主旋律,而左手只是伴奏弹奏,所以右手弹奏时的力度普遍要大于左手弹奏的力度,左右手合奏出强弱变化的音乐。只取大于阈值的峰值非常可能掩盖力度小的音符起点,也可能误将伪峰值作为音符起点。但可以确定的是,大于较大阈值的峰值一定与乐谱中某个音符对应,因此本发明的方法设定较大的阈值,对包络峰值进行双向匹配。
双向匹配即将大于阈值的峰值作为有效峰值,对有效峰值与乐谱匹配,从而确定能量较大的音符的起点位置;再将小于阈值的峰值与已确定音符之间的乐谱进行匹配,如图4为包络峰值与乐谱双向匹配的流程图,算法描述如下:
(1)对当前峰值索引、音符在乐谱中的位置索引和音符起点在包络峰值Pa中的位置索引ind_1进行初始化,将当前峰值索引i设置为1,当前音符在乐谱中的位置索引temp_i设置为1,音符起点在包络峰值Pa中的位置索引ind_1设置为1;
(2)设定固定阈值δ,所述固定阈值δ为所有信号能量的平均值;
(3)利用阈值获得有效峰值Pn,所述有效峰值Pn为高于固定阈值δ的峰值,得到有效峰值Pn在包络峰值Pa中的位置索引为ind;
(4)对位置索引ind进行判断,若ind>1,则令音乐信号第1个音符起点Pan(1)对应包络第一个峰值Pa(1);若ind=1,则信号第1个音符起点对应第一个有效峰值Pan(1)=Pn(1),并将索引i增1,即i=i+1;
(5)对步骤1中提取出的音符时值midi_time累加求和:
式中,cumsum_time为累加和,t为音符在乐谱中的位置索引,1≤t≤n,1≤x≤t,n为音乐事件总数;
(6)初步判定第1个音符起点Pan(1)和第i个有效峰值Pn(i)之间信号包含的音乐事件数cm为:
cm=max{t|cumsum_time(t)≤note_len}
式中,note_len为第1个音符起点Pan(1)和第i个有效峰值之间信号的相对长度,公式为:
note_len=(Pn(i)-Pan(1))*N/n_len
式中,N为帧长,n_len为一个八分音符在时域上的信号长度;
(7)将有效峰值与乐谱匹配,对第i个有效峰值所在的音符瞬态部分作傅里叶变换,利用谐波峰值法获得该段音乐信号包含的基音频率pitch,从步骤1中提取出的音高midi_note的第temp_i+1列到cm+1列数据寻找与基音频率pitch相等的最小列cm1,由此确定第i个有效峰值Pn(i)表示第cm1个音符的起点,即Pan(cm1)=Pn(i),令峰值Pan(cm1)对应在Pa中的索引为ind_2;若没有找到cm1,则该有效峰值为伪峰值,i=i+1,返回(6);
(8)对已经确定音符起点之间的包络峰值与乐谱匹配,设置包络峰值索引j的范围为ind_1<j<ind_2,将包络峰值Pa中第ind_1到ind_2个峰值逐个按照步骤4-7的方法初步判定第1个音符起点Pan(1)和第j个包络峰值Pa(i)之间信号包含的音乐事件数cm2,即cm2=max{t|cumsum_time(t)≤note_len2}
其中note_len2=(Pa(j)-Pan(1))*N/n_len;
(9)设置音符起点峰值索引ii的范围为temp_i<ii<cm1,按照(7)中的方法来确定第j个包络峰值Pa(j)表示第ii个音符的起点,即Pan(ii)=Pa(j);若某个音符起点没有与其对应的峰值,将步骤4-9中的粗判结果作为音符起点,即Pan(cm2)=Pa(j)。
(10)确定前cm1个音符起点之后,将当前待匹配音符起点索引temp_i设置为cm1,同时将ind_2的值赋值给下一个有效峰值在包络峰值Pa中的位置索引ind_1,即ind_1=ind_2,i自增1,返回步骤4-7;若找到的音符起点个数等于音符总数,包络峰值与乐谱双向匹配结束。
图5为包络峰值与乐谱匹配后的起始点峰值位置,其中正方形点表示有效峰值匹配结果,圆圈点表示其余包络峰值匹配结果。
将起始点峰值与音乐信号中的音符起点进行一一映射,通过将起始点峰值与帧长相乘来得到音符起点在音乐信号中的位置,即onset=Pan*N。图6为起始点检测结果,其中实线表示由有效峰值确定的音符起始点,虚线表示由其余包络峰值确定的音符起始点,由此实现音符的准确切分。
由上可知,本发明结合乐谱的音符切分方法能够实现强弱变化较多的多音音乐的音符切分,对简单的连续音乐同样具有适用性。
Claims (3)
1.一种结合乐谱的音符切分方法,其特征在于,包括以下步骤:
步骤1、对乐谱信息进行提取,具体是对乐谱对应的MIDI文件进行解析,提取出乐谱中的音符时值和音高信息;
步骤2、对音乐信号进行采集,该音乐信号是根据步骤1中的乐谱进行演奏的,之后对采集到的音乐信号进行预处理;
步骤3、对预处理后的信号进行包络提取;
步骤4、对提取的信号包络进行峰值提取并将峰值与乐谱进行双向匹配;具体为:
步骤4-1、采用中值滤波对信号包络进行平滑处理,并采用极大值法提取包络中的峰值Pa;
步骤4-2、对当前峰值索引、音符在乐谱中的位置索引和音符起点在包络峰值Pa中的位置索引ind_1进行初始化,将当前峰值索引i设置为1,当前音符在乐谱中的位置索引temp_i设置为1,音符起点在包络峰值Pa中的位置索引ind_1设置为1;
步骤4-3、设定固定阈值δ,所述固定阈值δ为所有信号能量的平均值;
步骤4-4、利用阈值获得有效峰值Pn,所述有效峰值Pn为高于固定阈值δ的峰值,得到有效峰值Pn在包络峰值Pa中的位置索引为ind;
步骤4-5、对位置索引ind进行判断,若ind>1,则令音乐信号第1个音符起点Pan(1)对应包络第一个峰值Pa(1);若ind=1,则信号第1个音符起点对应第一个有效峰值Pan(1)=Pn(1),并将索引i增1,即i=i+1;
步骤4-6、对步骤1中提取出的音符时值midi_time累加求和:
其中,音符时值midi_time为1*p矩阵,p为音乐事件的个数,cumsum_time为累加和,t为音符在乐谱中的位置索引,1≤t≤p,1≤x≤t;
步骤4-7、初步判定第1个音符起点Pan(1)和第i个有效峰值Pn(i)之间信号包含的音乐事件数cm为:
cm=max{t|cumsum_time(t)≤note_len}
式中,note_len为第1个音符起点Pan(1)和第i个有效峰值之间信号的相对长度,公式为:
note_len=(Pn(i)-Pan(1))*N/n_len
式中,N为帧长,n_len为一个八分音符在时域上的信号长度;
步骤4-8、将有效峰值与乐谱匹配,对第i个有效峰值所在的音符瞬态部分作傅里叶变换,利用谐波峰值法获得该段音乐信号包含的基音频率pitch,从步骤1中提取出的音高信息midi_note的第temp_i+1列到cm+1列数据寻找与基音频率pitch相等的最小列cm1,由此确定第i个有效峰值Pn(i)表示第cm1个音符的起点,即Pan(cm1)=Pn(i),令峰值Pan(cm1)对应在Pa中的索引为ind_2;若没有找到cm1,则该有效峰值为伪峰值,i=i+1,返回步骤4-7;其中音高信息midi_note为q*p的矩阵,p为音乐事件的个数,q为一个音乐事件中含有的基频个数最大值;
步骤4-9、对已经确定音符起点之间的包络峰值与乐谱匹配,设置包络峰值索引j的范围为ind_1<j<ind_2,将包络峰值Pa中第ind_1到ind_2个峰值逐个按照步骤4-7的方法初步判定第1个音符起点Pan(1)和第j个包络峰值Pa(i)之间信号包含的音乐事件数cm2;
步骤4-10、设置音符起点峰值索引ii的范围为temp_i<ii<cm1,按照步骤4-8中的方法来确定第j个包络峰值Pa(j)对应的第ii个音符的起点,即Pan(ii)=Pa(j);若某个音符起点没有与其对应的峰值,将步骤4-9中的粗判结果作为音符起点,即Pan(cm2)=Pa(j);
步骤4-11、确定前cm1个音符起点之后,将当前待匹配音符起点索引temp_i设置为cm1,同时将ind_2的值赋值给下一个有效峰值在包络峰值Pa中的位置索引ind_1,即ind_1=ind_2,i自增1,返回步骤4-7;若找到的音符起点个数等于音符总数,双向匹配结束;
步骤5、将起始点峰值与音乐信号中的音符起点进行一一映射,具体是将起始点峰值与帧长相乘,即onset=Pan*N,得到音符起点在音乐信号中的位置,从而完成对音乐的音符切分。
2.根据权利要求1所述的结合乐谱的音符切分方法,其特征在于,步骤2中对采集到的音乐信号进行预处理具体为:
步骤2-1、通过一阶数字滤波器对音乐信号进行预加重处理,数字滤波器H(z)公式为:
H(z)=1-μz-1
式中,μ为滤波器系数;
步骤2-2、对预加重处理后的信号进行分帧,分帧公式为
fn=(L-N+inc)/inc
式中fn为分帧后的总帧数,L为预加重后的信号长度,N为帧长,inc为后一帧对前一帧的位移量;
步骤2-3、对分帧处理后的信号进行加窗,第i帧加窗音乐信号yi(n)表示为:
yi(n)=x((i-1)*inc+n)*w(n)
式中x(n)为预加重之后的信号,w(n)为窗函数,n=1,2,…,N,i=1,2,…,fn;
采用汉宁窗,窗函数公式为:
式中N为窗长,窗长与帧长相等。
3.根据权利要求1所述的结合乐谱的音符切分方法,其特征在于,步骤3对预处理后的信号进行包络提取,其中对预处理后的信号采用短时平均能量作为音乐信号的包络,第i帧的短时平均能量E(i)表示为:
式中,yi(n)为第i帧加窗音乐信号,N为窗长。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610262452.6A CN105976803B (zh) | 2016-04-25 | 2016-04-25 | 一种结合乐谱的音符切分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610262452.6A CN105976803B (zh) | 2016-04-25 | 2016-04-25 | 一种结合乐谱的音符切分方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105976803A CN105976803A (zh) | 2016-09-28 |
CN105976803B true CN105976803B (zh) | 2019-08-30 |
Family
ID=56993183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610262452.6A Expired - Fee Related CN105976803B (zh) | 2016-04-25 | 2016-04-25 | 一种结合乐谱的音符切分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105976803B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108805000B (zh) * | 2018-04-09 | 2019-12-17 | 平安科技(深圳)有限公司 | 电子装置、基于深度学习的乐谱识别方法及存储介质 |
CN110599987A (zh) * | 2019-08-25 | 2019-12-20 | 南京理工大学 | 基于卷积神经网络的钢琴音符识别算法 |
CN113096623B (zh) * | 2021-03-26 | 2023-07-14 | 北京如布科技有限公司 | 语音处理方法、装置、电子设备及介质 |
CN116502125B (zh) * | 2023-04-28 | 2024-03-12 | 重庆赛力斯凤凰智创科技有限公司 | 车辆事件划分方法、装置及车联网服务器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1940926A (zh) * | 2006-03-15 | 2007-04-04 | 中国人民大学 | 一种基于哼唱的音乐数据库高效查询方法 |
CN103295574A (zh) * | 2012-03-02 | 2013-09-11 | 盛乐信息技术(上海)有限公司 | 唱歌语音转换设备及其方法 |
CN103377646A (zh) * | 2012-04-25 | 2013-10-30 | 卡西欧计算机株式会社 | 音符位置检测装置、电子乐器及音符位置推测方法 |
-
2016
- 2016-04-25 CN CN201610262452.6A patent/CN105976803B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1940926A (zh) * | 2006-03-15 | 2007-04-04 | 中国人民大学 | 一种基于哼唱的音乐数据库高效查询方法 |
CN103295574A (zh) * | 2012-03-02 | 2013-09-11 | 盛乐信息技术(上海)有限公司 | 唱歌语音转换设备及其方法 |
CN103377646A (zh) * | 2012-04-25 | 2013-10-30 | 卡西欧计算机株式会社 | 音符位置检测装置、电子乐器及音符位置推测方法 |
Non-Patent Citations (2)
Title |
---|
乐音识别技术研究及应用;徐国庆;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20050615;第18-30页 |
自动音乐标注系统综述;郭奕等;《计算机应用研究》;20110430;第28卷(第4期);第1202-1204页 |
Also Published As
Publication number | Publication date |
---|---|
CN105976803A (zh) | 2016-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pauws | Musical key extraction from audio. | |
Barbedo et al. | Automatic genre classification of musical signals | |
CN105976803B (zh) | 一种结合乐谱的音符切分方法 | |
US8193436B2 (en) | Segmenting a humming signal into musical notes | |
Rocamora et al. | Comparing audio descriptors for singing voice detection in music audio files | |
CN104992712B (zh) | 能识别音乐自动成谱的方法 | |
CN104616663A (zh) | 一种结合hpss的mfcc-多反复模型的音乐分离方法 | |
CN110599987A (zh) | 基于卷积神经网络的钢琴音符识别算法 | |
CN104183245A (zh) | 一种演唱者音色相似的歌星推荐方法与装置 | |
Toh et al. | Multiple-Feature Fusion Based Onset Detection for Solo Singing Voice. | |
Maddage et al. | Singing voice detection using twice-iterated composite fourier transform | |
CN105895079A (zh) | 语音数据的处理方法和装置 | |
Gao et al. | Vocal melody extraction via DNN-based pitch estimation and salience-based pitch refinement | |
MA et al. | Four-way classification of tabla strokes with models adapted from Automatic Drum Transcription | |
Shelar et al. | Musical instrument recognition and transcription using neural network | |
CN114093388A (zh) | 音符切割方法、切割系统及视唱评价方法 | |
Sridhar et al. | Music information retrieval of carnatic songs based on carnatic music singer identification | |
Tsai et al. | An automated singing evaluation method for karaoke systems | |
Rao et al. | Singing voice detection in north indian classical music | |
Davies et al. | Comparing mid-level representations for audio based beat tracking | |
Liang et al. | [Retracted] Extraction of Music Main Melody and Multi‐Pitch Estimation Method Based on Support Vector Machine in Big Data Environment | |
Kroher et al. | Discovery of repeated vocal patterns in polyphonic audio: A case study on flamenco music | |
Rao et al. | Singing voice detection in polyphonic music using predominant pitch | |
Gainza et al. | Onset detection and music transcription for the Irish tin whistle | |
Sutton et al. | Transcription of vocal melodies using voice characteristics and algorithm fusion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into 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: 20190830 |
|
CF01 | Termination of patent right due to non-payment of annual fee |