一种可用于转换昆曲工尺谱的简谱编码方式转让专利

申请号 : CN202010203831.4

文献号 : CN111274771A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨柳

申请人 : 上海墩庐生物医学科技有限公司

摘要 :

本发明涉及一种可用于转换昆曲工尺谱的简谱编码方式,以及结构化的工尺谱转换本简谱编码的机器翻译算法,其特征在于对于每个音符,包括至少三个编码区段,即音高区段、音长区段和装饰音区段,对于每一个唱词单字,采用逐个具体简谱音符三个编码区依次重复方式编录。软件自动翻译的特征在于,工尺谱结构化为音高区段编码、腔格区段编码和板眼区段编码后,执行映射和转换,其核心运算为音长的计算,其核心算法包括:音高直接采用一一对应方式映射,即工尺的音高,直接映射简谱的音高,工尺腔格的转换采用装饰音转换算法,音长的转换算法依赖定位器变量、当前工尺的板眼标记个数、当前工尺之后连续出现无板眼编码的工尺的个数变量等三个变量参数计算获得,或将定位器变量处以4取余数的新变量、当前工尺的板眼标记个数、当前工尺之后连续出现无板眼编码的工尺的个数变量等三个变量参数计算获得。

权利要求 :

1.一种简谱的计算机编码方式,其特征在于对于每个音符,包括至少三个编码区段,即音高区段、音长区段和装饰音区段。

2.根据权利要求1所述的编码方式,其特征在于,目的或用途之一在于可通过机器自动翻译传统昆曲工尺谱转换为当前简谱编码,对于每一个唱词单字,采用逐个具体简谱音符三个编码区依次重复方式编录。

3.根据权利要求1所述的编码方式,音高区段至少1位,优选为1位,编码音域范围至少从低音3到高音3(15个值),最大音域范围不超过低音1到高音7(21个值),优选音域范围从低音1到高音3(17个音高),优选编码17个音高加上休止符,共18个可选项;音高区段至少1位,优选为1位,对应音长为,将昆曲最常规的一板三眼每小节4拍形式的一小节,划分为16段,每段0.25拍,音长共16个选项,即1个单位到16个单位,对应0.25拍到4拍;优选通过16进制编码形式记录,编码1-16数值;装饰音区段至少为1位,优选为1位,装饰音的音高选择范围与音高区编码选择范围完全相同,优选个数为17个音高,算上空值(无装饰音),装饰音的总共可选项与正常音高区编码相同,即优选范围为18个。

4.一种简谱编码方式用于翻译工尺谱的算法,其特征在于,工尺谱结构化为音高区段编码、腔格区段编码和板眼区段编码后,执行映射和转换,其核心运算为音长的计算,其核心算法包括:音高直接采用一一对应方式映射,即工尺的音高,直接映射简谱的音高,工尺腔格的转换采用装饰音转换算法,音长的转换算法依赖定位器变量、当前工尺的板眼标记个数、当前工尺之后连续出现无板眼编码的工尺的个数变量等三个变量参数计算获得,或将定位器变量处以4取余数的新变量、当前工尺的板眼标记个数、当前工尺之后连续出现无板眼编码的工尺的个数变量等三个变量参数计算获得。

5.根据权利要求4所述的算法,其特征为,首先包括如下变量:定位器(以字母P表示)为

16进制变量,最末一位为每小节的位置,最末一位之前的若干位为所处小节数,每拍位置变量Y通过以下计算公式获得,Y=P%4,即Y为P的除以4取余数运算,取余后对应定位器位于每拍的起始(Y=0)、0.25拍(Y=1)、0.5拍(Y=2)抑或0.75拍(Y=3);当前工尺的板眼标记个数变量(以字母N表示),即在昆曲工尺谱中一个工尺右侧的板眼标记的总数;当前工尺之后连续出现板眼编码完全空(无板眼标记)的工尺的个数变量(以字母K表示);音长结果(以字母L表示)取值范围为1-16;计算L采用的代表性公式为:L = 4 + 4*N + (Y=2 问号 1 : 0)*(K=1 问号 1 : 0)*(N=0 问号 1 : 0) - (K>2 问号 1 : 0) - (Y=0 问号 4 : 0) - (K>0 问号 2 : 0) – Y,其中,为阐述算法逻辑,运算公式的括号内采用JAVA语法的三目运算符表示,即判断问号前面的真假,为真,取值冒号之前的值,如为假,取值冒号之后的值;计算公式如使用其他编程语言或程序工具,则算法逻辑与之相同或等价;为实现其算法逻辑采用的计算方式包含且不限于各类编程语言、脚本、计算软件或程序、网络接口、硬件计算接口等。

