[发明专利]一种结合乐谱的音符切分方法有效
申请号: | 201610262452.6 | 申请日: | 2016-04-25 |
公开(公告)号: | CN105976803B | 公开(公告)日: | 2019-08-30 |
发明(设计)人: | 芮义斌;李秀珍;张跃龙;谢仁宏;李鹏;郭山红 | 申请(专利权)人: | 南京理工大学 |
主分类号: | G10H1/00 | 分类号: | G10H1/00;G10H1/12 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 马鲁晋 |
地址: | 210094 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种结合乐谱的音符切分方法,包括下列步骤:1、对乐谱对应的MIDI文件进行解析,获得音符时值和音高信息;2、对音乐信号进行采集,之后对音乐信号进行预处理,预处理过程包括预加重、分帧、加窗等;3、采用短时平均能量的方法对预处理后的信号进行包络提取;4、对提取的信号包络进行峰值提取并将峰值与乐谱进行双向匹配,取所有信号的能量平均值作为阈值,先将大于阈值的峰值与乐谱匹配,从而确定能量较大的音符的起始点峰值;再将小于阈值的峰值与已确定音符之间的乐谱匹配;5、将起始点峰值与音乐信号中的音符起点进行一一映射,从而完成对音乐的音符切分。本发明对强弱变化较多的多音音乐能够实现准确的音符切分。 | ||
搜索关键词: | 一种 结合 乐谱 音符 切分 方法 | ||
【主权项】:
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,得到音符起点在音乐信号中的位置,从而完成对音乐的音符切分。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京理工大学,未经南京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610262452.6/,转载请声明来源钻瓜专利网。
- 上一篇:LED显示屏网络播放方法及系统
- 下一篇:一种智能复制文本内容的终端及方法