CN105719626B - 基于对节记谱法的盲文乐谱自动排版方法及装置 - Google Patents

基于对节记谱法的盲文乐谱自动排版方法及装置 Download PDF

Info

Publication number
CN105719626B
CN105719626B CN201610044996.5A CN201610044996A CN105719626B CN 105719626 B CN105719626 B CN 105719626B CN 201610044996 A CN201610044996 A CN 201610044996A CN 105719626 B CN105719626 B CN 105719626B
Authority
CN
China
Prior art keywords
braille
row
trifle
hand
output
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.)
Active
Application number
CN201610044996.5A
Other languages
English (en)
Other versions
CN105719626A (zh
Inventor
黄河燕
周强
沈鑫
刘敏
孟德纯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ETONG LANGUAGE TECHNOLOGY (BEIJING) Co Ltd
Beijing Institute of Technology BIT
Original Assignee
ETONG LANGUAGE TECHNOLOGY (BEIJING) Co Ltd
Beijing Institute of Technology BIT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ETONG LANGUAGE TECHNOLOGY (BEIJING) Co Ltd, Beijing Institute of Technology BIT filed Critical ETONG LANGUAGE TECHNOLOGY (BEIJING) Co Ltd
Publication of CN105719626A publication Critical patent/CN105719626A/zh
Application granted granted Critical
Publication of CN105719626B publication Critical patent/CN105719626B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/091Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith
    • G10H2220/101Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters
    • G10H2220/121Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters for graphical editing of a musical score, staff or tablature
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/091Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith
    • G10H2220/101Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters
    • G10H2220/126Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters for graphical editing of individual notes, parts or phrases represented as variable length segments on a 2D or 3D representation, e.g. graphical edition of musical collage, remix files or pianoroll representations of MIDI-like files

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

本发明涉及一种基于对节记谱法的盲文乐谱自动排版方法及装置,属于基于计算机科学的盲文乐谱处理与分析技术领域。本发明首先根据盲文乐谱出版规则总结出一套基于计算机的处理规则;根据规则提出了一种盲文乐谱的自动排版方法,依此方法即可实现盲文乐谱的自动排版;根据该排版方法实现了一种盲文乐谱自动排版装置,将带排版的盲文乐谱输入该装置即可得到对应的排版结果输出。对比现有技术,本发明有效的利用节拍信息进行盲文乐谱排版,根据国内流行的对节记谱法规则针对常见的钢琴乐谱进行自动排版,针对用户进行编辑修改时的操作位置进行小节内的排版调整,保证即时的排版需求,同时支持人工排版时流行的每行40方和30方两种排版方式。

Description

基于对节记谱法的盲文乐谱自动排版方法及装置
技术领域
本发明涉及一种盲文乐谱自动排版方法及装置,特别涉及一种基于对节记谱法的盲文乐谱自动排版方法及装置,属于基于计算机科学的盲文乐谱处理与分析技术领域。
背景技术
根据中国残疾人联合会〔2012〕25号通知文件,截止2010年末我国盲人数量达到1263万人,是世界上盲人最多的国家。由于盲人不能看到明眼人使用的文字,所以他们有一种特殊的文字,即盲字,是由法国人路易·布莱尔在十九世纪发明的,以六个凸点为基本结构,按照一定规则排列,靠触觉感受,亦称点字。所以这种盲文结构也叫布莱尔盲字体系,世界上所有的盲文均以该方案为基础,结合各自语言特点创造出来。
我国盲人使用的记录音乐曲谱的符号,是国际统一的盲文音乐符号,它也是由世界盲文鼻祖布莱尔以布莱尔盲字体系为基础创造的。使用不同的盲字组合表示不同的音乐符号,编排出了一套书写曲谱的盲文方案。从古到今,在中华民族的绚丽璀璨的音乐熏陶下,民间出现过不少才华出众的盲人音乐家和器乐演奏家。他们不仅为民族音乐宝库增添了财富,而且为盲人从事器乐演奏开辟了广阔的道路。
传统盲文乐谱的录入是一项非常繁琐的工作,并且要求录入人员具有音乐方面的专业知识。传统的五线谱是一种二维结构,而盲文是一种线性书写的一维结构,由二维转为一维本身就导致了繁琐的规则和较长的篇幅,而盲文出版多使用一行30个盲字、每页25行的纸张,使其一行能承载的音符信息非常有限,而钢琴谱或更复杂的交响乐谱都是包含对应的多个五线谱,必须保证节拍对齐才能体现原意,因而使得盲文乐谱排版极为复杂。此时,迫切需要一套基于计算机自动化技术的盲文乐谱自动排版方法,以提高盲文乐谱出版效率,为广大盲人朋友提供更多更好的盲文乐谱满足其学习与演奏的需求。
常用的盲文记谱方法有如下几种:
1、直线法
它是以最低音作为基础写作原音符,上方各部音用音程号表示。这种记谱法只适用于学习“和声学”时使用,正规的大型乐曲不宜使用。
2、逐节法
先写一小节(或不完全小节)的低音部(左手)的乐谱,空一方后,再写一小节(或不完全小节)的高音部(右手)的乐谱,继而前后空方写小节线接着再继续写下一小节的低、高音部的乐谱和小节线。如此逐节地写下去,直到一个乐段或整首乐曲结束。
3、对节法
这是一种类似五线谱高、低音谱表(右手乐谱、左手乐谱)上下行平行书写记谱的方法。上、下第一个音符号要对齐。高、低音谱表只能写在一页上,不能拆开换页。
4、音符式记谱法
低音部和高音部都以最低音为基础,写作原音符,上方各部音都写作降位的“八分音符”。用这种方法记谱有很多符号需要调整,否则就会发生混淆。调整的符号都写在音符前。
5、管弦乐队总谱记法
管弦乐队总谱的记法,一般采用对节法记谱。各种乐器依次,逐行对节记谱。第一种乐器的行头要写小节数字。乐器都采用外文简写。
盲文术语对照:盲字以方为单位,一个盲字为一方
空方:
左手标记:
右手标记:
本发明使用的是对节记谱法,其具体规则如下:
乐谱开始的格式如下:
页码
标题
作词者
作曲者
修改者
(空行)
(两个空方)英文行板或曲风(两个空方)速度
拍号
对于乐谱内容,按照小节来写盲文。每一行盲文最多40方(或者30方)。
一般来说,一行内就写一小节。如果一行可以写多个小节,则可以在一行内写多小节,中间以一个空方隔开。当一行存在多个小节时,左右手小节起始位置要一致,少于5方时使用空方填充对齐,多于5方使用填充对齐;除了第一小节需要写左右手标记之外,后面的小节都不用写。
一小节的格式如下:
小节数(空方) 右手标记+右手乐谱内容
行号 左手标记+左手乐谱内容
当一行有多拍时,行号和小节数只需在一行(五线谱中的一行)的第一小节前写;当一节需要多行时,行号和小节数只需在该节起始位置前写。
行号之前要空出小节数所占盲文方数,小节数与右手标记之间要空出行号所占盲文方数;保证左右手标记对齐。
当多行连续写一小节或一拍内容时,只需在第一行前加左右手标记;如果是隔行输出时则每行前都要加左右手标记。
如果左右手的拍数不一样则无法处理。
一节中的任意手需要至少一行输出时,具体分三种情况:
1)左右手都不换行。一手一行,每行逐拍写;
2)只有一只手换行。先把右手的乐谱内容写完,再写左手的内容。需要换行的手连续写
3)左右手都换行。按一行一拍写,左右手各写一拍,如果不是小节最后一拍需要在结尾写上表示小节未完;在非小节第一行行首与行号对齐的地方写表示小节未完。
具体格式如下:
发明内容
本发明的目的在于提供一种基于对节记谱法的盲文乐谱自动排版方法,实现常见的钢琴谱的盲文乐谱的自动排版,以节约人力劳动,提高盲文乐谱出版效率。
为了实现上述目的,本发明采用了以下技术方案:
一种基于对节记谱法的盲文乐谱自动排版方法,包括以下内容:
根据五线谱的节拍信息,为了保证盲文乐谱编辑过程的排版,记录输出盲文乐谱每小节的范围,在该范围内的修改皆认为是该小节内部的修改,使排版计算过程仅针对该小节进行;对每一小节,对应左右手采用2行排版,一行对应右手,一行对应左手,且右手在前,左手在后;
排版时,根据每一行盲文可写的最大方数m,当一行仅能容纳一个小节的盲文时,一行内只写一个小节,否则,在多个小节之间以一空方隔开,在行首增加左右手标记,在左右手标记前增加小节序数和行号,小节序数添加在右手标记前,行号添加在左手标记前;当一行可以写多个小节时,在左右手对应的盲文乐谱中短的内容后面追加补足标记,补足少的方数,以使对应小节的左右手盲文乐谱内容对齐;当一行容纳不下一个小节的盲文时,即单个小节需要占用一行或多行,通过以下规则输出该节内容:
如果一小节内左右手都换行且每拍仅需一行时,则右手在上左手在下依次输出各拍内容,即i行输出右手第一拍,i+1行输出左手第一拍,i+2行输出右手第二拍,i+3行输出左手第二拍,直至输出完成;
如果一小节内左右手都换行但有的拍需要多行输出时,仍然按照右手在上左手在下依次输出各拍内容,遇到一拍多行时要使该拍的内容连续输出,即右或左手第n拍需要多行输出,i行输出第一行,i+1行输出第二行直至输出完成,再根据当前是右手则在下一行输出对应的左手拍,当前是左手则在下一行输出下一拍右手;
如果一小节内左右手仅一只手盲文需要换行,则先输出右手内容,输出完后再输出左手内容,无论哪手需要多行,都连续输出;即右或左手第n节需要多行输出,i行输出第一行,i+1行输出第二行直至输出完成,再根据当前是右手则在下一行输出对应的左手节,当前是左手则在下一行输出下一节右手;
输出后,在该节的第一行前增加对应的左右手标记,并在右手标记前增加小节数,左手标记前增加行号;其它非连续输出单手乐谱的行前增加对应的左右手标记,左右手标记前增加小节未完标记对应左右手最后一拍所在的行以前的各行结尾处添加小节未完标记
作为优选,所述补足标记当需要补足的方数小于5时采用空方,否则采用空方之间若干个的方式作为占位符,使两行中相同序号的节起始位置相同。
根据上述内容通过以下过程排版,如图1所示:
(1)设每行能容纳的盲文方数为n(由于盲文刻印纸张只有两种,所以n只可能有两种选择30或40;为了满足向后兼容性,令其为一个可以设置的非固定数);
(2)获取当前行五线谱翻译后的盲文乐谱,这些乐谱由两个相同数量(设为M)的字符串集合组成,分别对应左手和右手,每个集合中的一项对应一小节内容,集合内顺序与小节在乐谱中顺序相同,每小节内容又包含若干个盲文字符串,每个字符串对应一拍乐谱,按照拍顺序排列;
(3)排版引擎从上述字符串集合中逐个读取各小节盲文,设读取的小节数为i,当前输出盲文行为j;
(4)如果i<M则继续,否则跳转到(15);
(5)如果j行无内容,则继续,否则跳转到(12);
(6)根据当前输出小节i的相关信息获取本行能够输出的最大盲文数m;
(7)计算该小节左右手盲文总长度,获取其中最大的盲文长度为l,如果l<=m,则继续,否则跳转到(11);
(8)将该小节的小节数盲文、行数盲文个数的空方、右手标记盲文依次输出到j行,该小节小节数盲文个数的空方、行数盲文、左手标记盲文依次输出到j+1行;
(9)将该小节右手各拍盲文字符串依次输出到j行,该小节左手各拍盲文字符串依次输出到j+1行;
(10)将i递增1,跳转到(4);
(11)对超过m的盲文乐谱进行换行处理,跳转到(10);
(12)获取j和j+1行所剩盲文空方数取两者最小值a,由于要判断后面是否要追加小节,而两小节之间需要一个空方分隔,所以m=a-1;如果m等于0,则继续,否则跳转到(14);
(13)j递增2,跳转到(6);
(14)计算该小节左右手盲文总长度,获取其中最大的盲文长度为l,如果l<=m,进行小节补齐后跳转到(9),否则跳转到(13);
(15)读取指针指向下一行五线谱,如果还有数据则跳转到(2),否则继续;
(16)将j初始化为0,依次输出各盲文行。
作为优选,步骤(6)所述计算每行能容纳的实际盲文乐谱长度m,其步骤包括:
1)将当前小节乐谱的行数和小节数分别转为盲文,计算二者盲文长度之和s;
2)由于左右手标记均为两方盲文,所以本行容纳的盲文乐谱最大方数m=n-s-2。
作为优选,排版步骤(11)中当一行容纳不下一个小节时,如图2所示,通过以下过程排版:
1)获得此小节左右手N拍的盲文乐谱,并将待输出指针指向右手第一拍拍首(用i表示拍序号,此时i=1),设当前输出行为j;
2)分别计算该小节右手和左手所有节拍的盲文长度之和s1和s2,判断s1是否大于m,如果是转3)继续执行;否则跳转到(9);
3)如果s2大于m则转4)继续执行,否则跳转到6);
4)输出i拍右手盲文,j递增1;
5)输出i拍左手盲文,i和j都递增1,判断i是否大于N,如果是则结束,否则跳转到4);
6)顺序读取右手各拍盲文,继续下面步骤;
7)输出第i拍盲文,i和j都递增1,判断i是否大于N,如果是继续,否则再次执行本步骤;
8)判断当前输出的是否为右手,如果是跳转到11),否则结束;
9)j行输出右手所有盲文,j递增1;
10)如果s2大于m,顺序读取左手各拍盲文,跳转到7);
11)j行输出左手所有盲文,j递增1。
作为优选,如图3所示,上述4、5、7步骤中每拍盲文具体输出的过程如下:
a)获取i拍盲文,判断是否为第一拍,如果是则继续,否则跳转到c);
b)判断当前乐谱是左手还是右手,如果是左手对j行依次输出小节数盲文个数的空方、行数盲文,否则对j行依次输出小节数盲文、行数盲文个数的空方,然后跳转到d);
c)对j行输出小节数盲文和行数盲文个数之和减1的空方、小节未完标记
d)对j行输出相应手盲文标记;
e)判断该拍盲文长度是否超过m-1(由于需要在小节内未完行尾输出小节未完标记所以各行容纳的盲文数为m-1),如果超过,则转f),否则输出i拍盲文到j行后跳转到g);
f)将i拍盲文分成n个m-1长度的片段依次输出到连续行,j随之递增,即当该拍在一行内无法全部输出时,在第j行、第j+1行、第j+2行……连续输出,直至该拍输出完成,输出完后j为i拍的最后一行,结束;
g)判断i拍是否为最后一拍盲文,如果是则结束,否则输出小节未完标记后结束。
如图4所示,所述步骤f)将i拍盲文分成n个m-1长度的片段依次输出到连续行中每一行输出的具体过程如下:
(a)获取一个片段盲文,判断是否为该拍第一个,如果是则继续,否则先在该行输出小节数盲文和行数盲文个数之和减1的空方及小节未完标记然后继续;
(b)输出片段盲文;
(c)判断是否为小节最后一拍的最后一行,如果是则继续,否则输出小节未完标记后结束;
(e)判断j行是否只有一个盲文,如果是则将上一行最后的未完标记替换为这个盲文,清除j行内容结束,j减少1。
排版步骤(14)所述进行小节补齐的具体过程如下:
1)设j行已经输出的盲文长度为c,j+1行已经输出的盲文长度为d,获取c和d最小的一行,设为f,c和d差的绝对值为g,如果g<5则向f行输出g个空格,否则继续
2)向f行输出一个空方,再输出g-1个
基于上述方法实现的一种基于对节记谱法的盲文乐谱自动排版装置,如图5所示,包括依次连接的读入模块、逐节排版模块、结果输出模块;如图6所示,逐节排版模块进一步包括逐节读取单元、最大长度计算单元、节对齐补位单元、短节输出单元、逐拍排版单元,最大长度计算单元分别与短节输出单元和逐拍排版单元相连,短节输出单元与节对齐补位单元相连,逐节读取单元分别与最大长度计算单元、逐拍排版单元和节对齐补位单元相连;如图7所示,逐拍排版模块进一步包括逐拍读取单元、最大长度计算单元、短拍输出单元、长拍排版单元,逐拍读取单元分别与最大长度计算单元、短拍输出单元和长拍排版单元相连,最大长度计算单元分别与短拍输出单元和长拍排版单元相连;如图8所示,长拍排版单元进一步包括相互连接的长拍切分单元和片段输出单元;
所述读入模块用于读入输入的左右手盲文乐谱;
所述逐节排版模块用于将读入模块输出的盲文乐谱中每个小节的左右手盲文按排版规则格式化为若干行盲文字符串,具体步骤是通过逐节读取单元不断读取小节内容,对读取的每一小节内容使用最大长度计算单元计算输出行所能容纳的最大盲文方数,再判断该数与该小节的盲文长度关系,如果前者小于后者使用短节输出单元排版,否则使用逐拍排版单元排版,当使用短节输出单元排版时,如果本行已包含前一节的盲文,则使用节对齐补位单元进行对齐后再排版当前节盲文;
所述结果输出模块用于将排版后的字符串数组依次输出;
所述逐节读取单元用于循环读取所有小节的盲文;
所述最大长度计算单元用于计算每个输出行实际能够容纳的盲文乐谱数量;
所述节对齐补位单元用于将一节内左右手盲文少的补充占位符,使两手长度相同,以保证下一节左右手的盲文起始位置一致;
所述短节输出单元用于输出左右手盲文长度均不足一行的小节盲文,将一节内左右手盲文分别全部输出到上下两行;
所述逐拍排版单元用于一节内任一手盲文长度超过一行时的排版输出,具体步骤是,通过逐拍读取单元不断读取拍内容,对每一拍使用最大长度计算单元计算该小节输出行所能容纳的最大盲文方数,再减一获得该拍输出行的最大盲文方数,如果一拍盲文的长度小于该数则使用短拍排版单元排版,否则使用长拍排版单元排版;
所述逐拍读取单元用于依次读取一小节内的各拍盲文;
所述短拍排版单元用于输出左右手盲文长度均不足一行的拍盲文,将一拍内左右手盲文分别输出到上下两行;
所述长拍排版单元用于输出盲文超过一行的一拍盲文,将该拍盲文按最大长度计算单元得到的最大长度减一(由于小节内多行输出需要在尾部输出一个未完标记占用一方内容)逐行连续输出,具体步骤是,使用长拍切分单元将长拍切分成数个片段,再对每个片段使用片段输出单元进行排版;
所述长拍切分单元用于将超过一行的一拍盲文切分成多个片段,每个片段长度为最大长度计算单元输出的长度减一;
所述片段输出单元用于超过一行的一拍盲文中各片段的输出。
有益效果
本发明有效的利用节拍信息进行盲文乐谱排版,根据国内流行的对节记谱法规则针对常见的钢琴乐谱进行自动排版,同时支持人工排版时流行的每行40方和30方两种排版方式。
附图说明
图1是本发明实施例一种基于对节记谱法的盲文乐谱自动排版方法流程示意图。
图2是本发明针对小节盲文长度超过一行的处理流程示意图。
图3是本发明针对一拍盲文的处理流程示意图。
图4是本发明针对一拍分多行输出时每行的处理流程示意图。
图5是本发明实施例一种基于对节记谱法的盲文乐谱自动排版装置组成结构示意图。
图6是逐节排版模块的组成结构示意图。
图7是逐拍排版单元的组成结构示意图。
图8是长拍排版单元的组成结构示意图。
图9是本发明实施例一段五线谱示例。
具体实施方式
下面结合附图和实施例对本发明的实施过程进行详细介绍。
下面以如图9所示的五线谱为例采用本发明方法进行盲文排版,如图1所示为一种基于对节记谱法的盲文乐谱自动排版方法流程示意图,具体包括以下步骤:
步骤1:按五线谱的行逐节读入为盲文乐谱;
对如图9所示的一行五线谱对应的盲文乐谱如下:
第一行(右手):第0小节只有一拍,该拍包含两个盲文字符:第1小节(共四拍,每拍一个盲文字符):第2小节(共四拍,每拍一个盲文字符):第3小节(共四拍,除第三拍是两个盲文字符其他三拍只有一个盲文字符):
第二行(左手):第0小节只有一拍,该拍包含两个盲文字符:第1小节(共四拍,每拍包括盲文字符数依次是3,2,3,2):第2小节(同第1小节):第3小节(同第1小节):
由于该曲谱第一小节仅有一拍,是弱起小节,根据盲文乐谱规则,小节从0开始计数;否则从1开始。
下面以每一行盲文可写的最大方数30为例,按照上述过程进行排版,过程如下:
1)计算本行实际能够容纳的盲文数:小节数字0对应的盲文为长度为1,行号数字1对应盲文为长度也为1,两个长度组合为2,则实际容纳30-2-2=26,即m=26;
2)第0小节的左右手长度均为2,小于m(26),可以直接输出,所以先分别输出行号和小节数,由于均只有1方,所以对于输出右手盲文的第一行先输出小节数字0(对应的盲文为),空1方(下一行行号占1方)追加右手标记,然后输出第0小节右手盲文,对于输出左手盲文的第2行先空1方(上一行小节数占1方),输出行号数字1(对应盲文为),紧接着追加左手标记,再输出第0小节左手盲文结果为:
3)由于该行还有24个空位,所以继续添加第1小节内容,添加前补空方,结果为:
4)由于对应的两行最长的也只有17个盲文,对于总长度30还有13个盲文空间,而第2小节的左右手内容最长也只有10,所以可以继续添加第2小节内容,在添加之前,由于第一行内容较第二行内容短(少6方),所以为了使第2小节添加左右手位置相同需要使用占位符进行补充,根据补齐规则需要用空方中间5个补充而不是用空方,添加后的结果为:
5)在以上结果之后添加第二小节内容,结果为:
6)此时第2行的空余盲文数仅有2,而第3小节需要至少10方才能放下,所以另起一行输出,方法如上,不再赘述。
以上所述的具体描述,对发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种基于对节记谱法的盲文乐谱自动排版方法,其特征在于:包括以下内容:
根据五线谱的节拍信息,为了保证盲文乐谱编辑过程的排版,记录输出盲文乐谱每小节的范围,在该范围内的修改皆认为是该小节内部的修改,使排版计算过程仅针对该小节进行;对每一小节,对应左右手采用2行排版,一行对应右手,一行对应左手,且右手在前,左手在后;
排版时,根据本行容纳的盲文乐谱最大方数m,当一行仅能容纳一个小节的盲文时,一行内只写一个小节,否则,在多个小节之间以一空方隔开,在行首增加左右手标记,在左右手标记前增加小节序数和行号,小节序数添加在右手标记前,行号添加在左手标记前;当一行可以写多个小节时,在左右手对应的盲文乐谱中短的内容后面追加补足标记,补足少的方数,以使对应小节的左右手盲文乐谱内容对齐;当一行容纳不下一个小节的盲文时,即单个小节需要占用一行或多行,通过以下规则输出该节内容:
如果一小节内左右手都换行且每拍仅需一行时,则右手在上左手在下依次输出各拍内容,即k行输出右手第一拍,k+1行输出左手第一拍,k+2行输出右手第二拍,k+3行输出左手第二拍,直至输出完成;
如果一小节内左右手都换行但有的拍需要多行输出时,仍然按照右手在上左手在下依次输出各拍内容,遇到一拍多行时要使该拍的内容连续输出,即右或左手第n拍需要多行输出,k行输出第一行,k+1行输出第二行直至输出完成,再根据当前是右手则在下一行输出对应的左手拍,当前是左手则在下一行输出下一拍右手;
如果一小节内左右手仅一只手盲文需要换行,则先输出右手内容,输出完后再输出左手内容,无论哪手需要多行,都连续输出;即右或左手第n节需要多行输出,k行输出第一行,k+1行输出第二行直至输出完成,再根据当前是右手则在下一行输出对应的左手节,当前是左手则在下一行输出下一节右手;
输出后,在该节的第一行前增加对应的左右手标记,并在右手标记前增加小节数,左手标记前增加行号;其它非连续输出单手乐谱的行前增加对应的左右手标记,左右手标记前增加小节未完标记对应左右手最后一拍所在的行以前的各行结尾处添加小节未完标记
2.根据权利要求1所述的一种基于对节记谱法的盲文乐谱自动排版方法,其特征在于,所述补足标记当需要补足的方数小于5时采用空方,否则采用空方之间若干个的方式作为占位符,使两行中相同序号的节起始位置相同。
3.根据权利要求1所述的一种基于对节记谱法的盲文乐谱自动排版方法,其特征在于,包括以下过程:
(1)记每行能容纳的盲文方数为n;
(2)获取当前行五线谱翻译后的盲文乐谱,这些乐谱由两个长度为M的字符串集合组成,分别对应左手和右手,每个集合中的一项对应一小节内容,集合内顺序与小节在乐谱中顺序相同,每小节内容又包含若干个盲文字符串,每个字符串对应一拍乐谱,按照拍顺序排列;
(3)排版引擎从上述字符串集合中逐个读取各小节盲文,设读取的小节数为i,当前输出盲文行为j;
(4)如果i<M,则继续,否则跳转到(15);
(5)如果j行无内容,则继续,否则跳转到(12);
(6)根据当前输出小节i的相关信息获取本行容纳的盲文乐谱最大方数m;
(7)计算该小节左右手盲文总长度,获取其中最大的盲文长度为l,如果l<=m,则继续,否则跳转到(11);
(8)将该小节的小节数盲文、行数盲文个数的空方、右手标记盲文依次输出到j行,该小节小节数盲文个数的空方、行数盲文、左手标记盲文依次输出到j+1行;
(9)将该小节右手各拍盲文字符串依次输出到j行,该小节左手各拍盲文字符串依次输出到j+1行;
(10)将i递增1,跳转到(4);
(11)对超过m的盲文乐谱进行换行处理,跳转到(10);
(12)获取j和j+1行所剩盲文空方数取两者最小值a,由于要判断后面是否要追加小节,而两小节之间需要一个空方分隔,所以m=a-1;如果m等于0,则继续,否则跳转到(14);
(13)j递增2,跳转到(6);
(14)计算该小节左右手盲文总长度,获取其中最大的盲文长度为l,如果l<=m,进行小节补齐后跳转到(9),否则跳转到(13);
(15)读取指针指向下一行五线谱,如果还有数据则跳转到(2),否则继续;
(16)将j初始化为0,依次输出各盲文行。
4.根据权利要求3所述的一种基于对节记谱法的盲文乐谱自动排版方法,其特征在于,步骤(6)所述m通过以下过程获取:
1)将当前小节乐谱的行数和小节数分别转为盲文,计算二者盲文长度之和s;
2)由于左右手标记均为两方盲文,所以本行容纳的盲文乐谱最大方数m=n-s-2。
5.根据权利要求3所述的一种基于对节记谱法的盲文乐谱自动排版方法,其特征在于,步骤(11)所述对超过m的盲文乐谱进行换行处理的过程如下:
1)获得此小节左右手N拍的盲文乐谱,并将待输出指针i指向右手第一拍拍首,设当前输出行为j;
2)分别计算该小节右手和左手所有节拍的盲文长度之和s1和s2,判断s1是否大于m,如果是转3)继续执行;否则跳转到(9);
3)如果s2大于m则转4)继续执行,否则跳转到6);
4)输出i拍右手盲文,j递增1;
5)输出i拍左手盲文,i和j都递增1,判断i是否大于N,如果是则结束,否则跳转到4);
6)顺序读取右手各拍盲文,继续下面步骤;
7)输出第i拍盲文,i和j都递增1,判断i是否大于N,如果是继续,否则再次执行本步骤;
8)判断当前输出的是否为右手,如果是跳转到11),否则结束;
9)j行输出右手所有盲文,j递增1;
10)如果s2大于m,顺序读取左手各拍盲文,跳转到7);
11)j行输出左手所有盲文,j递增1。
6.根据权利要求5所述的一种基于对节记谱法的盲文乐谱自动排版方法,其特征在于,步骤4)、5)、7)所述输出第i拍盲文的过程如下:
a)获取i拍盲文,判断是否为第一拍,如果是则继续,否则跳转到c);
b)判断当前乐谱是左手还是右手,如果是左手对j行依次输出小节数盲文个数的空方、行数盲文,否则对j行依次输出小节数盲文、行数盲文个数的空方,然后跳转到d);
c)对j行输出小节数盲文和行数盲文个数之和减1的空方、小节未完标记
d)对j行输出相应手盲文标记;
e)判断该拍盲文长度是否超过m-1,如果超过,则转f),否则输出i拍盲文到j行后跳转到g);
f)将i拍盲文分成n个m-1长度的片段依次输出到连续行,j随之递增,即当该拍在一行内无法全部输出时,在第j行、第j+1行、第j+2行……连续输出,直至该拍输出完成,输出完后j为i拍的最后一行,结束;
g)判断i拍是否为最后一拍盲文,如果是则结束,否则输出小节未完标记后结束。
7.根据权利要求6所述的一种基于对节记谱法的盲文乐谱自动排版方法,其特征在于,步骤f)所述将i拍盲文分成n个m-1长度的片段依次输出到连续行中,其每一行输出的具体过程如下:
(a)获取一个片段盲文,判断是否为该拍第一个,如果是则继续,否则先在该行输出小节数盲文和行数盲文个数之和减1的空方及小节未完标记然后继续;
(b)输出片段盲文;
(c)判断是否为小节最后一拍的最后一行,如果是则继续,否则输出小节未完标记后结束;
(e)判断j行是否只有一个盲文,如果是则将上一行最后的未完标记替换为这个盲文,清除j行内容结束,j减少1。
8.根据权利要求3-7任一所述的一种基于对节记谱法的盲文乐谱自动排版方法,其特征在于,步骤(14)所述进行小节补齐的具体过程如下:
1)设j行已经输出的盲文长度为c,j+1行已经输出的盲文长度为d,获取c和d最小的一行,设为f,c和d差的绝对值为g,如果g<5则向f行输出g个空格,结束;否则继续;
2)向f行输出一个空方,再输出g-1个
9.一种基于对节记谱法的盲文乐谱自动排版装置,其特征在于,包括依次连接的读入模块、逐节排版模块、结果输出模块;逐拍排版模块进一步包括逐拍读取单元、最大长度计算单元、短拍输出单元、长拍排版单元;长拍排版单元进一步包括长拍切分单元和片段输出单元;
所述读入模块用于读入输入的左右手盲文乐谱;
所述逐节排版模块用于将读入模块输出的盲文乐谱中每个小节的左右手盲文按排版规则格式化为若干行盲文字符串,具体步骤是通过逐节读取单元不断读取小节内容,对读取的每一小节内容使用最大长度计算单元计算输出行所能容纳的最大盲文方数,再判断该数与该小节的盲文长度关系,如果前者小于后者使用短节输出单元排版,否则使用逐拍排版单元排版,当使用短节输出单元排版时,如果本行已包含前一节的盲文,则使用节对齐补位单元进行对齐后再排版当前节盲文;
所述结果输出模块用于将排版后的字符串数组依次输出;
所述逐节读取单元用于循环读取所有小节的盲文;
所述最大长度计算单元用于计算每个输出行实际能够容纳的盲文乐谱数量;
所述节对齐补位单元用于将一节内左右手盲文少的补充占位符,使两手长度相同,以保证下一节左右手的盲文起始位置一致;
所述短节输出单元用于输出左右手盲文长度均不足一行的小节盲文,将一节内左右手盲文分别全部输出到上下两行;
所述逐拍排版单元用于一节内任一手盲文长度超过一行时的排版输出,具体步骤是,通过逐拍读取单元不断读取拍内容,对每一拍使用最大长度计算单元计算该小节输出行所能容纳的最大盲文方数,再减一获得该拍输出行的最大盲文方数,如果一拍盲文的长度小于该数则使用短拍排版单元排版,否则使用长拍排版单元排版;
所述逐拍读取单元用于依次读取一小节内的各拍盲文;
所述短拍排版单元用于输出左右手盲文长度均不足一行的拍盲文,将一拍内左右手盲文分别输出到上下两行;
所述长拍排版单元用于输出盲文超过一行的一拍盲文,将该拍盲文按最大长度计算单元得到的最大长度减一逐行连续输出,具体步骤是,使用长拍切分单元将长拍切分成数个片段,再对每个片段使用片段输出单元进行排版;
所述长拍切分单元用于将超过一行的一拍盲文切分成多个片段,每个片段长度为最大长度计算单元输出的长度减一;
所述片段输出单元用于超过一行的一拍盲文中各片段的输出。
CN201610044996.5A 2015-12-23 2016-01-22 基于对节记谱法的盲文乐谱自动排版方法及装置 Active CN105719626B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510977333 2015-12-23
CN2015109773334 2015-12-23

