CN106133824A - 用于滚动乐谱的方法、设备以及计算机程序产品 - Google Patents

用于滚动乐谱的方法、设备以及计算机程序产品 Download PDF

Info

Publication number
CN106133824A
CN106133824A CN201580018342.9A CN201580018342A CN106133824A CN 106133824 A CN106133824 A CN 106133824A CN 201580018342 A CN201580018342 A CN 201580018342A CN 106133824 A CN106133824 A CN 106133824A
Authority
CN
China
Prior art keywords
trifle
screen
speed
music
note
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.)
Granted
Application number
CN201580018342.9A
Other languages
English (en)
Other versions
CN106133824B (zh
Inventor
C·皮努埃拉·伊里萨里
S·佩纳尔弗·普里莫
K·阿勃列戈·普里莫
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.)
Modern New Music Co Ltd
Original Assignee
Modern New Music Co Ltd
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=50397084&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN106133824(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Modern New Music Co Ltd filed Critical Modern New Music Co Ltd
Publication of CN106133824A publication Critical patent/CN106133824A/zh
Application granted granted Critical
Publication of CN106133824B publication Critical patent/CN106133824B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10GREPRESENTATION OF MUSIC; RECORDING MUSIC IN NOTATION FORM; ACCESSORIES FOR MUSIC OR MUSICAL INSTRUMENTS NOT OTHERWISE PROVIDED FOR, e.g. SUPPORTS
    • G10G1/00Means for the representation of music
    • 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
    • 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/0008Associated control or indicating means
    • 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/36Accompaniment arrangements
    • G10H1/40Rhythm
    • 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
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/375Tempo or beat alterations; Music timing control
    • G10H2210/385Speed change, i.e. variations from preestablished tempo, tempo change, e.g. faster or slower, accelerando or ritardando, without change in pitch
    • 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/005Non-interactive screen display of musical or status data
    • G10H2220/015Musical staff, tablature or score displays, e.g. for score reading during a performance.
    • 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/096Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith using a touch screen

Abstract

一种用于在设备的屏幕上滚动乐谱的方法,包括:将具有数字乐谱的文件加载在所述设备的一块存储器中,其中所述数字乐谱为用于表示五线谱的数字格式;将所述乐谱的多个音符或者至少一个小节显示在屏幕上。所述方法进一步包括:通过移动在屏幕上显示的音符或者小节,以这样的方式连续滚动所述乐谱:当已经滚动的音符或者小节开始从屏幕中消失时,额外的音符或者额外的小节开始逐渐出现在屏幕上;根据显示的音符或者小节以及拍速调整滚动速度。设备、计算机程序产品以及计算机可读存储器/介质。

Description

用于滚动乐谱的方法、设备以及计算机程序产品
技术领域
本发明涉及在显示屏上显示和滚动信息领域,尤其涉及在显示屏上显示和滚动音乐的方法和系统。
背景技术
众所周知,音乐家有时使用虚拟乐谱或电子乐谱,而不是传统的纸乐谱。除了其它优点外,电子乐谱大大节省了纸张,因而节省了空间。
电子乐谱面临的其中一个主要挑战在于,如何为正在演奏乐器的用户滚动或推进虚拟的活页乐谱。也许,第一相关记录(尽管并非特定于乐谱)为所谓的提词器。提词器为基于显示屏的设备,其为正在讲话的人提供必须读的电子可视文本。使用提词器的人并不需要低头读他/她的笔记,因此,他/她给人的印象是已经记住演讲内容。因此,提词器在电视中特别有用,例如对于新闻播报员。软件的发展已经催生了现代提词器,其能够在台式电脑、笔记本电脑或平板电脑上工作,且使得演讲者能够控制其语速和语流。
还值得一提的是,音乐语言是怎样具体到任何基于单词的语言都无法比拟的地步。作为示例,乐谱的数字化仍然是尚未解决的问题(或至少是使用严格限制来解决的问题)。语言数字化由于光学字符识别(OCR)系统而已经成为常规技术,与其相比,用于音乐的现有等效系统,称做光学音乐识别(OMR)还未能可靠地工作。这是因为通过基于逻辑的机制能够轻易克服单词中的错误,该机制的工作方式和人脑类似,即丢失或者误认字母不会对单词造成影响,该单词能够根据上下文来进行重构。然而,音符不能通过上下文来猜测。作为示例,一些研究已经得出结论,对于手写乐谱来说,数字化乐谱时的误差约为40%,而对于非手写乐谱该误差则约为24%(David Carretero de la Rocha,Diploma Thesis,“Sistema de reconocimiento de partituras musicales”,University Carlos III deMadrid)。
着眼于乐谱,显示电子谱的当前解决方案为基于逐页(page-by-page)的系统。这意味着将电子谱逐页存储在存储介质上。接着显示设备一页接一页地静态滚动这些页。当某一页已经显示某一时间段时,该页便从屏幕上消失且显示下一页。该某一时间段结束时,显示在屏幕上的音符部分(即,该页或者幻灯片)自动被随后的音符部分(即,随后的页或者幻灯片)所更换,该随后的音符部分再次在屏幕上停留某一时间段。例如,美国专利US7098392B2公开了一种提供音乐视频显示的方法,该音乐视频响应存储在音乐数据库中的音乐数据。在该方法中,首先,定义一页音乐图像数据,其来自音乐数据库;接下来,定义该页内的排序逻辑段;然后,将该映射存储在存储器中以用于选择性检索;最后,提供响应该映射和存储的音乐视频显示。音乐总是以静态的方式显示。换句话说,音乐的滚动是逐页或者逐个幻灯片进行的,这意味着,当某一页已经显示某一时间,该页(或者节或者幻灯片)突然从屏幕消失,且突然显示下一页(或者节或者幻灯片)。这意味着,音乐信息不以连续的方式流动或者滚动,而是以页(或者节或者幻灯片)的形式静态显示某一时间段。这阻碍了演奏者提前阅读还未演奏的音乐,因为当演奏者正在演奏屏幕上显示的最后音符时,他/她不能提前阅读将在下一页/幻灯片/节中显示的下一小节/音符。
如何为正在演奏乐器的用户快速或缓慢滚动或推进虚拟音符的问题已经得到解决。换句话说,在音乐世界中,无可避免地需要根据实际演奏的用户的实时拍速、或者根据指挥一组音乐家的人所施加的拍速、或者根据作曲家所创作的乐谱本身中的拍速来滚动乐符。
例如,美国专利US8530735B2描述了一种在显示屏上显示音乐的方法,其中,当将歌曲的部分音符显示在屏幕上且同时演奏者正在演奏他/她的乐器时,检测用户表演该歌曲的拍速。一旦知道用户的拍速时,便计算演奏者完成该显示部分的音符的表演所需的时间段。在该时间段结束时,在屏幕上显示的部分音符自动被随后部分的音符所更换。换句话说,所公开的方法基于逐页来操作。
该公开具有多种限制。主要的一点在于,只能根据实际演奏的用户的实时拍速来滚动音符。尤其是,不能适应作曲家所建议的(且由乐谱中的注解所表示的)拍速。这种方法以及基于逐页显示的任何其它传统方法的另一缺点在于,其不能管理乐谱中的复奏,同样也不能管理乐谱中的频率。这意味着,演奏者复奏一组必须复奏的音符的方式只有一种,即手动返回待复奏的该组的开始处。
发明内容
本发明的一目标在于提供用于在显示屏或者屏幕上滚动乐谱的方法,其克服了所述缺点。
根据本发明的一方面,提供了一种用于在设备的屏幕上滚动乐谱的方法,包括:将具有数字乐谱的文件加载在所述设备的一块存储器中,其中所述数字乐谱以用于表示五线谱的数字格式;将所述乐谱的多个音符显示在屏幕上。所述方法进一步包括:通过移动在屏幕上显示的音符,以这样的方式连续滚动所述乐谱:当已经滚动的音符开始从屏幕中消失时,额外的音符开始逐渐出现在屏幕上;根据显示的音符以及拍速,调整滚动速度,其中所述拍速包括参考音乐图以及一值,能够相对于参考音乐图来表示所述显示的音符,所述值表示每时间单位的待演奏的参考音乐图的数量。
在特定实施例中,滚动速度的计算如下:根据以下公式,估算对某一时刻显示在屏幕上的音符进行演奏所需的时间T:
其中N为待按顺序演奏的显示在屏幕的字符的总数,N为从数字乐谱中读取的,且T音符_i=(音符_i中的参考音乐图的数量)/拍速值;
从设备获取屏幕尺寸,从而计算待由那些显示的音符所覆盖的间隔;根据演奏显示的音符所需的所述估算时间T以及根据待由所述音符所覆盖的所述计算的间隔,计算滚动速度,并且以所述计算的速度来连续滚动音符;每当至少一个新的音符出现在屏幕上时,便重复所述计算并且调整滚动速度。
在特定的实施例中,所述数字乐谱垂直或水平滚动,其中当使用垂直滚动时,在屏幕上从下至上移动显示的音符,以及其中当使用水平滚动时,在屏幕上从右至左移动显示的音符。
在特定的实施例中,所述拍速能够选自以下的拍速组:根据实际演奏的用户的实时拍速、根据在数字乐谱中所指示的拍速或者当一组用户在一起演奏时,根据其中一个用户所施加的拍速。
根据本发明的另一方面,提供了一种用于在设备的屏幕上滚动乐谱的方法。所述方法包括:将具有数字乐谱的文件加载在所述设备的一块存储器中,所述乐谱包括多个小节(measures);将所述乐谱的至少一个小节显示在屏幕上;通过当已经滚动的小节从屏幕中消失时将额外的音乐小节显示在屏幕上来连续滚动乐谱;根据显示的小节、拍速(tempo)以及每小节的节拍数来调整滚动速度。所述拍速能够选自以下的拍速组:根据实际演奏的用户的实时拍速、根据在数字乐谱中所指示的拍速或者当一组用户在一起演奏时,根据其中一个用户所施加的拍速。所述每小节的节拍数选自以下组:根据实际演奏的用户所施加的每小节的节拍数、根据数字乐谱中所指示的每小节的节拍数、或者当一组用户正在一起演奏时,根据其中一个用户所施加的每小节的节拍数。
在特定的实施例中,所述数字乐谱垂直滚动。在这种情形中,优选地,滚动速度的计算如下:根据以下公式,估算演奏所述至少一个小节所需的时间T:
其中N为在屏幕上显示的小节总数,N为从数字乐谱中读取的,且T小节_i=n_节拍小节_i/拍速,其中“拍速”为数字乐谱中所指示的拍速或者由用户施加的拍速,且n_节拍小节_i为小节号“i”具有的节拍数,所述节拍数从数字乐谱中读取或者由用户施加;从设备获取屏幕尺寸,从而计算待由所述至少一个小节所覆盖的间隔;根据演奏屏幕上显示的小节所需的所述估算时间T以及根据待由所述小节覆盖的所述计算的间隔来计算滚动速度且以所述计算的速度来滚动乐谱;每当刷新屏幕时,便重复所述计算以及调整滚动速度。
在垂直滚动内的更特定的实施例中,其中将多个音乐行K显示在屏幕上,每一行具有至少一个小节Mk,每行的小节数能够逐行变化,所述滚动速度的计算如下:如下估算演奏屏幕上显示的每一音乐行所需的时间Tk
其中k从1变化到K,K为屏幕上显示的总行数,其中Mk为行k中的小节数,且M1M2…Mk…MK为从数字乐谱中读取的;
如下计算演奏屏幕上显示的行Mk所需的总时间T:
T = Σ k = 1 K T k
计算每行的平均时间Tav:Tav=T/K;
将所述Tav四舍五入(rounding off)为较低的自然数;根据演奏屏幕上显示的小节所需的所述估算时间Tav以及根据待由所述小节覆盖的所述计算的间隔来计算滚动速度且以所述计算的速度来滚动乐谱;每当刷新屏幕时,便重复所述计算以及调整滚动速度。
在替代的实施例中,所述数字乐谱水平滚动。在这种情形中,优选地,滚动速度的计算如下:每当小节i开始显示在屏幕上时:如下估算演奏该小节所需的时间T:
T小节_i=n_节拍小节_i/拍速
其中“拍速”为数字乐谱中所指示的拍速或者由用户施加的拍速,且n_节拍小节_i为小节号“i”具有的节拍数,所述节拍数从数字乐谱中读取或者由用户施加;从设备获取屏幕长度,从而计算待由所述小节i所覆盖的间隔;从数字乐谱中读取所述小节i的长度;通过将待由所述小节所覆盖的间隔与所述小节的长度的总和除以演奏所述小节所需的所述的估算时间T,来计算滚动速度;以及以所述计算的速度连续滚动乐谱。
在特定的实施例中,所述方法进一步包括以下步骤:在数字乐谱中识别至少一个标记,所述至少一个标记表示一个音乐块的复奏;复制待复奏的所述块;以连接的方式在文件中进行粘贴,粘贴次数和所述至少一个标记所指示的复奏次数一样多,从而允许用户以线性的方式演奏音乐,而无需在数字乐谱中返回。
在特定的实施例中,所述方法能够由正在同时演奏相同乐谱的多个用户来进行,所述数字乐谱显示在每一用户的设备中。
优选地,所述数字乐谱为MusicXML格式。替代地,其为标准MIDI文件(SMF)格式或者MXL格式。
根据本发明的另一方面,提供一种设备。所述设备包括用于执行前述方法的装置。该设备能够是个人数字助理(PDA)、便携式阅读器设备、平板电脑、手机、或者包括存储器、处理器和屏幕或显示屏的任何设备。
根据本发明的最后一方面,提供一种计算机程序产品,包括用于执行前述方法的计算机程序指令/代码。以及提供一种计算机可读存储器/介质,其存储用于执行前述方法的程序指令/代码。
本发明的优点和特征将由以下的详细描述而变得显而易见,且将在所附权利要求书中特别指出。
附图说明
为了完成本说明书以及为了更好地理解本发明,提供一组附图。所述附图形成说明书的完整部分且说明了本发明的实施例,这些附图不应当解释为对本发明范围的限制,而只是作为如何实现本发明的示例。附图包括以下各图:
图1示出了一小节的水平滚动(位移)方案;
图2示出了一小节的垂直滚动方案;
图3示出了完整乐谱的垂直滚动的示例;
图4示出了完整乐谱的水平滚动的示例;
图5A-5D示出了垂直滚动的示例(四序列),其中完全可以理解滚动的连续性;
图6A-6E示出了水平滚动的示例(五序列),其中完全可以理解滚动的连续性;
图7示出了本发明的连续滚动的虚拟表示,其与传统的逐页滚动明显不同。
具体实施方式
在本文中,术语“包括(comprises)”及其派生词(如“包括(comprising)”等)不应当以排除的意义来理解,即,这些术语不应当解释为,排除所描述和所限定的可包括进一步元件、步骤等的可能性。
在本发明的上下文中,术语“约(approximately)”及其同族术语(如“约(approximate)”等)应当理解为表示非常接近跟在前述术语后面的那些值。也就是说,应当接受与精确值的合理范围内的偏差,因为本领域技术人员将理解,由于测量误差等导致的与所示值的此类偏差是不可避免的。对于术语“约(about)”以及“约(around)”以及“基本上(substantially)”也是一样的。
下面的描述并不作为本发明的限制,而仅仅是为了描述本发明的概括原理。参考示出本发明装置和结果的上述附图,通过示例的方式描述本发明接下来的实施例。
本文所述的方法主要设计用于在电子设备上运行,如个人数字助理(PDA)、便携式阅读器设备、平板电脑、含有显示屏的手机、或者包括存储器、处理器和屏幕或显示屏的任何设备。所述方法优选实现为软件应用程序(APP)。同样,所述方法设计为用于在多个此类设备中同时运行,例如,当管弦乐队或者任何其他一组音乐家正在一起演奏时。在该情形中,其中一台设备作为“主设备(master)”工作,而剩余设备与该“主设备”同步。在本上下文中,“同步”意为主设备决定所有剩余设备处于哪个音乐点(例如,某一小节)(尽管那些设备能够在它们各自的屏幕上显示不同音符或不同的音符量)和/或选择待演奏的拍速。
在本发明的上下文中,术语“谱表(system)”和“行(line)”(指的是乐谱)是可互换的。严格来说,音乐行为对应单个乐器的五线谱(stave或staff)(西班牙语为“pentagrama”),同时音乐谱表(西班牙语为“sistema”)包括指相同音乐部分的几行,每一行对应不同的乐器或者钢琴演奏者的双手或者待由使用系统的某些乐器所演奏的音乐。通常,管弦乐队指挥者的乐谱具有谱表,同时每一不同乐器的演奏者的乐谱具有行(五线谱)。
类似地,在本上下文中,术语“乐谱”用于指指挥者所使用的活页乐谱,即同时包含所有音乐家在共同演奏时应当产生的所有声音的活页乐谱(西班牙语为“partitura”),以及演奏一个乐器的单个音乐家的活页乐谱(西班牙语为“particella”;英语为“part”)。
滚动乐谱的传统方法为基于页格式,与传统方法不同,本发明的方法使得能够线性阅读音乐,如音乐真实的情况。纸活页乐谱包括在一页上水平设置的音乐行。在每一行内,存在称为小节(西班牙语为“compases”)的更小单元。小节为通过竖线分隔的音乐结构。其使得更加容易阅读和演奏音乐。一组乐符分隔在竖线内。“小节指示”定义了每一小节中的节拍数。这连同“拍速指示”一起允许计算每一小节的持续时间。在每一小节内,存在通过各种不同符号表示的个体音符。
音乐度量图或者仅音乐图为个体符号,包括表示声音的符号(这些符号称为“音符”)以及表示音乐静止的符号(这些符号称为“休止符(rest)”)。每一符号(音符和休止符)表示小节内的某一时间段(分别为一段声音或一段静止)。
不同音乐图(音符和休止符)的持续时间之间存在某一关系。非穷举音符列表的音符之间的关系如下:1个全音符=2个半音符=4个四分音符=8个八分音符=32个三十二分音符=64个六十四分音符=128个一百二十八分音符=256个二百五十六分音符=512个五百一十二分音符。以及还有:1个长音符=2个二全音符=4个全音符。前一种关系具有带相同持续时间的对应静止符号(休止符)。如已经提到的,这仅仅是通用音符的示例性列表,还存在没有包括在此列表中的其它音符。额外地,存在不规则的图组(称为“连音符”),其中某一图的一组音符的持续时间等同于相同组图减掉一个的持续时间,例如:八分音符的三连音=两个八分音符。
因此,每一传统音符能够分成某一数量的“参考音乐图(reference musicalfigure)”。“参考音乐图”(从现在起也称为“参考图”)能够是任何前述音符(全音符、半音符、四分音符、八分音符等),其被当作沿着乐谱或者部分乐谱的参考。例如,如果将十六分音符当作“参考图”,则全音符由16个参考图组成。然而,如果将四分音符当作“参考图”,则全音符由4个参考图组成。
空小节符号指的是为空的(没有音符)的完整小节,其具有某一节拍数的持续时间(在乐谱中指示或者由指挥者(音乐家)指示)。
拍速通常表示为每分钟的节拍(BPM),其控制音乐行中(或者一般情况下在乐谱中)的乐符所演奏的速度。在数字乐谱中,拍速被定义或者表示为“参考图”以及“值”(尤其是,在音乐语言中,为“参考图=值”),其中“值”表示“参考图”在一分钟内必须演奏的次数。例如,如果将拍速定义为“四分音符=50”BPM,其意味着,在一分钟内,必须演奏50个四分音符(或者任何等效图)。拍速表示在乐谱中且能沿着乐谱变化。拍速还能由指挥者或者演奏者所施加。在传统的纸乐谱中,“拍速”经常使用文本(例如,“快板(allegro)”)来表示。当将传统纸乐谱转换成数字乐谱时,传统用词不被识别,而是将“拍速”表示为上述的“参考图=值”。例如,按照惯例,将“快板”表示为“四分音符=120”BPM。
乐谱必须以数字格式。乐谱以用于表示、理解和/或提供五线谱(musicalnotation)的格式,也就是说,以能够明确获得包括在乐谱中的所有符号的格式。换句话说,该格式必须为五线谱格式,不像其它数字格式,如PDF、TIFF、JPG、BMP、EPS、PostScript或其它。在优选的实施例中,乐谱使用MusicXML格式或者标准MIDI文件(SMF)格式或者MXL格式,这些是表示五线谱的公知格式。例如,MusicXML格式为用于表示五线谱的基于XML的专有格式,但是被完全且公开地记载。MusicXML标准包含如下信息,如标题、作者、小节数、谱表数、乐器数及名称、音符位置及持续时间、以及与纸乐谱所提供的信息大体相同的信息。MusicXML格式是第一种设计用于交换乐谱的格式,尤其在不同乐谱编辑器之间。MIDI(乐器数字接口)是一种描述协议、数字接口以及连接器的技术标准,且允许各种各样的电子乐器、计算机以及其它相关设备彼此连接和通信。MIDI携带指定音符、音高和音速的事件消息、用于如音量、颤音、音频声像、提示等参数的控制信号、以及设置和同步多个设备之间的拍速的时钟信号。这些消息被发送给其它设备,在这些设备处,这些消息控制声音生成和其它特征。该数据还能被记录进称为音序器(sequencer)的硬件或软件设备中,音序器能用于编辑该数据且将其在较后的时间来播放。标准MIDI文件(SMF)是一种为待在其它系统中保存、输送和打开的序列提供一种标准化方法的文件格式。
所述方法实现为在一个或多个前述设备上运行的计算机程序指令/代码。其还需要用于存储乐谱(以数字文件格式)的存储装置。这种存储能够是本地或者分布式的,如在云端。可选地,能够使用附加硬件,如用于免手操作的踏板。
五线谱格式也称为数字格式,其使得能够明确获得包括在乐谱中的所有符号,如MusicXML、标准MIDI文件(SMF)格式或者MXL格式,当已经在本地设备(本地或因特网存储,例如具有受限的访问)打开五线谱中的乐谱时,该乐谱中内容被绘制在屏幕上。该格式优选MusicXML。调整这些内容以适应设备屏幕。从现在起,术语“文件”指的是以数字格式(五线谱格式)的文件,其包括整个乐谱。文件优选加载在设备中且本地存储在该设备的存储器内的缓冲区中。
显示保存在文件中的乐谱的过程如下:首先,读取存储在缓冲区中的文件内容。接着,计算乐谱的总高度,以为了(默认地)显示完整的乐谱。调整宽度以适应显示乐谱的屏幕的宽度。换句话说,默认地,根据需要显示/绘制多个音乐行,以为了沿着屏幕的宽度将乐谱的所有音符显示在屏幕上。然而,出于实际原因,由于只有一定数量的“行”能够显示在屏幕上(为了使用户能够阅读它们),所以启动滚动或者移动功能,详见后文。
一旦读取存储在缓冲区中的文件内容时,便扩展复奏。这意味着,应当演奏不止一次的那些小节(或者一般情况下为音符)根据乐谱中的具体乐符以和标记在乐谱中的复奏次数一样多的次数来连接成一行。对应复奏的注释标记在数字文件中。由于这些标记,算法知道必须扩展哪部分以及扩展多少次(以连接的方式复制)。换句话说,属于块(为复奏而标记的)的小节(或者一般情况下为音符)在放置标记的文件中的该点处被精确复制和粘贴所需的次数。这个过程将缓冲区填充有完全“扩展的”乐谱。在这个过程中,将预缓冲区存储在临时缓冲区中以为了后续使用。由于音乐家习惯于阅读具有复奏及其符号体系的音乐,优选地,只在显示待复奏的音乐部分的时刻将复奏扩展在屏幕上(在乐谱的滚动期间)。否则,音乐集可能无法“识别”该乐谱。因此,当滚动未处于活动状态时,将无扩展的乐谱保存在缓冲区中。当启动滚动时,扩展复奏且将扩展的乐谱存储在另一缓冲区中。最后,根据该缓冲区(扩展的乐谱)的内容,在屏幕上绘制出乐谱。因此,用户能够以线性方式阅读和演绎音乐,无需在数字乐谱中返回。
所述方法的其中一个主要优点在于,其提供了,基于所显示的小节(或者更一般地,音符)和拍速来调整乐谱在屏幕上显示的速度的方式。如所述,音乐为一种非常特殊的“语言”,其中行(或者在一般情况下,传统页的行)的内容具有变化的时间长度。因此,需要根据乐谱内容,尤其是根据屏幕上显示的音乐调整滚动。此外,需要根据不同的“拍速”来调整滚动:根据实际演奏的用户的实时拍速、根据作曲家所建议的(以及乐谱中的注释所表示的)拍速或者甚至当一组音乐家在一起演奏时,根据其中一个音乐家所施加的拍速。如何计算这个速度在下文说明。
一旦绘制,便根据如乐谱中指定的默认拍速来计算滚动的速度。由于乐谱以数字格式(五线谱格式),如MusicXML、标准MIDI文件(SMF)格式或者MXL,所以才能读取或理解默认拍速。替代地,用户能手动设置此拍速(例如,使用他/她的手或者借助踏板)。
能够垂直或者水平滚动乐谱。所述算法使用这样的方式来计算音乐(小节或者音符)应当在屏幕上垂直或者水平移动的速度,即,用户能够对其进行阅读和演绎,从而无中断且以线性的方式来演奏他/她的乐器。换句话说,滚动速度应当是音乐家所需的速度,即,使用传统的方式根据已建立的拍速从左到右阅读音乐行的速度。
拍速以每时间单位的节拍来表示。优选地,拍速以每分钟的节拍数(bpm或者BPM)来表示。应当指出,这等同于将拍速定义为“参考图=值”),因为一般情况下,参考图指一个节拍。
就单个小节而言,速度能够看作是由屏幕上的小节所覆盖的间隔量除以由用户阅读或演绎该小节所需的时间量。类似地,就单个音符而言,速度能够看作是由屏幕上的音符所覆盖的间隔量除以由用户阅读或演绎该音符所需的时间量。图1示出了水平滚动(位移)的方案。图2示出了垂直滚动的方案。在两种情形中,小节起始于位置“0”(图1中的X=0和图2中的Y=0)且在时间T内覆盖某一间隔E。E表示待覆盖的间隔。E分别为屏幕的宽度或长度。将E除以演奏该小节所需的时间T后得到滚动速度。同样的道理适用于(在必要的修正后)考虑字符而非小节的情形。图5A-5D示出了垂直滚动的示例,其中完全可以理解滚动的连续性。在某个时刻,示出了乐谱的两个完整谱表且第三谱表正在开始出现(图5A)。在下一时刻,乐谱已经上移且正在示出更大量的第三谱表(图5B)。在更下一时刻,乐谱已经上移更多且正在接近完整地示出第三谱表(图5C)。最后,在第四时刻,乐谱已经上移更多且现在完整示出第三谱表(图5D)。在下一时刻,新的谱表将开始出现。
下面,以两种不同方式计算速度:第一种,考虑“小节”。第二种,考虑“音符”。
考虑小节的计算
为了计算时间T,必须考虑节拍和拍速。如所述,每小节的节拍数并非固定的“通用”值:尽管乐谱规定了每小节的具体节拍数(使用特定的音乐语言编码表示在乐谱上),但是这能够由用户手动改变。
总而言之,算法读取(扫描)乐谱内容且能够在数字文件(以五线谱格式的文件)内检测每一小节默认具有的节拍数。
再次参考单个小节,通过将一小节的节拍数除以指定的拍速来得到演奏一小节所需的时间T。
T小节=n_节拍小节/拍速
例如,拍速=60意味着每分钟必须有60个节拍。类似地,拍速=120意味着每分钟必须有120个节拍(也就是,每秒两个节拍)。
因此,假设一小节具有例如4个节拍,且拍速为120,则演奏一小节所需的时间(T小节)为4节拍/(120节拍/分钟):
T小节=4节拍/(120节拍/分钟)=1/30分钟=2秒
因此,单个小节在屏幕上移动的速度的计算如下:
首先,从设备得到屏幕的尺寸(长度和宽度)。使用该信息,得到待覆盖的间隔E。
其次,从乐谱文件中得到每小节的节拍数(n_节拍小节)。替代地,这由用户所施加。
接着,获得施加到节拍的拍速。替代地,这由用户所施加。
最后,T小节=n_节拍小节/拍速为该小节覆盖间隔E需要的时间长度。
以及该小节的速度为v小节=E/T小节
前面的公式表示乐谱由单个小节形成的非常具体的情形,或者对于非常具体的可视化比例而言,其中将单个小节显示在屏幕上。整个乐谱(或者,在屏幕上依次显示的部分乐谱)的滚动速度的说明如下。使用垂直或者水平滚动将多个小节显示在显示屏上为典型的情形,如图3和4所示。
首先,将具有数字乐谱(以五线谱格式的乐谱)的文件加载在设备中。如所述,乐谱包括多个小节。接着,将乐谱的至少一个小节显示在屏幕上。如果使用垂直滚动,则通常以对应滚动乐谱的不同行(五线谱(staffs、staves)或者谱表)将多个小节显示在屏幕上。然而,如果使用水平滚动,则通常显示较少的小节,因为屏幕上只有单行(五线谱、谱表)。通过当已经滚动的小节从屏幕中消失时,在屏幕上显示额外的音乐小节,来连续滚动乐谱。显示的小节根据拍速以动态方式沿着该行(五线谱)或者乐谱移动或者行进,直到当它们到达该行的末端(或者一般情况下,到达从与它们先前开始显示的屏幕端部相反的屏幕端部)便消失。如从术语“滚动”直接得出的,小节并非突然“完整”出现在屏幕上,而是连续出现。这意味着,在垂直滚动中,整行开始出现,其中包含在其中的所有小节最初是不完整的,直到同时完成整行。在水平滚动中,当新的小节开始出现时,其是不完整的,当乐谱滚动时,该小节的大小或者长度逐渐增加。
根据显示的小节以及拍速调整滚动速度。该拍速能够选自以下的拍速组:根据实际演奏的用户的实时拍速、根据在数字乐谱中所指示的拍速、或者当一组音乐家在一起演奏时,根据其中一个音乐家所施加的拍速。类似地,节拍(每分钟的节拍数)同样能够选自以下的节拍组:由实际演奏的用户所施加的、根据数字乐谱中指示的节拍、或者当一组用户在一起演奏时,根据其中一个用户所施加的。
在最后一种情形中(一组音乐家),每一演奏者具有一设备,该设备使得能够执行在多台设备的显示屏上滚动乐谱的当前方法。所有这些设备与主设备同步,主设备能够施加拍速到该组设备。
这导致了额外的难度:在音乐行(五线谱、谱表)从下至上滚动的垂直滚动或位移中,在一时刻显示多个行(五线谱、谱表),每一所述行(五线谱、谱表)具有多个小节(每一行(五线谱、谱表)的小节数一般是可变的)。因此,每一行(五线谱、谱表)能够具有不同数量的节拍。换句话说,每一行(五线谱、谱表)的节拍数不是恒定的。
计算每一音乐行(五线谱、谱表)的滚动速度(v)是不可取的,因为这将意味着,行(五线谱、谱表)之间彼此以不同的速度移动(滚动)(考虑一般情形,其中每一行(五线谱、谱表)的节拍数不是恒定的)。这时候乐谱将是难以辨认的。因此,有必要对正在屏幕上显示的行(五线谱、谱表)的滚动速度进行调整。
接下来,对在垂直滚动的情形中的滚动速度的此调整的计算进行说明。
必须获得屏幕上显示的小节数,以便估算阅读/演奏它们所需的时间。在特定的实施例中,估算每一行(五线谱、谱表)的平均小节数,以便估算阅读/演奏它们所需的时间。
根据以下公式估算对在屏幕上同时显示的小节进行演奏所需的时间T:
其中N为在屏幕上显示的小节总数,N为从数字乐谱中读取的,且
T小节=n_节拍小节_i/拍速
其中“拍速”为数字乐谱中所指示的拍速或者用户(或者指挥者)施加的拍速,且n_节拍小节_i为小节号“i”具有的节拍数,所述节拍数从数字乐谱中读取或者由用户(指挥者)施加。
在水平滚动中完成类似的估算。唯一不同的地方在于,在水平滚动中,无需计算阅读几个小节所需的时间。事实上,在水平滚动中,每一小节能够具有不同的速度,因为取决于它们的长度,每一小节可能必须覆盖不同的间隔。稍后对其进行详细说明。
然后,从设备得到屏幕的尺寸(长度和宽度)。因此,能够计算由显示的小节所覆盖的间隔。必须考虑的一点在于,根据屏幕的尺寸以及根据用户施加的比例(后一参数为完全由演奏者控制的参数)来计算适配屏幕的小节数。另一要求是不能将小节分成个两行(五线谱)。不断调整该谱表以对小节进行缩放,使得它们能够以单行的方式在屏幕上示出。
现在,能够根据演奏屏幕上显示的小节所需的估算时间T以及根据待由所述小节覆盖的计算的间隔来计算滚动速度且以所述计算的速度来滚动乐谱:
v=E/T
每当刷新屏幕时,重复该计算以及调整滚动速度。事实上,仅当整行(五线谱、谱表)从屏幕中消失且完整的新行(五线谱、谱表)出现在屏幕上时,才调整速度(当然,除非演奏者或者指挥者从外部施加任何改变)。例如,用户能够通过设备屏幕上的几个拍(tab)或者使用踏板或者发送信号到设备的任何其它系统来改变拍速。发送的两个连续信号之间的时间间隔为用户期望的拍速。类似地,通过对可用菜单选项进行作用,用户能够改变每小节的节拍数。
如已经提到的,在特定的实施例中,估算每一行的平均小节数,以便估算阅读/演奏它们所需的时间。这是可选的,这意味着,用户能够选择对每一行的平均小节数进行计算。在这种情形中,我们需要引入“行(line)”的概念,我们一般用于指五线谱(stave或staff)(“pentagrama”)或谱表(system)(“sistema”)。除了接下来解释的特定例外之外,行对应五线谱。
也就是说,每一行基本具有不同数量的小节数,计算平均的小节数。例如,如果屏幕上有四行,总共具有22个小节,则平均每行的小节数为22/4=5.5小节/每行。在优选的实施例中,这个数能够四舍五入为到较低的数(在该实例中,为5)。换句话说,出于实际的原因,计算显示屏中显示的所有行(谱表)的平均速度。此外,每当有新的谱表(行)显示在屏幕上,便重新计算屏幕上的所有当前行的平均速度,并且自动调整其位移/滚动。计算完速度后,通过改变每一谱表(行)的位置,处理乐谱的向上位移。重复以上步骤,直到将乐谱的最后一行绘制在屏幕上。
因此,设备的屏幕同时显示多个音乐行K。每一行K具有至少一个小节,但是一般情况下能够具有Mk个小节:例如,行1具有M1个小节,行2具有M2个小节,而行K具有MK个小节。一般情况下,每行的小节数可逐行变化(一般情况下,M1≠M2…≠MK)。滚动速度的计算如下:
首先,对屏幕上显示的每一音乐行进行演奏所需的时间Tk的计算如下:
其中k从1变化到K,K为屏幕上显示的总行数,其中Mk为行k中的小节数,且M1M2…Mk…MK为从数字乐谱中读取的。
然后,对屏幕上显示的行Mk进行演奏所需的总时间T计算如下:
T = Σ k = 1 K T k
计算每行的平均时间Tav:Tav=T/K;
可选地,将其四舍五入为到较低的自然数。该选项能够由用户进行选择。
最后,能够根据演奏屏幕上显示的小节所需的估算时间Tav以及根据待由所述小节覆盖的计算的间隔来计算滚动速度。接着以计算的速度来滚动乐谱。
每当刷新或更新屏幕时,即,每当第一行消失且新的一行出现在屏幕底部时,便重复滚动计算和调整。类似于相机的帧,逐个像素或者每隔一定的像素量来高速完成该刷新,这给人连续滚动的总印象。
在替代实施例中,乐谱水平滚动而非垂直滚动。这意味着,只有一行音乐。在这种情形中,计算复杂度基于大体上不同的每一小节的大小(尤其是长度),考虑到它们全部具有相同的节拍数,因此它们的时间长度是相同的。
在该实施例中,通过考虑屏幕上最后显示的小节或者更精确地,考虑屏幕上出现的每一新小节(首先出现该小节的一小片段,当乐谱滚动时,该小节“生长”)来完成滚动速度的计算。
因此每当小节i开始显示在屏幕上时,演奏该小节所需的时间T的估算如下:
T小节=n_节拍小节_i/拍速
其中“拍速”为数字乐谱中所指示的拍速或者用户(或者指挥者)施加的拍速,且n_节拍小节_i为小节号“i”具有的节拍数,所述节拍数从数字乐谱中读取或者由用户或者指挥者施加。
接着,从设备得到屏幕的长度,从而计算待由小节i覆盖的间隔。同样地,从数字乐谱中读取当前小节i的长度。因为文件以数字格式且识别小节开始和结束的标记出现在数字文件中,所以能够完成上述小节长度的读取。
得到待由小节覆盖的间隔与小节长度总和:E=待由小节覆盖的间隔+小节长度。
最后,将总和除以演奏该小节所需的估算时间T。
然后能够以该速度滚动乐谱。
每当刷新屏幕时,便重新计算该速度。尤其是,每当新的小节“i+1”出现在屏幕上时。
考虑音符的计算
如所述,就音符而言,速度能够看作是由屏幕上一个音符所覆盖的间隔量除以由用户阅读或演绎该音符所需的时间量。为了计算时间T,必须考虑拍速。在数字乐谱中,拍速被定义或者表示为“参考图”=“值”,其中“值”表示“参考图”(或者等效图)在一分钟内必须演奏的次数。这意味着,知道拍速和音符,演绎该音符所需的时间量T的计算如下:
T音符=(该音符中的参考图的数量)/拍速值
该时间T音符默认以分钟(与拍速一样)来表示。通过乘以60,T音符以秒表示。
例如,假设将拍速表示为“八分音符=50”且待演奏的音符为全音符,则演绎该全音符所需的时间量T的计算如下:
T全音符=(8八分音符/全音符)/50=0.16分钟=9.6秒
总而言之,算法读取(扫描)乐谱内容且能够在数字文件(以五线谱格式的文件)(如MusicXML或者SMF格式)内检测待演奏的单个音符以及演奏那些音符所需的时间量。
因此,单个音符在屏幕上的移动速度的计算如下:
首先,从设备得到屏幕的尺寸(长度和宽度)。使用该信息,得到待覆盖的间隔E。
其次,计算演绎该音符所需的时间量T(如所述),T音符为该音符覆盖间隔E需要的时间长度。
以及该小节的速度为v音符=E/T音符
前面的公式表示将单个音符显示在屏幕上的非常具体的情形(例如,对于非常具体的可视化比例而言,如用于使视障人士能够阅读音乐)。整个乐谱(或者,在屏幕上依次显示的部分乐谱)的滚动速度的说明如下。如图6A至6E所示,使用垂直或者水平滚动将几个音符显示在显示屏上是一种典型情形,其中完全可以理解滚动的连续性。
首先,将具有数字乐谱(以五线谱格式的乐谱)的文件加载在设备中。如所述,该乐谱包括多个音符。然后,最常见的是,将乐谱的多个音符同时显示在屏幕上。如果使用垂直滚动,则通常对应滚动乐谱将多个音符以不同行(五线谱或谱表)的形式显示在屏幕上。如果使用水平滚动,则将多个音符以单行(五线谱或谱表)的形式显示。通过当已经滚动的小节从屏幕中消失时,在屏幕上显示额外的音符,来连续滚动乐谱,即,逐个像素或者以像素组来连续滚动乐谱。换句话说,音符在屏幕上并非静态的(正如如果使用逐页或者逐个幻灯片将会是静态的那样),而是以由系统根据拍速计算的速度从右至左(在水平滚动中)或者从下至上(在垂直滚动中)连续滚动、移动、行进或者滑动。如从术语“滚动”的定义直接得出的,音符并不突然“完整”出现在屏幕上,而是连续出现。这意味着,在垂直滚动中,整行(谱表、五线谱)开始出现,其中包含在该行中的所有音符最初是不完整的,直到同时完成整行(谱表、五线谱)。换句话说,一谱表(行、五线谱)及其音符逐渐往屏幕上方上升,直到消失在设备的上端。在优选的实施例中,音乐从下至上行进,但是替代地,其能够从上至下行进。在水平滚动中,当新的音符开始出现时,其是不完整的,当乐谱滚动时,该音符的大小或者长度逐渐增加。换句话说,音符在屏幕上从右至左逐渐行进,直到它们逐渐消失在设备的左端。在优选的实施例中,音乐从右至左行进,但是替代地,其能够从左至右行进。
根据显示的音符以及拍速调整滚动速度。该拍速能够选自以下的拍速组:根据实际演奏的用户的实时拍速、根据在数字乐谱中所指示的拍速(参考图=值)或者当一组用户在一起演奏时,根据其中一个用户所施加的拍速。
在最后一种情形中(一组演奏者),每一演奏者具有一设备,该设备使得能够执行在多台设备的显示屏上滚动乐谱的当前方法。所有这些设备与主设备同步,主设备能够施加拍速到该组设备。
这导致了额外的难度:在音乐行(五线谱、谱表)从下至上滚动的垂直滚动或位移中,在一时刻显示多行(五线谱、谱表),每一所述行(五线谱、谱表)具有多个音符(每行的音符数一般是可变的)。因此,每一行(五线谱、谱表)能够具有不同数量的参考图。换句话说,每行(五线谱、谱表)的参考图的数量不是恒定的。
计算每一音乐行的滚动速度(v)是不可取的,因为这将意味着,行之间以彼此不同的速度移动(滚动)(考虑一般情形,其中每行(五线谱、谱表)的参考图的数量不是恒定的)。这时候乐谱将是难以辨认的。因此,有必要调整正在屏幕上显示的行(五线谱、谱表)的滚动速度。
接下来,对滚动速度的这种调整的计算进行说明,该计算适合垂直滚动和水平滚动情形。
必须获取每一时刻在屏幕上显示的音符数,以便估算阅读/演奏它们所需的时间。在垂直滚动的情形中,在特定的实施例中,估算每行(五线谱、谱表)的平均音符数,以便估算阅读/演奏它们所需的时间。
根据以下公式估算对在屏幕上同时显示的音符进行演奏所需的时间T:
其中N为在屏幕上显示的音符总数,N为从数字乐谱中读取的,以及
T音符_i=(该音符中的参考图的数量)/拍速值
其中“拍速”表示“参考图=值”且为数字乐谱中指示的拍速或者由用户(或者由指挥者)所施加的拍速。
在复调乐谱中,例如对于吉他,其中同时演奏不同的音符,那些同时演奏的音符由于例如乐器的性质而非合在一起的(只是因为必须同时演奏它们)。相反,在计算总和T中,考虑一个音符,该音符代表每组同时进行的音符。在优选的实施例中,考虑根据旋律谱线的代表性音符。换句话说,在一般情形中,N为待在屏幕上按顺序演奏的音符的总数。
在水平滚动中完成类似的估算。在该实施例中,通过考虑屏幕上出现的每一新音符(首先出现该音符的小片段,当乐谱滚动时,该音符“生长”)来完成滚动速度的计算。
然后,从设备得到屏幕的尺寸(长度和宽度)。因此,能够计算由显示的音符所覆盖的间隔。必须考虑的一点在于,数根据屏幕的尺寸以及根据用户施加的比例(后一参数为完全由演奏者控制的参数)来计算适配屏幕的音符。另一要求是不能将音符分成两行(五线谱、谱表)。不断调整(缩放)该音符,使得它们能够以单行(五线谱、谱表)的方式在屏幕上示出。
现在,能够根据演奏屏幕上显示的音符所需的估算时间T以及根据待由所述音符覆盖的计算的间隔来计算滚动速度且以所述计算的速度来滚动乐谱:
v=E/T
每当刷新(逐个像素或者以像素组)屏幕时,重复该计算以及调整滚动速度。事实上,在垂直滚动中,仅当整行(五线谱、谱表)从屏幕中消失且完整的新行(五线谱、谱表)出现在屏幕上时,才调整速度(当然,除非演奏者或者指挥者从外部施加任何改变)。例如,用户能够通过设备屏幕上的几个制表键(tab)或者使用踏板或者发送信号到设备的任何其它系统来改变拍速。发送的两个连续信号之间的时间间隔为用户期望的拍速。在水平滚动中,每当新的完整音符首次显示在屏幕上(在屏幕的右侧)时,便重新计算该速度。
如所述,在垂直滚动中,在特定的实施例中,估算每行的平均音符数,以便估算阅读/演奏它们所需的时间。这是可选的且能够由用户进行选择。在这种情形中,我们需要引入“行(line)”的概念,我们一般用于指五线谱(stave或staff)(“pentagrama”)或谱表(system)(“sistema”)。除了接下来说明的特定例外之外,行对应五线谱。
即,由于每一行具有基本不同的音符数,每一音符表示某一数量的参考图,因此能够计算参考图的平均数量(考虑拍速)。例如,如果屏幕上有四行,总共具有40个音符,且尤其具有150个参考图,则平均每行的参考图的平均数量为150/4=37.5参考图/每行。这个数能够四舍五入为到较低的数(在本示例中,为37)或较高的数(在本示例中,为38)。换句话说,出于实际的原因,计算显示屏中显示的所有行(五线谱、谱表)的平均速度。此外,每当有新行(五线谱、谱表)显示在屏幕上,便重新计算屏幕上的所有当前行(五线谱、谱表)的平均速度,并且自动调整其位移/滚动。计算速度后,通过尽可能平稳地(如技术允许般平稳,以便实现精确地移动)改变每一行的位置,处理乐谱的向上位移。重复以上步骤,直到将乐谱的最后一行绘制在屏幕上。
因此,在垂直滚动中,设备的屏幕同时显示多个音乐行K。这些行K中的每一行大体上具有Nk个音符:例如,行1具有N1个音符,行2具有N2个音符,以及行K具有NK个音符。一般情况下,每行的音符数可逐行变化(一般情况下,N1≠N2…≠NK)。滚动速度的计算如下:
首先,对屏幕上显示的每一音乐行进行演奏所需的时间Tk的计算如下:
其中k从1变化到K,K为屏幕上显示的总行数,其中Nk为行k中的音符数,且N1N2…Nk…NK为从数字乐谱中读取的。
然后,对屏幕上显示的行Mk进行演奏所需的总时间T计算如下:
T = Σ k = 1 K T k
计算每行的平均时间Tav:Tav=T/K;
最后,能够根据对屏幕上显示的音符(或者等效的参考图)进行演奏所需的估算时间Tav以及根据待由所述音符覆盖的计算的间隔来计算滚动速度。然后以计算的速度来滚动乐谱。
每当刷新或更新屏幕时,即,每当第一行消失且新的一行出现在屏幕底部时,便重复滚动计算和调整。
得到待由屏幕上显示的音符所覆盖的间隔:E=待由显示的音符所覆盖的间隔。在垂直滚动中,间隔E为屏幕的长度。在水平滚动中,间隔E为屏幕的宽度。
最后,将该间隔E除以对屏幕上的音符进行演奏所需的估算时间T。
然后能够以该速度滚动乐谱。
每当刷新屏幕时,便重新计算该速度。尤其是,每当新的音符“i+1”出现在屏幕上时。
所述方法提供了额外的优点,即消除了乐谱中的“页”的概念,这使得乐谱成为连续串的音乐符号,类似于无限的纸卷,从而允许音乐家能够阅读还未演奏和已经演奏的音符,因此得到更灵活和表现力更强的表演。通过使用数字格式(五线谱格式),如MusicXML或者SMF格式或者MXL,所有的音符以连续和动态的方式在屏幕上绘制,而忘记了“逐页”的组。图7示出了本发明的连续滚动的虚拟表示,其与传统的逐页滚动明显不同。在传统的逐页滚动(或者逐个幻灯片滚动)中,音符或者小节显示在显示屏上特定、静态的位置,直到被新的一页或者幻灯片所更换,与其不同,本发明的滚动方法允许音符或者小节沿着屏幕移动(从下至上或者从右至左)。换句话说,音符绘制在屏幕上的方式和它们在一页上出现的方式相同,但是模拟单张无限的页,该页动态滚动或者不滚动,使得音符或者小节产生物理位移。为了实现这个目的,对设备的屏幕尺寸进行检测。优选地,还检测屏幕的方向。在特定实施例中,还检测不同的可视化模式:通过谱表(行)来分组的或者以单行小节(音符)。
计算音符的大小,且对其进行调整以匹配屏幕尺寸。此外,创建具有所需大小的缓冲区,以便能够对包含在数字文件(以五线谱格式的文件)中的音乐进行线性表示。为了正确可视化乐谱,调整数字文件(如MusicXML、SMF或者MXL)的内容以匹配屏幕宽度。通过调整音符以匹配屏幕宽度,不断对音符进行缩放。然而,总是必须达到的条件在于,必须同时(在某一时刻)在屏幕上示出(绘制)至少一个全小节或者某一数量的音符。
额外地,所述方法能够正在同时演奏相同乐谱的多个用户来执行。在这种情形中,每一用户具有已经描述过的那类设备(至少具有处理器、存储器以及屏幕)中的一台设备,数字乐谱显示在每一用户的设备中。在这种情形中,其中一台设备能够作为主设备工作,这里的意思是,其用户能够施加演奏乐谱时使用的拍速或者节拍。在这种情形中,剩余设备与主设备同步。然而,剩余设备能够根据他们的需要(例如,视觉需要)来缩放屏幕,因此控制他们的设备的滚动速度。
如本文所述,当完成将数字文件加载在设备的一块存储器中时,用户能够与应用程序交互,相对于几个方面来施加他/她的表演。例如,通过从外部施加滚动速度来阅读乐谱,例如但不限于,使用手指触摸屏幕、使用触笔或任何其他设备、或者通过使用脚控制从而允许免手操作的踏板。在特定示例中,一个踏板控制拍速,同时另一个控制自动滚动。踏板还能用于增加/降低滚动速度。有时,需要无线连接,如蓝牙或者wifi。而且,能够在乐谱上进行和分享注释。
当演奏乐器时,优选地,自动滚动(基于数字文件上的注释的选项)是默认开始的,当时在任一时刻,其控制能够从自动控制切换至外部控制(由用户控制)。还能中止自动滚动。而且,能够从外部调整显示比例以适应用户的表演(例如,取决于用户正在演奏的乐器,该乐器可能迫使用户更靠近或者远离屏幕)。当用户选择新的比例值时,便在缓冲区中重新计算乐谱的内容,以将所述内容调整为新大小。随后,将存储在缓冲区中的内容重新绘制在屏幕上。
自动滚动运行的拍速,还能够在不放弃自动滚动的情况下来进行改变(从外部施加)。影响自动滚动速度的乐谱拍速能够以两种方式来改变(由用户):(1)通过选取特定值(经由与设备的接口,如其屏幕或者键盘)或者(2)通过制作周期性律动来对其进行标记。第二种可能性模仿音乐家经常做的,即使用他们的手或者脚来保持节奏。因此,检测第一拍,且等待第二拍。两个连续的拍之间个时间表示选择的拍速。通过使用用户的脚的踏板或者通过任何其他装置能够直接在设备的屏幕上手动制作拍。
通过从外部选择某一值,例如经由与设备的接口,如其屏幕或者键盘,用户(音乐家或者指挥者)还能改变每个小节的节拍数(在数字乐谱中定义的)。
关于乐谱,能够将它们存储在设备本身中(本地)或者因特网中的外部站点(云端)。在后一情形中,用户通常通过识别名称和密码来访问该受限的站点。
软件应用程序还允许用户购买乐谱。优选地,一旦乐谱已经被购买,便将其存储在受特定分类的元数据限制的外部系统中。
另一方面,本发明显然不局限于本文所述的具体实施例,而且涵盖任何本领域技术人员可认为落入如在权利要求书所限定的本发明的一般范围内的任何变形(例如,关于材料、尺寸、元件、配置等的选择)。

