一种乐谱识别方法

文档序号:6513284阅读:357来源:国知局
一种乐谱识别方法
【专利摘要】本发明公开了一种乐谱识别方法,包括:输入乐谱图像,获得乐谱图像的二值图像;使用交叉相关函数对二值图像的各区域进行水平修正,获得水平图像;对水平图像进行谱线定位,并删除谱线,获得删除谱线的图像;在删除谱线的图像中定位符干,获得符干基元的坐标数据,及删除符干的图像;在删除符干的图像中定位尾桥,获得尾桥基元的坐标数据,及删除尾桥的图像;在删除尾桥的图像中定位符头,得到符头基元的坐标数据;将基元符干、尾桥、符头的数据进行匹配,并整合声部数、时值以及声高,生成musicXML文件保存。本发明实施例能够实现将乐谱录入到计算机中,解决了乐谱录入效率低下的问题。
【专利说明】一种乐谱识别方法
【技术领域】
[0001]本发明涉及计算机【技术领域】,尤其涉及一种乐谱识别方法【背景技术】
[0002]随着计算机应用的不断发展,各类音频编辑软件的不断完善,计算机已成为音乐创作过程中一个不可或缺的工具。五线谱作为一种相对标准和全面的音乐记录方式,在音乐的创作和教学等方面被广泛地运用。数字化的乐谱相对于传统的纸质乐谱而言,不但在便携性与存储容量方面具有巨大的优势,而且能通过网络方便地查询,管理以及与他人分享。
[0003]在信息化大时代的环境下,网络曲谱库应运而生,谷歌图书(Google Books)和古登堡计划(Project Gutenberg)分别推出了曲谱检索和查阅功能。“国际乐谱库项目”(简称MSLP)搭建了 MSLP音乐图书馆(imslp.0rg)这一网站,用于收藏来自全球支持者们所上传的电子乐谱。
[0004]然而,目前仍有相当可观数量的乐谱以纸质的形式存在,即使存储在计算机上也大都以图片的形式保存。当人们需要利用计算机上丰富的功能对乐谱进行编辑时,不可避免地要先通过电子打谱软件将乐谱手动转化为电子文档。使用打谱软件不仅要具备一定的音乐专业知识,而且还需额外花费时间掌握复杂的操作命令和经验技巧;另外,乐谱录入过程繁复、枯燥,效率低下,大大打击了音乐爱好者们使用计算机辅助音乐学习与创作的热情。
[0005]另一方面,随着数字图书馆的蓬勃发展,数字音乐图书馆也悄然兴起。馆藏纸质乐谱资源的数字化已成为建设数字音乐图书馆的当务之急。音乐图书馆所藏的乐谱数以万计,如此浩大的数字化工程,若单纯靠传统的人工录入,将是漫长和繁重的工作,既费时又昂贵。因此,在纸质乐谱数字化的进程中,不可避免地产生了低速的音乐信息输入与高速信息处理之间的矛盾。

【发明内容】

[0006]本发明所要解决的技术问题是,提供一种乐谱识别方法,解决将乐谱录入到计算机中时效率低下的问题。
[0007]为解决上述技术问题,本发明实施例提供一种乐谱识别方法,包括:
[0008]a.输入乐谱图像,获得所述乐谱图像的二值图像;
[0009]b.使用交叉相关函数对所述二值图像的各区域进行水平修正,获得水平图像;
[0010]c.对所述水平图像进行谱线定位,并删除所述谱线,获得删除谱线的图像;
[0011]d.在所述删除谱线的图像中定位符干,获得符干基元的坐标数据,及删除符干的图像;
[0012]e.在所述删除符干的图像中定位尾桥,获得尾桥基元的坐标数据,及删除尾桥的图像;[0013]f.在所述删除尾桥的图像中定位符头,得到符头基元的坐标数据;
[0014]g.将基元符干、尾桥、符头的数据进行匹配,并整合声部数、时值以及声高,生成musicXML文件保存。
[0015]进一步的,所述步骤a具体包括:
[0016]al.扫描乐谱得到乐谱图像;
[0017]a2.对所述乐谱图像进行二值化、图像增强和平滑滤波处理,获得二值图像。
[0018]进一步的,所述步骤b具体包括:
[0019]利用交叉相关函数对所述二值图像进行水平修正,获得水平图像;
[0020]其中,交叉相关函数为
【权利要求】
1.一种乐谱识别方法,其特征在于,包括: a.输入乐谱图像,获得所述乐谱图像的二值图像; b.使用交叉相关函数对所述二值图像的各区域进行水平修正,获得水平图像; c.对所述水平图像进行谱线定位,并删除所述谱线,获得删除谱线的图像; d.在所述删除谱线的图像中定位符干,获得符干基元的坐标数据,及删除符干的图像; e.在所述删除符干的图像中定位尾桥,获得尾桥基元的坐标数据,及删除尾桥的图像; f.在所述删除尾桥的图像中定位符头,得到符头基元的坐标数据; g.将基元符干、尾桥、符头的数据进行匹配,并整合声部数、时值以及声高,生成musicXML 文件。
2.根据权利要求1所述的乐谱识别方法,其特征在于,所述步骤a具体包括: al.扫描乐谱得到乐谱图像; a2.对所述乐谱图像进行二值化、图像增强和平滑滤波处理,获得二值图像。
3.根据权利要求1所述的乐谱识别方法,其特征在于,所述步骤b具体包括: 利用交叉相关函数对所述二值图像进行水平修正,获得水平图像;


H-X 其中,交叉相关函数为^ X ,V)g(-V + i/, V + LI) g(x, y)表示所述二值图像上横


V=O坐标为X,纵坐标为y的某一个像素点A,g(x+d, y+μ)表示所述二值图像上横坐标为x+d,纵坐标为y+ μ的另一个像素点B,d表示A和B之间的水平距离,μ表示A和B之间的垂直距离,C(x,^表示A与B之间的相关性;0≤X≤W,O≤y≤H,W表示所述二值图像的宽度,H表示所述二值图像的高度。
4.根据权利要求1所述的乐谱识别方法,其特征在于,所述步骤c具体包括: Cl.对所述水平图像进行水平投影,统计不同高度上水平投影队列黑色像素的个数得到水平投影数组,所述水平投影数组中峰值所在的位置即为谱线位置; c2.对谱线所在位置黑色像素的上下两端的像素进行判断,如果两边的像素都为白色,且该黑色像素的高度小于或者等于谱线预期的高度,则将该黑色像素改为白色,获得删除谱线的图像。
5.根据权利要求1所述的乐谱识别方法,其特征在于,所述步骤d具体包括: dl.对所述删除谱线的图像进行高斯模糊处理后,对其进行骨架化操作; d2.创建数组VLTemp 口用于保存所述删除谱线的图像中的竖直线的上端点的纵坐标,VLTemp[i]表示横坐标为x=i的竖直线的上端点的纵坐标;并初始化VLTemp[i] =_1(i=0,……,ff-1); 对于i所对应的竖直线: 按照纵坐标从大到小的顺序,检测所述竖直线上每个像素点及其左右两侧像素点的颜色,若该像素点颜色为黑色,其左右两侧像素点颜色为白色,用O表示白色像素,I表示黑色像素,即像素排列形如“010”模式,且VLTemp[i]为-1时,将VLTemp[i]改为当前遍历中的纵坐标Y1,若当前遍历坐标不满足“010”模式,VLTemp [i]又不为-1时,判断当前遍历纵坐标和VLTemp[i]之间的差值,若差值大于长度阀值t1; &为两个像素,则当前遍历纵坐标即为所述竖直线的下端点纵坐标y2 ; 将所述竖直线的上端点纵坐标y1;下端点纵坐标y2,横坐标X保存到链表Cl中,重新给VLTemp [i]赋初值-1 ; d3.对所述链表Cl进行两次排序,第一次按所述竖直线的横坐标X排序,第二次按所述竖直线的纵坐标y2排序,并以数组vSet记录每一行第一条竖直线的位置坐标; d4.遍历所述链表Cl中竖直线的横坐标,并判断竖直线的横坐标X的差值,若出现两条竖直线的横坐标X的差值小于阀值t2,t2为两个像素,则判断所述两条竖直线的纵坐标,若所述两条竖直线其中一条的上端点纵坐标I1和另外一条的下端点纵坐标y2的差值也小于阀值t2,此时将所述两条竖直线判定为被截断的竖直线,所述两条被截断的竖直线的合并公式为: ilI删除所述两条被截断的竖直线中纵坐标较大的竖直线的情况时:
^ Uer 3 smallerbigger ybiggerbigger O,^bigger O 当删除所述两条被截断的竖直线中纵坐标较小的竖直线的情况时:
bigger — ybigger O7細y7smaller )Vsmuiier — 0,ysmaller — 0 其中,yl一、表示所述两条被截断的竖直线中纵坐标较小的那条竖直线的上端点、下端点纵坐标,^表示所述两条被截断的竖直线中纵坐标较大的那条竖直线的上端点、下端点纵坐标; 重新设置记录每一行第一条垂线的数组vSet ; d5.将所述链表Cl中所记录的竖直线的上下端点的纵坐标之差超过1.5*4* λ的竖直线删除,其中λ为谱线间距; d6.将所述链表Cl中存放的坐标所对应的符干改为白色像素,得到删除符干的图像。
6.根据权利要求1所述的乐谱识别方法,其特征在于,所述步骤e具体包括: el.提取所述删除符干的图像中的大块连通域: 创建一个所述删除符干的图像的副本图像; 遍历所述副本图像,将长度小于阀值t3的水平和竖直游程改为白色像素,其中,t3等于λ +2,并将面积小于λ 2* π /8,或者外接矩形高度大于Η/2的连通域改为白色像素,其中H为所述二值图像的高度;e2.第一轮尾桥识别: 判断经el处理的所述副本图像中的连通域的上下边缘的直线度Lin,其中,直线度Lin的取值范围为(0,l],Lin越接近1,边缘轮廓的曲折程度越低,表示连通域的上下边缘的形状越接近直线,如果所述连通域的上下任意一条边缘的直线度Lin接近1,则判定该连通域为尾桥,得到尾桥连通域的厚度样本;e3.第二轮尾桥识别: 在经el处理的所述副本图像中,判断连通域外接矩形较小边的长度I,若I等于或接近所述尾桥连通域的厚度样本时,判断该连通域为尾桥; 将所述尾桥的位置坐标存放在链表C2中;e4.遍历所述链表C2,生成数组tSet记录每一行第一个尾桥;并将所述链表C2中存放的坐标所对应的上述删除符干的图像中的尾桥改为白色像素,得到删除尾桥的图像。
7.根据权利要求1所述的乐谱识别方法,其特征在于,所述步骤f具体包括: Π.对水平粘连符头的切割: 对步骤e中所述删除尾桥的图像里的连通域的外接矩形的水平宽度进行判断,取到外接矩形的水平宽度超过1.5 λ的连通域β的横纵坐标,其中λ为谱线间距; 然后在所述连通域β所在的乐谱行上,搜索所述连通域β的外接矩形的左右端的横坐标所在位置处,经过所述连通域β的竖直线,并沿此竖直线对所述连通域β进行切割,切割的高度为所述连通域β外接矩形的高度;f2.对竖直粘连符头的切割: 对步骤e中所述删除尾桥的图像里的连通域按照乐谱间距切割; f3符头师选: 将经fl、f2步切割后得到的,所述删除尾桥的图像里的外接矩形的高大于λ,连通域面积和外接矩形面积的比值大于0.65的连通域判断为符头,其中λ为谱线间距;f4将符头位置坐标存放在链表C3中。
8.根据权利要求1所述的乐谱识别方法,其特征在于,所述步骤g具体包括: gl根据谱线的间距λ与小节线的长度1.5*4* λ判断乐谱的声部数; g2根据符干与符头的坐标的位置关系,按照从小到大的顺序将两个对应的链表Cl、C3进行匹配; g3根据符干与尾桥的坐标的位置关系,按照从小到大的顺序将两个对应的链表Cl、C2进行匹配; g4根据g2和g3中匹配的结果判断每一个音符的时值; g5根据谱线的位置判断每一个音符的音高; g6综合声部数、音符时值、音高、以及其他乐谱符号的位置,生成musicXML文件。
【文档编号】G06K9/54GK103646247SQ201310445379
【公开日】2014年3月19日 申请日期:2013年9月26日 优先权日:2013年9月26日
【发明者】蔡昭权, 陈力豪, 黄翰 申请人:惠州学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1