Publications (2)

Publication Number Publication Date
CN105719626A CN105719626A (zh) 2016-06-29
CN105719626B true CN105719626B (zh) 2019-06-21

Family

ID=56154752

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610044996.5A Active CN105719626B (zh) 2015-12-23 2016-01-22 基于对节记谱法的盲文乐谱自动排版方法及装置

Country Status (1)

Country Link
CN (1) CN105719626B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110390859B (zh) * 2018-04-19 2021-05-14 兰州大学 一种基于MusicXML乐谱到盲文的转换方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1591414A (zh) * 2004-06-03 2005-03-09 华建电子有限责任公司 一种汉语到盲文的自动翻译转换方法
CN1658252A (zh) * 2002-01-02 2005-08-24 丁天铎 叠谱盲文
CN1731389A (zh) * 2004-08-04 2006-02-08 华建电子有限责任公司 盲汉对照编辑排版系统及编辑排版方法
CN101128859A (zh) * 2004-12-20 2008-02-20 马克·派屈克·伊甘 Morpheus(梦神)音乐符号系统
CN203746256U (zh) * 2014-03-04 2014-07-30 叶含之 一种盲童音乐学习机

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090326953A1 (en) * 2008-06-26 2009-12-31 Meivox, Llc. Method of accessing cultural resources or digital contents, such as text, video, audio and web pages by voice recognition with any type of programmable device without the use of the hands or any physical apparatus.

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1658252A (zh) * 2002-01-02 2005-08-24 丁天铎 叠谱盲文
CN1591414A (zh) * 2004-06-03 2005-03-09 华建电子有限责任公司 一种汉语到盲文的自动翻译转换方法
CN1731389A (zh) * 2004-08-04 2006-02-08 华建电子有限责任公司 盲汉对照编辑排版系统及编辑排版方法
CN101128859A (zh) * 2004-12-20 2008-02-20 马克·派屈克·伊甘 Morpheus(梦神)音乐符号系统
CN203746256U (zh) * 2014-03-04 2014-07-30 叶含之 一种盲童音乐学习机

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"An Internet Environment for Braille Translation of Digital Music Scores";Toshiyuki Gotoh等;《2008 Second International Symposium on Universal Communication IEEE》;20081231;全文

Also Published As

Publication number Publication date
CN105719626A (zh) 2016-06-29

Similar Documents

Publication Publication Date Title
Parrish The notation of medieval music
Stein The English Dictionary before Cawdrey
US20170243506A1 (en) Musical notation keyboard
CN105931621B (zh) 一种由midi到盲文乐谱的翻译方法及系统
CN102568261A (zh) 乐器辅助学习机
CN113744764A (zh) 一种演奏时值信息与曲谱时值信息最优比对路径的获得方法
CN110390859A (zh) 一种基于MusicXML乐谱到盲文的转换方法及系统
CN103902647A (zh) 一种应用于智能设备上的乐谱识别方法及智能设备
CN105719626B (zh) 基于对节记谱法的盲文乐谱自动排版方法及装置
Taupin et al. MusiXTEX. Using TEX to write polyphonic or instrumental music
JP3454307B2 (ja) 楽曲の旋律類似度判定方法
Jäger Concepts of western and Ottoman music history
CN101093421A (zh) 汉字的四笔层次形码及形音的数字编码输入方法
AU2017100188A4 (en) Rainbow Piano
Misra et al. SWARALIPI: A FRAMEWORK FOR TRANSCRIBING AND RENDERING INDIC MUSIC SHEET
JP3221337U (ja) 楽器演奏操作支援具作成装置
Boyd the evolution of form in the music of roger reynolds (i)
CN101944356B (zh) 一种适用于古琴减字谱打谱的音乐节奏生成方法
Morent Representing a Medieval repertory and its sources: The music of Hildegard von Bingen
RU154318U1 (ru) Позиционный указатель пальцевой табулатуры
Lansing VERGIL'S HOMAGE TO HOMER IN" AENEID" 1.1-7
Misra SANGEETTEX: A LATEX ENGINE FOR TRANSCRIBING AND RENDERING INDIC MUSIC
Bindu The fascinating generation of the South Indian Suladi Talas
Whitney On the history of the Vedic texts
CN103970287A (zh) 字组字中文输入法及其字根键盘

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