一种古琴减字符的数字化、动态生成方法转让专利

申请号 : CN202111303569.1

文献号 : CN113988006B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘雪锋刘星星

申请人 : 合肥若叶无间网络科技有限公司

摘要 :

本发明公开了一种古琴减字符的数字化、动态生成方法,涉及计算机信息处理技术领域。本发明包括如下步骤:创建包括组成减字符所有属性的减字数据结构;整理减字所用到的减字笔画部件;根据数据结构属性值及笔画部件,动态展示减字符;减字数据结构所包含的减字符属性包括左手指法、徽位、右手指法、弦序和标记位属性,将所有属性包含在程序定义的数据结构中;对整理出减字符需要用到的所有减字笔画进行编码,每个笔画部件包含一些不同的属性。本发明避免了建立一套大而全的字库,而是使用数字化的方式描述减字的组成属性和属性的值,有选择的根据数字化的琴谱内容而展示所需要的减字即可,占用空间将会非常小,但能显示的减字却很多。

权利要求 :

1.一种古琴减字符的数字化、动态生成方法,其特征在于,包括如下步骤:S01、创建包括组成减字符所有属性的减字数据结构;所述减字数据结构所包含的减字符属性包括左手指法、徽位、右手指法、弦序和标记位属性,将所有属性包含在程序定义的数据结构中;

S02、整理减字所用到的减字笔画部件;

S03、根据数据结构属性值及笔画部件,动态展示减字符;通过建立一套动态的显示生成规则,基于不同属性不同的值及控件的位置大小因素,动态渲染减字;

所述动态渲染减字具体是通过如下步骤进行的:

P01、定义减字数据结构中每种属性的特征点、显示位置、组合方式,通过属性值选取笔画部件,计算坐标后进行渲染;

P02、根据字体组合部件缩放系数,对同一属性值选取不同粗细的笔画部件,使整体更为美观的显示,得到最终显示的减字符号;

所述动态渲染减字是根据实际属性值,动态的建立一种基于“树形”渲染的结构,以每棵“树”代表一个减字符,根据实际的减字,会有不同的组织节点Node和具体显示部件的渲染节点Sprite,所述渲染节点Sprite挂于组织节点Node上,每个组织节点Node控制“树形”渲染的结构的大小位置及坐标信息来实现减字符的展示。

2.根据权利要求1所述的一种古琴减字符的数字化、动态生成方法,其特征在于,所述S02步骤中,对整理出减字符需要用到的所有减字笔画进行编码,每个笔画部件包含一些不同的属性,所述属性包括用于减字的“弦”或者“徽”、部件的长宽属性。

说明书 :

一种古琴减字符的数字化、动态生成方法

技术领域

[0001] 本发明属于计算机信息处理技术领域,特别是涉及一种古琴减字符的数字化、动态生成方法。

背景技术

[0002] 古琴是中国古老的乐器,减字谱是用于记录其演奏的方法,一个减字包括了演奏的指法信息,其包括右手指法、弦序、左手指法、徽位、等信息。一首琴谱由一系列减字组成。起先,制作古琴谱,多使用手写,随着科技的进步。后续可以使用计算机辅助,通过各种方法来生成减字谱字库。一旦建立好字库,那么可以在通用领域使用此字库,通过输入法等对其检索后进行录入,如建立字库后在Word中录入。
[0003] 但发明人发现通过计算机方法建立字库的方式有很多缺点。主要有两个矛盾点,古琴减字数量繁多,如果只建立部分常用字字库,那么减字将不够使用,如果建立一个非常全的字库,那么这个字库将会异常的大。要检索这样一个减字数据库也是非常耗时的操作。以“撮”字类型的减字为例,此类型包含且不限制于以下八种:“撮,反撮,泼,剌,泼辣,弹,双弹,三弹”等等,左手指法五种:大、食、中、名、跪,徽位包含按音36个按音音位,弦有七条,音色形式包含绰、注、按、泛音。撮字左下子结构组合数目大致5x36x7x4=5040,只是粗略估计以上类型值的组合方式就有上亿级别数量(5040x5040x8)的组合可能,虽然这其中包含了很多不常用,或者不合理的组合方式,但这也同样还没考虑到泛音音位,散泛组合等减字。
由此可知如果要建立一个非常全面的减字字库,几乎是不可能完成的任务,即便能够建立这样一个字库,那么这个字库的数量将会非常庞大。

发明内容