Claims (15)

1.一种用于在设备的屏幕上滚动乐谱的方法,包括:
将具有数字乐谱的文件加载在所述设备的一块存储器中,其中所述数字乐谱为用于表示五线谱的数字格式;
将所述乐谱的多个音符显示在屏幕上;
其特征在于,所述方法进一步包括:
通过移动在屏幕上显示的音符,以这样的方式连续滚动所述乐谱:当已经滚动的音符开始从屏幕中逐渐消失时,额外的音符开始逐渐出现在屏幕上;
根据显示的音符以及拍速,调整滚动速度,其中所述拍速包括参考音乐图以及一值,能够相对于所述参考音乐图来表示所述显示的音符,所述值表示每时间单位的待演奏的参考音乐图的数量。
2.根据权利要求1所述的方法,其中所述滚动速度的计算如下:
根据以下公式,估算对某一时刻显示在屏幕上的音符进行演奏所需的时间T:
其中N为待按顺序演奏的显示在屏幕的字符的总数,N为从数字乐谱中读取的,且
T音符_i=(音符_i中的参考音乐图的数量)/拍速值
从设备获取屏幕尺寸,从而计算待由那些显示的音符所覆盖的间隔;
根据演奏显示的音符所需的所述估算时间T以及根据待由所述音符所覆盖的所述计算的间隔,计算滚动速度,并且以所述计算的速度来连续滚动音符;
每当至少一个新的音符出现在屏幕上时,便重复所述计算并且调整滚动速度。
3.根据任一前述权利要求所述的方法,其中所述数字乐谱垂直或水平滚动,其中当使用垂直滚动时,在屏幕上从下至上移动显示的音符,以及其中当使用水平滚动时,在屏幕上从右至左移动显示的音符。
4.根据任一前述权利要求所述的方法,其中所述拍速选自以下拍速组:根据实际演奏的用户的实时拍速、根据数字乐谱中指示的拍速、或者当一组用户正在一起演奏时,根据其中一个用户所施加的拍速。
5.一种用于在设备的屏幕上滚动乐谱的方法,包括:
将具有数字乐谱的文件加载在所述设备的一块存储器中,所述乐谱包括多个小节;
将所述乐谱的至少一个小节显示在屏幕上;
其特征在于,所述方法进一步包括:
当已经滚动的小节从屏幕中消失时通过将额外的音乐小节显示在屏幕上来连续滚动乐谱;
根据显示的小节、拍速以及每小节的节拍数,调整滚动速度,所述拍速选自以下的拍速组:根据实际演奏的用户的实时拍速、根据数字乐谱中所指示的拍速、或者当一组用户正在一起演奏时,根据其中一个用户所施加的拍速;以及所述每小节的节拍数选自以下组:根据实际演奏的用户所施加的每小节的节拍数、根据数字乐谱中所指示的每小节的节拍数、或者当一组用户正在一起演奏时,根据其中一个用户所施加的每小节的节拍数。
6.根据权利要求5所述的方法,其中所述数字乐谱垂直滚动,所述滚动速度的计算如下:
根据以下公式,估算演奏所述至少一个小节所需的时间T:
其中N为在屏幕上显示的小节总数,N为从数字乐谱中读取的,且
T小节=n_节拍小节_i/拍速
其中“拍速”为数字乐谱中所指示的拍速或者由用户施加的拍速,且n_节拍小节_i为小节号“i”具有的节拍数,所述节拍数从数字乐谱中读取或者由用户施加;
从设备获取屏幕尺寸,从而计算待由所述至少一个小节所覆盖的间隔;
根据演奏屏幕上显示的小节所需的所述估算时间T以及根据待由所述小节覆盖的所述计算的间隔来计算滚动速度且以所述计算的速度来滚动乐谱;
每当刷新屏幕时,便重复所述计算以及调整滚动速度。
7.根据权利要求6所述的方法,其中将多个音乐行K显示在屏幕上,每一所述行具有至少一个小节Mk,所述每行的小节数能够逐行变化,所述滚动速度的计算如下:
如下估算演奏屏幕上显示的每一音乐行所需的时间Tk:
其中k从1变化到K,K为屏幕上显示的总行数,其中Mk为行k中的小节数,且M1M2…Mk…MK为从数字乐谱中读取;
如下计算演奏屏幕上显示的行Mk所需的总时间T:
T = Σ k = 1 K T k
计算每行的平均时间Tav:Tav=T/K;
将所述Tav四舍五入为较低的自然数;
根据演奏屏幕上显示的小节所需的所述估算时间Tav以及根据待由所述小节覆盖的所述计算的间隔来计算滚动速度且以所述计算的速度来滚动乐谱;
每当刷新屏幕时,便重复所述计算以及调整滚动速度。
8.根据权利要求5所述的方法,其中所述数字乐谱水平滚动,所述滚动速度的计算如下:
每当小节i开始显示在屏幕上时:
如下估算演奏所述小节所需的时间T:
T小节_i=n_节拍小节_i/拍速
其中“拍速”为数字乐谱中所指示的拍速或者由用户施加的拍速,且n_节拍小节_i为小节号“i”具有的节拍数,所述节拍数从数字乐谱中读取或者由用户施加;
从设备获取屏幕长度,从而计算待由所述小节i所覆盖的间隔;
从数字乐谱中读取所述小节i的长度;
通过将待由所述小节所覆盖的间隔与所述小节的长度的总和除以演奏所述小节所需的所述的估算时间T,来计算滚动速度;
以及以所述计算的速度连续滚动乐谱。
9.根据任一前述权利要求所述的方法,进一步包括以下步骤:
在数字乐谱中识别至少一个标记,所述至少一个标记表示一个音乐块的复奏;
复制待复奏的所述块;
以连接的方式在文件中进行粘贴,粘贴次数和所述至少一个标记所指示的复奏次数一样多,从而允许用户以线性的方式演奏音乐,而无需在数字乐谱中返回。
10.根据任一前述权利要求所述的方法,所述方法能够由正在同时演奏相同乐谱的多个用户来进行,所述数字乐谱显示在每一用户的设备中。
11.根据任一前述权利要求所述的方法,其中所述数字乐谱为MusicXML格式。
12.根据权利要求1-10中任一项所述的方法,其中所述数字乐谱为标准MIDI文件(SMF)格式或者以MXL格式。
13.一种设备,包括用于执行根据任一前述权利要求所述的方法的装置,所述设备为个人数字助理(PDA)、便携式阅读器设备、平板电脑、手机或者包括存储器、处理器以及屏幕或者显示屏的任何设备。
14.一种计算机程序产品,包括用于执行根据权利要求1-12中任一项所述的方法的计算机程序指令/代码。
15.一种计算机可读存储器/介质,其存储用于执行根据权利要求1-13中任一项所述的方法的程序指令/代码。
CN201580018342.9A 2014-03-12 2015-03-12 用于滚动乐谱的方法、设备以及计算机程序产品 Active CN106133824B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP14382089.2 2014-03-12
EP14382089.2A EP2919228B1 (en) 2014-03-12 2014-03-12 Method, device and computer program for scrolling a musical score.
PCT/EP2015/055222 WO2015136051A1 (en) 2014-03-12 2015-03-12 Method, device and computer program product for scrolling a musical score