6.根据权利要求4所述的算法,其特征为,装饰音转换算法,包含豁腔的运算,且其运算方法为:包含当前音高变量(记为H),连续递增音高编码的第一个值或最小值(以a表示),装饰音音高变量(记为Z),装饰音计算公式为Z = H + 1 + ((H-a-2)%7=0 问号 1 : 0) + ((H-a-5)%7=0 问号 1 : 0),其中,为阐述算法逻辑,运算公式的括号内采用JAVA语法的三目运算符表示,即判断问号前面的真假,为真,取值冒号之前的值,如为假,取值冒号之后的值;百分比符号为取余符号;计算公式如使用其他编程语言或程序工具,则算法逻辑与之相同或等价;为实现其算法逻辑采用的计算方式包含且不限于各类编程语言、脚本、计算软件或程序、网络接口、硬件计算接口等。

说明书 :

一种可用于转换昆曲工尺谱的简谱编码方式

技术领域

[0001] 本发明涉及一种数据记录编码方式,尤其涉及一种可用于转换昆曲工尺谱的简谱编码方式。

背景技术

[0002] 昆曲是我国传统的戏曲艺术遗传,其音乐形式一般采用中国特有的工尺谱方式进行音乐记谱,该记谱方式由于过于古老,当代许多音乐爱好者无法阅读,同时,由于工尺谱的记谱方式,思路与简谱迥然不同,因此,时至今日也没有比较快捷方便的一一对应的自动翻译方法,只能通过内行从业者进行人工翻译。为填补传统工尺谱无法直接机器自动翻译为简谱的技术空白,本发明专利提供一种可用于对应简谱转换翻译的简谱编码方式,具有编码信息精简经济、冗余信息少、覆盖面全、针对性强(针对昆曲),并且利用本专利提供的算法,可以用于机器自动将相应的工尺谱翻译成简谱。

发明内容

