五线谱指法快速标注方法及系统

文档序号:1783885 发布日期:2019-12-06 浏览:22次 >En<

阅读说明:本技术 五线谱指法快速标注方法及系统 (staff fingering quick marking method and system ) 是由 王晓伟 管伯良 于 2019-09-03 设计创作,主要内容包括:本发明涉及一种五线谱指法快速标注方法及系统,包括如下步骤:S1:将拟要演奏的乐谱信息转化成MusicXML格式的乐谱数据;S2:解析乐谱MuiscXML数据,生成每个音符的指法标注位置,所述指法标注位置位于符头的上方,且不与五线谱重合;S3:生成每个声部所有音符的指法位置序列;S4:将每个音符对应的指法标注符号输入到相应的指法位置序列中,并在所述指法标注位置上显示。本发明具有标注位置准确,标注效率高,速度快,修改容易等优点,适用于不同的演奏方式,应用前景广阔。(The invention relates to a staff notation quick marking method and a staff notation quick marking system, which comprise the following steps: s1: converting the music score information to be played into music score data in MusicXML format; s2: analyzing the music score MuiscXML data to generate a fingering marking position of each note, wherein the fingering marking position is positioned above the note head and is not overlapped with the staff; s3: generating fingering position sequences of all notes of each vocal part; s4: inputting the fingering mark symbol corresponding to each note into the corresponding fingering position sequence, and displaying the fingering mark symbol on the fingering position. The method has the advantages of accurate marking position, high marking efficiency, high speed, easy modification and the like, is suitable for different playing modes, and has wide application prospect.)

五线谱指法快速标注方法及系统

技术领域

本发明涉及音乐基础教育技术领域,具体涉及一种五线谱指法快速标注方法及系统。

背景技术

在音乐的器乐教学领域,键盘类乐器的演奏都需要按照一定指法规律来演奏五线谱,而购买的五线谱上是没有指法标注的,需要老师进行指导,按照规定的指法要求来演奏。传统指法标注方式是,老师用笔在纸质乐谱上,进行指法标注,通常采用1、2、3、4、5这样的数字序列标注每一根手指,然后学生按照标注的顺序去弹奏。对于不同的学生,老师需要重复标注。

随着计算机技术应用到音乐行业,人们研发出了电子乐谱,即将传统的纸质乐谱电子化。技术人员在制作电子乐谱时,可以一并标注指法,但是标注过程需要制谱者不断拖动标注的指法符号到对应的音符位置,操作起来非常繁琐。而且已经标注好以后,导出的电子乐谱上的指法就固定不变了,且不能修改。这样的技术忽略了一个问题,不同的人对于同一段乐谱,演奏的指法习惯是可能不一样的,因此,这样的标注方法过于死板,不能适应用于所有人群。

当然,目前也有一些软件采用人机交互的方式对乐谱进行标注,例如采用手写笔或手指头在乐谱上画,但是这些软件功能的使用非常不友好。首先标注位置不够精准,而且标注的指法标记不够美观;其次修改困难,需要用虚拟橡皮擦进行擦拭修改,这与利用传统橡皮擦擦拭纸质乐谱相比并无多大差异。

发明内容

为了解决上述技术问题,本发明提供了一种五线谱指法快速标注方法,该方法可以在电子乐谱上实现快速录入指法,并且可以反复修改,不影响谱面整洁。

本发明提供如下技术方案:

一种五线谱指法快速标注方法,包括如下步骤:

S1:将拟要演奏的乐谱信息转化成MusicXML格式的乐谱数据;

S2:解析乐谱MuiscXML数据,生成每个音符的指法标注位置,所述指法标注位置位于符头的上方,且不与五线谱重合;

S3:生成每个声部所有音符的指法位置序列;

S4:将每个音符对应的指法标注符号输入到相应的指法位置序列中,并在所述指法标注位置上显示。

优选地,步骤S2包括如下步骤:

S21:通过XML解析库对五线谱MuiscXML文件进行解析,获取五线谱的电子化数据信息;

S22:按照不同的声部,从头到尾遍历每个音符,提取每个音符在五线谱中的坐标信息及所在声部,按照x坐标信息进行分组,如果x坐标相同,则分为同一组,最终得到不同的x轴坐标分组序列;

S23:提取每个x轴坐标分组序列中各个音符符头的y坐标值,并与五线谱第五线的y坐标值进行比对,然后生成每个音符的指法标注位置。

优选地,若x轴坐标分组序列中音符符头的y坐标值小于第五线的y坐标值,则该音符的指法标注位置为第五线的y坐标值+位置浮动值;若x轴坐标分组序列中音符符头的y坐标值大于第五线的y坐标值,则该音符的指法标注位置为该音符符头的y坐标值+位置浮动值。

优选地,所述位置浮动值为1-3个像素点。

优选地,同一x轴坐标分组序列中,按照音符符头的y坐标值由小到大的顺序依次确定相应音符的指法标注位置,在后指法标注位置比相邻的在前指法标注位置高1-3个像素点。

优选地,步骤S3包括:提取同一x轴坐标分组序列的指法标注位置,生成指法位置序列。

优选地,步骤S4包括如下步骤:

S41:对每一个手指对应分配一个指法标注符号;

S42:进入指法位置序列,根据五线谱上的音符,按照设定的弹奏指法,输入对应的指法标注符号,并在相应的指法标注位置显示该指法标注符号。

优选地,若当前指法位置序列标注完成后,指法输入光标自动进入下一组序列,然后用户继续标注,直到最后一组序列标注完毕。

优选地,指法标注符号为可删除信息,用户通过删除指令删除已输入的指法标注符号进行再次标注。

根据本发明另一方面,提供了一种五线谱指法快速标注系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述五线谱指法快速标注的方法。

传统拖拽式指法标注,速度慢,并且标注位置准确度差。由于本发明通过虚拟键盘演奏的方式来录入指法,具有标注位置准确,标注效率高,速度快,修改容易等优点,适用于不同的演奏方式,应用前景广阔。

附图说明

图1为本发明的方法流程示意图;

图2为本发明乐谱示例一的示意图;

图3为本发明乐谱示例二的示意图;

图4为本发明乐谱示例三的示意图;

图5为本发明进行五线谱指法快速标注时的示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步说明。

如图1所示,一种五线谱指法快速标注方法,包括如下步骤:

S1:将拟要演奏的乐谱信息转化成MusicXML格式的乐谱数据;

S2:解析乐谱MuiscXML数据,生成每个音符的指法标注位置,所述指法标注位置位于符头的上方,且不与五线谱重合,具体为:

S21:通过XML解析库对五线谱MuiscXML文件进行解析,获取五线谱的电子化数据信息;

S22:按照不同的声部,从头到尾遍历每个音符,提取每个音符在五线谱中的坐标信息及所在声部,按照x坐标信息进行分组,如果x坐标相同,则分为同一组,最终得到不同的x轴坐标分组序列;

S23:提取每个x轴坐标分组序列中各个音符符头的y坐标值,并与五线谱第五线的y坐标值进行比对,然后生成每个音符的指法标注位置,具体判断标准为:

其中,若x轴坐标分组序列中音符符头的y坐标值小于第五线的y坐标值,如图2所示,则该音符的指法标注位置为第五线的y坐标值+位置浮动值。位置浮动值一般选择1-3个像素点。

若x轴坐标分组序列中音符符头的y坐标值大于第五线的y坐标值,如图3所示,则该音符的指法标注位置为该音符符头的y坐标值+位置浮动值。位置浮动值一般选择1-3个像素点。

对于和弦音符,如图4所示,其都在同一x轴坐标分组序列中,此时应按照音符符头的y坐标值由小到大的顺序依次确定相应音符的指法标注位置,y坐标值最小的作为起始标注位置,y坐标值大的按照从下往上的顺序依次确定标注位置。相邻的法标注位置之间有1-3个像素点的间隙。