Publications (2)

Publication Number Publication Date
CN106133824A true CN106133824A (zh) 2016-11-16
CN106133824B CN106133824B (zh) 2020-01-07

Family

ID=50397084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580018342.9A Active CN106133824B (zh) 2014-03-12 2015-03-12 用于滚动乐谱的方法、设备以及计算机程序产品

Country Status (6)

Country Link
US (1) US10102834B2 (zh)
EP (2) EP2919228B1 (zh)
CN (1) CN106133824B (zh)
ES (2) ES2609444T3 (zh)
RU (1) RU2684665C2 (zh)
WO (1) WO2015136051A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110929471A (zh) * 2018-09-18 2020-03-27 深圳市鸿合创新信息技术有限责任公司 一种展示富文本的方法及终端、电子设备
CN111179687A (zh) * 2019-11-29 2020-05-19 武汉卓讯互动信息科技有限公司 一种基于MusicXML的音乐教学方法和装置
CN111554250A (zh) * 2020-04-26 2020-08-18 苏州缪斯谈谈科技有限公司 自动翻谱方法、系统、电子设备和计算机可读存储介质
CN111976329A (zh) * 2020-08-31 2020-11-24 深圳市月白电子科技有限公司 一种乐器弹奏中的五线谱自动跟随方法及自动跟踪系统

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2609444T3 (es) * 2014-03-12 2017-04-20 Newmusicnow, S.L. Método, dispositivo y programa informático para desplazar una partitura musical
JP6467887B2 (ja) 2014-11-21 2019-02-13 ヤマハ株式会社 情報提供装置および情報提供方法
JP6801225B2 (ja) 2016-05-18 2020-12-16 ヤマハ株式会社 自動演奏システムおよび自動演奏方法
US10665124B2 (en) * 2017-03-25 2020-05-26 James Wen System and method for linearizing musical scores
JP7197263B2 (ja) * 2017-10-18 2022-12-27 ヤマハ株式会社 画像解析方法およびプログラム
EP3579223B1 (en) 2018-06-04 2021-01-13 NewMusicNow, S.L. Method, device and computer program product for scrolling a musical score
US11030914B2 (en) * 2019-08-23 2021-06-08 Hossein Zamanian Learning device and method
US10885891B2 (en) * 2020-01-23 2021-01-05 Pallavi Ekaa Desai System, method and apparatus for directing a presentation of a musical score via artificial intelligence
EP4145438A1 (en) * 2021-09-01 2023-03-08 Yousician Oy Automatic music document displaying on performing music
US11749238B1 (en) * 2022-12-12 2023-09-05 Muse Cy Limited Context based tab autoscrolling

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2279493A (en) * 1993-06-26 1995-01-04 Michael David Salter Electronic music book
JPH08305356A (ja) * 1995-04-27 1996-11-22 Yamaha Corp 音楽的アミューズメントシステム
JP2002169540A (ja) * 2000-12-05 2002-06-14 Casio Comput Co Ltd 楽譜表示装置、及び記録媒体
CN101800045A (zh) * 2010-01-21 2010-08-11 冷明 一种乐谱显示及演奏电子装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3403591A (en) * 1965-07-26 1968-10-01 Dorothea M. Weitzner Electrically operated music cuing system
US7098392B2 (en) * 1996-07-10 2006-08-29 Sitrick David H Electronic image visualization system and communication methodologies
US7074999B2 (en) * 1996-07-10 2006-07-11 Sitrick David H Electronic image visualization system and management and communication methodologies
US5894100A (en) * 1997-01-10 1999-04-13 Roland Corporation Electronic musical instrument
US20010037719A1 (en) * 2000-05-03 2001-11-08 Gardner Gary L. Digital sheet music display system
US6740802B1 (en) * 2000-09-06 2004-05-25 Bernard H. Browne, Jr. Instant musician, recording artist and composer
JP3724376B2 (ja) * 2001-02-28 2005-12-07 ヤマハ株式会社 楽譜表示制御装置及び方法並びに記憶媒体
US20030189582A1 (en) * 2002-04-09 2003-10-09 Maria Pinsky Computerized musical score systems and methods
TWI229845B (en) * 2003-10-15 2005-03-21 Sunplus Technology Co Ltd Electronic musical score apparatus
US7649134B2 (en) * 2003-12-18 2010-01-19 Seiji Kashioka Method for displaying music score by using computer
US7579541B2 (en) * 2006-12-28 2009-08-25 Texas Instruments Incorporated Automatic page sequencing and other feedback action based on analysis of audio performance data
US20080196575A1 (en) * 2007-02-16 2008-08-21 Recordare Llc Process for creating and viewing digital sheet music on a media device
JP2009230006A (ja) * 2008-03-25 2009-10-08 Yamaha Corp 演奏情報表示装置およびプログラム
US7482529B1 (en) * 2008-04-09 2009-01-27 International Business Machines Corporation Self-adjusting music scrolling system
US7893337B2 (en) * 2009-06-10 2011-02-22 Evan Lenz System and method for learning music in a computer game
US8530735B2 (en) 2009-12-04 2013-09-10 Stephen Maebius System for displaying and scrolling musical notes
US8445766B2 (en) * 2010-02-25 2013-05-21 Qualcomm Incorporated Electronic display of sheet music
US8338684B2 (en) * 2010-04-23 2012-12-25 Apple Inc. Musical instruction and assessment systems
US8440898B2 (en) * 2010-05-12 2013-05-14 Knowledgerocks Limited Automatic positioning of music notation
WO2013111293A1 (ja) * 2012-01-26 2013-08-01 キャスティングメディア株式会社 音楽支援装置および音楽支援システム
KR20140009699A (ko) * 2012-07-12 2014-01-23 도정인 스마트 디바이스 기반의 전자 악보 표시 장치 및 방법
JP5920266B2 (ja) * 2013-03-25 2016-05-18 カシオ計算機株式会社 楽譜演奏装置、楽譜演奏方法及びプログラム
ES2609444T3 (es) * 2014-03-12 2017-04-20 Newmusicnow, S.L. Método, dispositivo y programa informático para desplazar una partitura musical
FR3022051B1 (fr) * 2014-06-10 2016-07-15 Weezic Procede de suivi d'une partition musicale et procede de modelisation associe
US9747876B1 (en) * 2015-07-28 2017-08-29 Amazon Technologies, Inc. Adaptive layout of sheet music in coordination with detected audio
US10008190B1 (en) * 2016-12-15 2018-06-26 Michael John Elson Network musical instrument

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2279493A (en) * 1993-06-26 1995-01-04 Michael David Salter Electronic music book
JPH08305356A (ja) * 1995-04-27 1996-11-22 Yamaha Corp 音楽的アミューズメントシステム
JP2002169540A (ja) * 2000-12-05 2002-06-14 Casio Comput Co Ltd 楽譜表示装置、及び記録媒体
CN101800045A (zh) * 2010-01-21 2010-08-11 冷明 一种乐谱显示及演奏电子装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110929471A (zh) * 2018-09-18 2020-03-27 深圳市鸿合创新信息技术有限责任公司 一种展示富文本的方法及终端、电子设备
CN111179687A (zh) * 2019-11-29 2020-05-19 武汉卓讯互动信息科技有限公司 一种基于MusicXML的音乐教学方法和装置
CN111554250A (zh) * 2020-04-26 2020-08-18 苏州缪斯谈谈科技有限公司 自动翻谱方法、系统、电子设备和计算机可读存储介质
CN111976329A (zh) * 2020-08-31 2020-11-24 深圳市月白电子科技有限公司 一种乐器弹奏中的五线谱自动跟随方法及自动跟踪系统
CN111976329B (zh) * 2020-08-31 2022-06-21 深圳市月白电子科技有限公司 一种乐器弹奏中的五线谱自动跟随方法及自动跟踪系统