[0003] 本发明的目的在于提供一种可用于转换昆曲工尺谱的简谱编码方式,并提供相应转换翻译的算法。
[0004] 为实现上述目的,本发明采用的技术方案如下。
[0005] 本发明的简谱编码,对于音符,包括至少三个编码区段,即音高区段、音长区段和装饰音区段;对于每一个唱词单字,采用逐个具体简谱音符三个编码区依次重复方式编录,以音高区段、音长区段和装饰音区段依次为第一编码区段、第二编码区段和第三编码区段为例,即,某单字的简谱编码如下:【第一音符的音高区段】【第一音符的音长区段】【第一音符的装饰音区段】【第二音符的音高区段】【第二音符的音长区段】【第二音符的装饰音区段】……依次类推,直到该单字的音符结束。
[0006] 进一步地,所述编码方式中,音高区段至少1位,优选为1位,采用字母(a-t或A-T)方式编码,编码音域范围至少从低音3到高音3(15个值),最大音域范围不超过低音1到高音7(21个值),优选音域范围从低音1到高音3,即优选17个音高,采用字母从a到q编码;此外,休止符(无音高)采用0编码。优选编码17个音高,加上休止符,共18个可选项。
[0007] 进一步,所述编码方式中,音高区段至少1位,优选为1位,对应音长为,将昆曲最常规的一板三眼每小节4拍形式的一小节,划分为16段,每段0.25拍,音长共16个选项,即1个单位到16个单位,对应0.25拍到4拍;优选通过16进制编码形式记录,即1-9之后A-F,编码1-16的值。
[0008] 进一步,所述编码方式中,装饰音区段至少为1位,优选为1位。装饰音解码后表现形式主要为音符的上标,更具体为音符结束后右上角的上标,主要应用于昆曲豁腔的装饰音,实际演唱中音长约为0.25拍,书写并不写成实质音的0.25拍,而写成主音后的装饰性上标。装饰音的编码与音高区编码相同,可采用相同字母,也可以采用转换大小写的方式,即,假如常规音高编码位小写,将中音1编码位h,则装饰音的中音1采用大写H形式表示,以区别于正常音高。不算休止符时,装饰音的选择范围与正常音高区编码选择范围完全相同——即,当采用最小范围15个选项编码正常音高时,装饰音的编码选项范围也为15个音高,当采用最全范围21个选项时,装饰音的编码选项范围也为21个音高,当采用优选范围17个选项时,装饰音的编码选项范围17个音高。在没有装饰音时,对于静态位数的编码方式中,默认空值用0表示。算上空值,装饰音的总共可选项与正常音高区编码相同,即优选范围为18个。
[0009] 以上优选编码方式的静态位数为3位,第一位18个值,第二位16个值,第三位18个值。
[0010] 所述简谱编码,即工尺谱结构化为音高区段编码、腔格区段编码和板眼区段编码后,执行映射和转换。在自动翻译转换工尺谱为简谱时的核心难点为音长的计算,除此以外,核心必备算法包括:音高直接采用一一对应方式映射,即工尺的音高,直接映射简谱的音高,工尺腔格的转换采用装饰音转换算法,音长的转换是本发明专利翻译的关键,算法核心采用定位器变量、当前工尺的板眼标记个数、当前工尺之后连续出现无板眼编码的工尺的个数变量等三个变量参数计算获得,具体如下。
[0011] 首先定义如下变量。
[0012] 定位器(以字母P表示),P为16进制变量,最末一位为每小节的位置,最末一位之前的若干位为所处小节数。
[0013] 每拍位置变量Y,Y=P%4,Y为P的除以4取余数运算,即定位器位于每拍的起始(Y=0)、0.25拍(Y=1)、0.5拍(Y=2)抑或0.75拍(Y=3)。
[0014] 当前工尺的板眼标记个数N,即在昆曲工尺谱中一个工尺右侧的板眼标记的总数。
[0015] 当前工尺之后连续出现板眼编码完全空(无板眼标记)的工尺的个数变量K,本编码系统中(亦是昆曲常规传统规律中),K为整数,最小为0,最,大为3。
[0016] 音长结果L,即当前音符运算得出的音长编码值,最低为1(0.25拍),最高为16(4拍)。
[0017] 已知Y、N和K三个变量后,计算L采用的公式为:L = 4 + 4*N + (Y=2 问号 1 : 0)*(K=1 问号 1 : 0)*(N=0 问号 1 : 0) - (K>2 问号 1 : 0) - (Y=0 问号 4 : 0) - (K>0 问号 2 : 0) – Y
其中,括号内采用JAVA语法的三目运算符表示,即判断问号前面的真假,如为真,取值冒号之前的值,如为假,取值冒号之后的值。以上JAVA语法仅为说明阐释使用,如使用其他编程语言亦可,算法逻辑相同。以上公式亦可写作其他等价形式,如(Y=0 问号 4 : 0)也可写作4*(Y=0 问号 1 : 0),实质相同。
[0018] 装饰音转换算法,主要为豁腔的表示,算法如下。
[0019] 以当前音高变量记为H,如采用小写字母a-t编码音高,装饰音音高变量记为Z。计算公式为Z = H + 1 + ((H-a-2)%7=0 问号 1 : 0) + ((H-a-5)%7=0 问号 1 : 0)同样,括号内采用JAVA语法的三目运算符表示,百分比符号为取余符号,即豁腔装饰音音高等于当期音高加1,在加上如当前音为3(无论低中高)则再加1,再加上如当前音为6(无论低中高)则再加1。通过H-a-2的计算结果是否可被7整除,判断当前音是否为低中高3音,通过H-a-5的计算结果是否可被7整除,判断当前音是否为低中高6音。以上JAVA语法仅为说明阐释使用,如使用其他编程语言亦可,算法逻辑相同。具体实施例
[0020] 以下对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,重点在于阐述本编码方式和算法的呈现和计算及编程逻辑,并不用于限定本发明。
[0021] 实施例1,举例一个简谱编码。采用优选17个音高,字母从a到q编码音高,以下三位编码:h80,即为简谱中的“2 –”,也就是2连续2拍。当定位器P的末位编码位0时,则为工尺谱的板上起“尺”两拍,也就是“尺”的右上角一个顿号点(板符号)加上顿号点下面一个横折符号(侧小眼符号)。
[0022] 实施例2,举例一个用JAVA语法计算音长L的算法公式实例。当Y=0,N=1,K=1,则表示该音符从拍头上起,工尺中包含一个板眼符号,那么必然为当前拍头上起的板眼符号,且无更多板眼符号,则当前音符小于1拍,且后续无板眼编码标记的工尺为1,则必定当前工尺的长度和后一个工尺的长度平分一拍,翻译成简谱通俗写法为各占0.5拍(具体演唱可自由发挥,不完全按照记谱的0.5拍,但实际通俗简谱记谱法为各0.5拍)。0.5拍对应音长为2。利用公式计算,带入Y=0,N=1,K=1,L = 4 + 4*N + (Y=2 问号 1 : 0)*(K=1 问号 1 : 0)*(N=0 问号 1 : 0) - (K>2 问号 1 : 0) - (Y=0 问号 4 : 0) - (K>0 问号 2 : 0) – Y = L=4+4+0-0-4-2-0=2。运算结果与昆曲工尺推导相符。
[0023] 实施例3,举例一个用Excel计算音长L的算法公式实例。当用单元格A1表示定位器P除4的余数(实施例2中的Y),单元格B1表示当前工尺的板眼标记个数(实施例2中的N),单元格C1表示当前工尺之后连续出现板眼编码完全空(无板眼标记)的工尺的个数(实施例2中的K)。利用单元格D1计算音长,相应计算函数为“=4+4*B1+ IF(A1=2,1,0)*IF(C1=1,1,0)*IF(B1=0,1,0)-IF(C1>2,1,0)-IF(A1=0,4,0)-IF(C1>0,2,0)-A1”(引号内的内容,不包含引号)。同样以实施例2的取值为例,A1=0,B1=1,C1=1,则D1=4+4+0-0-4-2-0=2,计算结果正确。