S3:提取同一x轴坐标分组序列的指法标注位置,生成指法位置序列。

S4:将每个音符对应的指法标注符号输入到相应的指法位置序列中,并在所述指法标注位置上显示,具体为:

S41:对每一个手指对应分配一个指法标注符号;

S42:进入指法位置序列,根据五线谱上的音符,按照设定的弹奏指法,输入对应的指法标注符号,并在相应的指法标注位置显示该指法标注符号。

若当前指法位置序列标注完成后,指法输入光标自动进入下一组序列,然后用户继续标注,直到最后一组序列标注完毕。

特别注意的是,指法标注符号为可删除信息,用户通过删除指令删除已输入的指法标注符号进行再次标注。

实施例1

本实施例的方法包括如下步骤:

具体步骤如下:

1.通过Finale软件制作乐谱,并打印的乐谱导出MusicXML格式乐谱数据。

2.将乐谱的MuiscXML格式数据上传到服务端。

3.利用控制终端(例如iPad)选择某首乐曲,向服务端请求乐谱数据。

4.服务端收到请求后,开始解析乐谱MuiscXML数据,生成每个音符的指法标注位置,指法一般标注在符头的上方,且不和五线谱重合,本发明的一大关键在于计算计算每个音符最高点(符头位置),以及当有多个音符组合在一起(如:和弦)如何计算组合音符的最高点,计算过程如下:

a)通过Python的XML解析库对五线谱MuiscXML文件进行解析,获取五线谱的电子化的数据信息。

b)从MuiscXML中提取每个音符在五线谱中的坐标及所在声部,按照X的坐标进行分组,如果X坐标相同,则分为同一组。

c)按照不同的声部,从头到尾遍历每个音符,照X的坐标进行分组,如果X坐标相同,则分为同一组,从而得到一个以X坐标进行分组的序列。

d)根据步骤c生成的X序列,从头到尾遍历每一个分组,如果当前分组只有1个音符,则获取音符在五线谱中的符头位置,如果当前音符符头在五线谱的内(如图2所示),则取五线谱最上方即第5线的Y值作为该该组音符的最高点,如果符头在五线谱第5线上或者五线谱上方(如图3所示),则取该音符符头的Y值作为该组音符的最高点;如果当前分组有多个音符(如图4所示),则该组音符中Y值最高的音符作为该组音符的最高点。上述最高点应当理解为指法标注位置的起始位置。

5.根据第4步生成了每个声部(一行五线谱即一个声部)里每组音符的指法位置序列。

6.加载Finale导出的乐谱图片,打开用户标注的指法虚拟键盘,如图5所示。

7.指法键盘的录入光标初始停留在第一声部的第一组音符上,指法键盘包含5个指法标注符号,分别为:1、2、3、4、5,分别用哪个手指演奏(比如与右手手指对应关系为:大拇指、食指、中指、无名指、小指)。

8.用户按照五线谱上的音符,在虚拟键盘上用需要弹奏的手指敲击对应的指法标注符号。

9.系统根据用户敲击的标注符号,在同一组音符内,从该组音符最高点(通过步骤4获取),按照从下往上的顺序进行标注。

10.用户连续敲击,指法键盘,如果当前分组的音符指法标满后,指法光标自动进入下一组音符,然后用户继续标注,直到最后一组音符。

11.如果用户在敲击虚拟键盘是敲击错误,可以点击删除键,将刚刚录入的指法进行删除。

12.整个过程,类似于用户看着乐谱在虚拟键盘样进行了一遍演奏。

13.指法录入完后,点击保存,可以给录入的指法标注起名字,并且可以同时分享给多用户。录入的指法信息采用XML数据格式保存,方便修改和复制。且在不同的系统上都可以解析。

14.被分享的用户,在打卡自己乐谱时,会自动加载被分享的指法标注。

以上所述的,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种钢琴抬指训练器

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!