[0004] 本发明提供了一种古琴减字符的数字化、动态生成方法,解决了以上问题。
[0005] 为解决上述技术问题,本发明是通过以下技术方案实现的:
[0006] 本发明的一种古琴减字符的数字化、动态生成方法,包括如下步骤:
[0007] S01、创建包括组成减字符所有属性的减字数据结构;
[0008] S02、整理减字所用到的减字笔画部件;
[0009] S03、根据数据结构属性值及笔画部件,动态展示减字符。
[0010] 进一步地,所述S01步骤中,所述减字数据结构所包含的减字符属性包括左手指法、徽位、右手指法、弦序和标记位属性,将所有属性包含在程序定义的数据结构中。
[0011] 进一步地,所述S02步骤中,对整理出减字符需要用到的所有减字笔画进行编码,每个笔画部件包含一些不同的属性,所述属性包括用于减字的“弦”或者“徽”、部件的长宽属性。
[0012] 进一步地,所述S03步骤中,通过建立一套动态的显示生成规则,基于不同属性不同的值及控件的位置大小因素,动态渲染减字。
[0013] 进一步地,所述动态渲染减字具体是通过如下步骤进行的:
[0014] P01、定义减字数据结构中每种属性的特征点、显示位置、组合方式等,通过属性值选取笔画部件,计算坐标后进行渲染;
[0015] P02、可根据字体组合部件缩放系数,对同一属性值选取不同粗细的笔画部件,使整体更为美观的显示,得到最终显示的减字符号。
[0016] 进一步地,所述动态渲染减字是根据实际属性值,动态的建立一种基于“树形”渲染的结构,以每棵“树”代表一个减字符,根据实际的减字,会有不同的组织节点Node和具体显示部件的渲染节点Sprite,所述渲染节点Sprite挂于组织节点Node上,每个组织节点Node控制“树形”渲染的结构的大小位置及坐标信息来实现减字符的展示。
[0017] 本发明相对于现有技术包括有以下有益效果:
[0018] 1、本发明提供了一种古琴减字符的数字化、动态生成方法,以有效解决字库不全或者字库过大,和网络的数字化传播等问题,其包括的步骤包括:定义数据结构,将减字拆解成部件属性,生成对应的数据结构包含这些属性,用于描述减字;本技术方案的数据结构参考复杂的减字类型以满足所需,简单的减字也就很容易表示;在此规则下,任意一个减字都将可以使用此数据结构进行描述,它能数字化的描述上述中上亿种排列组合方式,在数字化内容中,描述了弦序,指法,徽位等信息;另外本技术方案在将减字的数字化描述后,根据实际的属性值建立一套显示的规则进行排版,从而将这个减字合理的按需实时显示出来。
[0019] 2、本技术方案避免了建立一套大而全的字库,而是使用数字化的方式描述减字的组成属性和属性的值,虽然他的排列组合众多,但只需要根据实际情况,有选择的根据数字化的琴谱内容而展示所需要的减字即可。由于只保存了属性和属性值等信息,只需要准备少量的减字部件即可,占用空间将会非常小,但能显示的减字却很多。
[0020] 当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

[0021] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0022] 图1为本发明的一种古琴减字符的数字化、动态生成方法的步骤图;
[0023] 图2为图1中S03步骤的具体流程步骤图;
[0024] 图3为带有减字谱的古琴谱的案例图片;
[0025] 图4为以“撮”字类型的减字为例进行展示的减字谱样例分析图;
[0026] 图5为基于本技术方案的减字数据结构定义和属性值描述“撮”字指法案例;
[0027] 图6为图1中S02步骤所整理出来的减字笔画部件集合;
[0028] 图7为本具体实施例中当多个属性存在值时,根据特征值进行动态排版表;
[0029] 图8为本具体实施例中以“大九六”为例展示动态构建一种基于属性渲染结构的案例图;
[0030] 图9为利用本数据结构不同属性值,完成减字的数字化描述的案例图。

具体实施方式

[0031] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0032] 本技术方案能够实施的基本原理是:任何复杂的减字都可以拆分出其基本组成的部件类型和值,通过对所有的减字结构进行分析,建立通用的计算机数据结构,用以描述所有存在的减字类型的部件,也就可以使用此数据结构描述任意的减字了。然后建立一套显示规则,用于对此数据结构进行排版展示。从而完成减字的数字化定义和动态的生成显示方法。基于上述原理和规则,将通过下述具体实施例对本技术方案进行详细表述:
[0033] 请参阅图1‑9所示,本具体实施例的一种古琴减字符的数字化、动态生成方法,包括如下步骤:
[0034] S01、创建包括组成减字符所有属性的减字数据结构;
[0035] S02、整理减字所用到的减字笔画部件;
[0036] S03、根据数据结构属性值及笔画部件,动态展示减字符。
[0037] 其中,S01步骤中,减字数据结构所包含的减字符属性包括左手指法、徽位、右手指法、弦序、特殊标记、左手指法2、徽位2、弦序2以及特殊标记2九个属性,将所有属性包含在程序定义的数据结构中;如图5所示,展示了根据此本技术方案优选较为复杂的“撮”字结构来定义其Go语音数据结构,并给出了一个“撮”字的实例属性值。
[0038] 其中,S02步骤中,对整理出减字符需要用到的所有减字笔画进行编码,每个笔画部件包含一些不同的属性,属性包括用于减字的“弦”或者“徽”、部件的长宽属性。
[0039] 其中,S03步骤中,通过建立一套动态的显示生成规则,基于不同属性不同的值及控件的位置大小因素,动态渲染减字。
[0040] 其中,动态渲染减字具体是通过如下步骤进行的:
[0041] P01、定义减字数据结构中每种属性的特征点、显示位置、组合方式等,通过属性值选取笔画部件,计算坐标后进行渲染;
[0042] P02、可根据字体组合部件缩放系数,对同一属性值选取不同粗细的笔画部件,使整体更为美观的显示,得到最终显示的减字符号。
[0043] 如图7所示,当属性值独立存在时,用不到特征值,其居中展示,只有当多个属性存在值时,那么根据特征值进行动态的排版,通过属性值确定用到什么部件,根据特征值确定怎么组织部件,当“上”遇到“下”时,上下组合,当“左”遇到“右”时,左右组合,成对出现(如左徽),当没有成对出现时,在不同的方向时居中显示(如“大九”)。
[0044] 如图8其中,动态渲染减字是根据实际属性值,动态的建立一种基于“树形”渲染的结构,如图8所示,以“大九六”为例,以每棵“树”代表一个减字符,根据实际的减字,会有不同的组织节点Node和具体显示部件的渲染节点Sprite,本具体实施例中,组织节点Node,具体为1‑5个节点,渲染节点Sprite挂于组织节点Node上,如图1、2、4节点的展示内容,每个组织节点Node控制“树形”渲染的结构的大小位置及坐标信息来实现减字符的展示,图8展示了简单基树结构的构建以及渲染方法,同样更复杂的减字同样可以拆分成不同的树型渲染结构,如节点5可以作为更复杂减字(撮指法)的子节点进行展示;
[0045] 本具体实施例以“大九六”这个减字符号的展示,其占用三个属性值,包括“左手指法”、“徽位”、“弦序”,来说明S03步骤具体的实施细节,并为这三个属性定义一套特征值,具体如下:
[0046] 1、左手手指法:特征值(上、左);
[0047] 2、徽位:特征值(上,右);
[0048] 3、弦序:特征值(下);
[0049] 如图9所示,通过此数据结构的不同属性的值,可以用于完成任何减字的数字化描述,不同属性值的排列组合结果众多,总够表示任意一个减字,完成减字符的数字化。
[0050] 本方案的设计原理,通过对减字符的数字化,描述其基本显示的结构信息,再配合一套基于结构信息的实时动态显示规则。其特点是没有固定字库,无需检索字库,实时动态渲染,解决减字库庞大的问题。优选方案提供了一种实现方式,凡事在本发明的原理之上,进行的变种或组合,在本发明保护范围之内。
[0051] 有益效果:
[0052] 1、本发明提供了一种古琴减字符的数字化、动态生成方法,以有效解决字库不全或者字库过大,和网络的数字化传播等问题,其包括的步骤包括:定义数据结构,将减字拆解成部件属性,生成对应的数据结构包含这些属性,用于描述减字;本技术方案的数据结构参考复杂的减字类型以满足所需,简单的减字也就很容易表示;在此规则下,任意一个减字都将可以使用此数据结构进行描述,它能数字化的描述上述中上亿种排列组合方式,在数字化内容中,描述了弦序,指法,徽位等信息;另外本技术方案在将减字的数字化描述后,根据实际的属性值建立一套显示的规则进行排版,从而将这个减字合理的按需实时显示出来。
[0053] 2、本技术方案避免了建立一套大而全的字库,而是使用数字化的方式描述减字的组成属性和属性的值,虽然他的排列组合众多,但只需要根据实际情况,有选择的根据数字化的琴谱内容而展示所需要的减字即可。由于只保存了属性和属性值等信息,只需要准备少量的减字部件即可,占用空间将会非常小,但能显示的减字却很多。
[0054] 以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。