Also Published As

Publication number Publication date
ES2741623T3 (es) 2020-02-11
ES2609444T3 (es) 2017-04-20
CN106133824B (zh) 2020-01-07
RU2016136206A (ru) 2018-03-15
EP2919228B1 (en) 2016-10-19
EP3117427A1 (en) 2017-01-18
RU2016136206A3 (zh) 2018-09-13
RU2684665C2 (ru) 2019-04-11
US20170018262A1 (en) 2017-01-19
EP2919228A1 (en) 2015-09-16
EP3117427B1 (en) 2019-05-22
US10102834B2 (en) 2018-10-16
WO2015136051A1 (en) 2015-09-17

Similar Documents

Publication Publication Date Title
CN106133824A (zh) 用于滚动乐谱的方法、设备以及计算机程序产品
US8907195B1 (en) Method and apparatus for musical training
JP6724879B2 (ja) 再生制御方法、再生制御装置およびプログラム
JP6399091B2 (ja) 文字に基づく音声生成のためのコントローラ及びシステム
US20140366709A1 (en) Recording audio in association with display content
Arfib et al. Expressiveness and digital musical instrument design
JP2009522614A (ja) テキスト編集と楽譜再生の方法およびシステム
WO2016060254A1 (ja) 音楽演奏支援装置及び方法
JP5549521B2 (ja) 音声合成装置およびプログラム
WO2017125006A1 (zh) 一种电声乐器节奏可控的方法及其对卡拉ok的改进
US7479595B2 (en) Method and system for processing music on a computer device
JP6589356B2 (ja) 表示制御装置、電子楽器およびプログラム
JP5935815B2 (ja) 音声合成装置およびプログラム
JP3998461B2 (ja) 演奏練習装置、演奏練習方法、プログラム及び記録媒体
JPH1039739A (ja) 演奏再現装置
TW200926085A (en) Intelligent conversion method with system for Chinese and the international phonetic alphabet (IPA)
JP6149917B2 (ja) 音声合成装置および音声合成方法
JP6862667B2 (ja) 楽譜表示制御装置及びプログラム
JP7219559B2 (ja) 楽器演奏練習装置及び楽器演奏練習用プログラム
JP3182283U (ja) 電子書籍における音声再生方法
JP2004302285A (ja) 情報出力装置、情報出力プログラム
WO2023153033A1 (ja) 情報処理方法、プログラム、および情報処理装置
JPH065455B2 (ja) 歌唱指導装置
JP7107720B2 (ja) 運指表示プログラム
CN108847207B (zh) 交互智能设备及其编曲方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant