基于MATLAB的简谱识别算法研究
作者:***
来源:《电脑知识与技术》2014年第36期
        摘要:该文介绍了运用MATLAB软件实现简谱识别的算法。该算法主要实现图像的预处理、分割以及匹配识别等功能,关键是对音符进行准确的分割,因为这直接影响到识别效果的好坏。
        关键词:简谱识别;算法;MATLAB;分割
        中图分类号:TP37 文献标识码:A 文章编号:1009-3044(2014)36-8757-03
        随着数字化信息时代的到来,全球经济以前所未有的速度向前发展,同时,人们的生活水平和文化要求也越来越高,人们在各个领域的工作也更加的细化和深化,软件行业异军突起, 各种应用软件不断的得以开发并应用于工业、农业、行政、文化娱乐等行业,不仅为信息时代的人类提供了更加简洁、方便的工作和生活方式,更加使我们的生活丰富多彩。在音
乐方面,各种乐谱编辑软件、音乐合成软件和音乐制作软件已经广泛地应用于音乐爱好者和专业人士的音乐工作中,在这些众多的软件中,绝大部分的音乐处理软件都是对唱谱的后期制作与处理软件,而对于乐谱的识别软件相关的却不多,乐谱识别,是相应于现代化人们对快节奏工作方式的要求而产生的,但现有的识别软件大多都存在种种的误差,实际应用性不高,能够较准确地识别出乐谱地软件更是少之又少,这就给乐谱识别的软件开发人员带来了动力与挑战,同时,乐谱识别软件的开发也具有较好的市场发展前景。
        简谱,相对于五线谱而言,它书写较为简便,学习起来也比较容易,越来越多的人倾向于用简谱来创作音乐,演奏音乐,目前市场上的简谱识别软件非常少,这与简谱本身的特点有关,使得识别处理存在一些难点。因此,该文主要研究和设计了简谱识别算法。
        1 算法设计与实现
        1.1 设计思路
第一次爱的人 简谱        对于一张扫描到电脑中的简谱,进行识别前需要首先进行预处理,使之能够转化为易于进行数字化处理的形式。依次为中值滤波、二值化、细化处理,如前所述,中值滤波可
以较好的去除图片中的椒盐噪声,二值化将待处理音符提取出来,细化处理很好的保留了音符的形状、边界特征,这对于后续的识别是大有好处的。本识别系统中最重要的一步就是准确地分割出简谱中的每个音符,分割的准确与否直接影响到识别效果的好坏,我们采用水平投影、垂直投影并以零为阈值分割出每行和每列,再次利用水平和垂直投影分割出单个音符,之后即可进行单个音符及其它符号的识别,这里需要注意的是需要用到多重循环,其嵌套关系是逐步递进的。总而言之,即先分割,每分割出一个音符就进行一次识别,然后对该字符附近几个区域进行搜索其它符号的算法,每识别出一个音符赋一次值。其流程图如图1。