乐谱展示方法、装置及设备与流程

文档序号:34604126发布日期:2023-06-29 02:20阅读:122来源:国知局
乐谱展示方法、装置及设备与流程

本技术涉及计算机,具体涉及一种乐谱展示方法、装置及设备。


背景技术:

1、随着终端技术的不断发展,越来越多的音乐app(application,应用程序)、音乐网站等在线音乐平台备受关注。

2、在相关技术中,比如,在基于svg的静态展示技术中,可以通过绘制基础小节,然后在小节上追加不同类型的音乐符号并进行排版,进行吉他谱的展示。然而,目前的技术是基于单个小节进行绘制的,即直接根据小节数据对当前小节进行绘制后,再进行下一个小节的绘制。可见,目前的技术没有统筹整体的数据结构,导致在不同机型的终端上无法进行乐谱的动态排版,影响乐谱的展示效果。


技术实现思路

1、本技术实施例提供一种乐谱展示方法、装置及设备,可以实现乐谱的动态排版,提高乐谱在不同机型的终端上的显示效果。

2、第一方面,提供一种乐谱展示方法,应用于终端设备,所述方法包括:

3、获取原始乐谱数据和目标显示视窗的视窗数据,所述原始乐谱数据包括原始乐谱的构成信息;

4、根据所述构成信息确定多个待展示小节以及每个所述待展示小节对应的小节数据;

5、根据所述多个待展示小节的预设小节数据和所述视窗数据,确定所述多个待展示小节的排版信息;

6、响应于乐谱展示信号,根据所述多个待展示小节对应的小节数据、所述多个待展示小节的排版信息,在所述目标显示视窗内对所述多个待展示小节进行展示。

7、可选的,所述视窗数据包括所述目标显示视窗的视窗宽度,所述多个待展示小节的预设小节数据包括所述待展示小节的预设宽度和预设高度;

8、所述根据所述多个待展示小节的预设小节数据和所述视窗数据,确定所述多个待展示小节的排版信息,包括:

9、根据所述多个待展示小节的预设宽度以及所述视窗宽度,确定所述目标显示视窗内单行可展示的小节数量;

10、根据多个待展示小节的小节总数、所述单行可展示的小节数量以及所述多个待展示小节的预设高度和预设间隔距离,确定所述多个待展示小节的排版信息。

11、可选的,所述视窗数据还包括所述目标显示视窗的视窗高度,所述构成信息包括所述原始乐谱的拍子数和每个待展示小节的节拍数;

12、所述根据所述多个待展示小节对应的小节数据、所述多个待展示小节的排版信息,在所述目标显示视窗内对所述多个待展示小节进行展示,包括:

13、根据当前乐谱播放时间、所述拍子数和每个待展示小节的节拍数,确定所述当前播放时间对应的待展示小节;

14、根据所述当前播放时间对应的待展示小节、所述单行可展示的小节数量和所述多个待展示小节的预设高度,确定视窗滚动高度;

15、根据所述视窗高度、所述多个待展示小节的预设高度、所述视窗滚动高度以及所述多个待展示小节的排版信息,确定多个目标待展示小节;

16、根据所述多个目标待展示小节对应的小节数据和排版信息将所述多个目标待展示小节显示在所述目标显示视窗内。

17、可选的,所述原始乐谱数据还包括待展示音符数据,所述待展示音符数据包括多个待展示音符和所述多个待展示音符的开始时间;

18、所述方法还包括:

19、根据所述拍子数以及所述多个待展示音符中的单拍音符和最小音符,确定所述多个待展示音符中的最小音符所占用的时长;

20、以所述最小音符所占用的时长为拆分单位,将所述原始乐谱拆分为多个单位音符;

21、根据每个所述待展示音符的开始时间和所述最小音符所占用的时长,分别确定每个所述待展示音符所对应的单位音符;

22、根据每个所述待展示音符所对应的单位音符和所述每个待展示小节的节拍数,分别确定每个所述待展示音符所在小节;

23、根据每个所述待展示音符所对应的单位音符和每个所述待展示音符所在小节,确定每个所述待展示音符的所在位置;

24、根据每个所述待展示音符和每个所述待展示音符的所在位置,确定每个所述待展示小节对应的音符数据;

25、根据每个所述待展示小节对应的音符数据确定每个所述待展示小节对应的小节数据。

26、可选的,所述根据所述多个目标待展示小节对应的小节数据和排版信息将所述多个目标待展示小节显示在所述目标显示视窗内,包括:

27、根据所述多个目标待展示小节对应的排版信息和所述多个目标待展示小节对应的音符数据,将所述多个目标待展示小节和所述多个目标待展示小节对应的待展示音符显示在所述目标显示视窗内。

28、可选的,所述原始乐谱数据还包括所述原始乐谱的歌词数据,所述歌词数据包括歌词以及组成歌词的每个歌词单字的开始时间;

29、所述方法还包括:

30、根据所述每个歌词单字的开始时间和所述最小音符所占用的时长,分别确定每个所述歌词单字所对应的单位音符;

31、根据每个所述歌词单字所对应的单位音符和所述每个待展示小节的节拍数,分别确定每个所述歌词单字所在小节;

32、根据每个所述歌词单字所对应的单位音符和每个所述歌词单字所在小节,确定每个所述歌词单字的所在位置;

33、根据每个所述歌词单字、每个所述歌词单字的所在位置、以及所述每个歌词单字的预设显示位置和预设显示尺寸,确定每个所述待展示小节的歌词数据;

34、根据每个所述待展示小节的歌词数据确定每个所述待展示小节对应的小节数据。

35、可选的,所述根据多个待展示小节的小节总数、所述单行可展示的小节数量以及所述多个待展示小节的预设高度和预设间隔距离,确定所述多个待展示小节的排版信息,包括:

36、根据所述单行可展示的小节数量、所述多个待展示小节的小节总数、所述多个待展示小节的预设高度和预设间隔距离、以及所述每个歌词单字的预设显示位置和预设显示尺寸,确定所述多个待展示小节的排版信息;

37、所述根据所述多个目标待展示小节对应的小节数据和排版信息将所述多个目标待展示小节显示在所述目标显示视窗内,包括:

38、根据所述多个目标待展示小节对应的排版信息、所述多个目标待展示小节对应的音符数据和所述多个目标待展示小节对应的歌词数据,将所述多个目标待展示小节、所述多个目标待展示小节对应的待展示音符和所述多个目标待展示小节对应的歌词显示在所述目标显示视窗内。

39、可选的,所述原始乐谱数据还包括所述原始乐谱的和弦数据,所述和弦数据包括多个和弦和每个所述和弦的开始时间;

40、所述方法还包括:

41、根据所述拍子数和所述每个待展示小节的节拍数确定每个所述待展示小节的小节总时长;

42、分别根据每个所述和弦的开始时间和所述小节总时长,确定每个所述和弦所在小节;

43、分别根据每个所述和弦的开始时间、所述小节总时长和所述最小音符所占用的时长,确定每个所述和弦所对应的单位音符;

44、根据每个所述和弦所在小节和每个所述和弦所对应的单位音符确定每个所述和弦的所在位置;

45、根据每个所述和弦、每个所述和弦的所在位置、以及所述每个和弦的预设显示尺寸和预设显示位置,确定每个所述待展示小节的和弦数据;

46、根据每个所述待展示小节的和弦数据确定每个所述待展示小节对应的小节数据。

47、可选的,所述根据多个待展示小节的小节总数、所述单行可展示的小节数量以及所述多个待展示小节的预设高度和预设间隔距离,确定所述多个待展示小节的排版信息,包括:

48、根据所述单行可展示的小节数量、所述多个待展示小节的小节总数、所述多个待展示小节的预设高度和预设间隔距离、以及所述每个和弦的预设显示尺寸和预设显示位置,确定所述多个待展示小节的排版信息;

49、所述根据所述多个目标待展示小节对应的小节数据和排版信息将所述多个目标待展示小节显示在所述目标显示视窗内,包括:

50、根据所述多个目标待展示小节对应的排版信息、所述多个目标待展示小节对应的音符数据和所述多个目标待展示小节对应的和弦数据,将所述多个目标待展示小节、所述多个目标待展示小节对应的待展示音符和所述多个目标待展示小节对应的和弦显示在所述目标显示视窗内。

51、可选的,所述方法还包括:

52、根据当前乐谱播放时间和所述最小音符所占用的时长,确定当前乐谱播放时间对应的单位音符;

53、根据所述当前乐谱播放时间对应的单位音符,确定已播放的待展示音;

54、按照预设显示规则显示所述已播放的待展示音符。

55、可选的,所述方法还包括:

56、响应于乐谱展示信号,根据所述多个待展示小节的小节数据,分别构建多个元素节点表示;

57、所述根据所述多个目标待展示小节对应的小节数据和排版信息将所述多个目标待展示小节显示在所述目标显示视窗内,包括:

58、根据所述多个目标待展示小节对应的元素节点表示,创建目标待展示小节对应的元素节点,并将所述目标待展示小节对应的元素节点渲染在所述目标显示视窗内,所述目标待展示小节对应的元素节点所包含的属性包括所述多个待展示小节的小节数据。

59、可选的,所述根据所述多个待展示小节对应的元素节点表示,创建目标待展示小节对应的元素节点,还包括:

60、建立所述目标待展示小节对应的元素节点与目标待展示小节对应的小节数据之间的引用关系;

61、响应于针对第一目标元素节点的乐谱数据编辑信号,根据所述乐谱数据编辑信号修改所述第一目标元素节点的属性,并根据所述第一目标元素节点与对应小节数据之间的引用关系修改所述第一目标元素节点对应的小节数据,所述第一目标元素节点为任一所述目标待展示小节对应的元素节点。

62、可选的,所述方法还包括:

63、响应于针对多个第二目标元素节点的布局编辑信号,销毁所述多个第二目标元素节点;

64、根据所述布局编辑信号更新所述多个第二目标元素节点对应的小节数据,并根据更新后的所述小节数据新建多个元素节点,以及建立所述新建的元素节点和所述更新后的小节数据之间的引用关系,所述第二目标元素节点为任一所述目标待展示小节对应的元素节点。

65、可选的,根据所述拍子数和所述每个待展示小节的节拍数确定每个所述待展示小节的小节总时长;

66、根据所述原始乐谱的乐谱总时长和所述小节总时长确定所述多个待展示小节的小节总数。

67、第二方面,提供一种乐谱展示装置,应用于终端设备,所述装置包括:

68、获取模块,用于获取原始乐谱数据和目标显示视窗的视窗数据,所述原始乐谱数据包括原始乐谱的构成信息;

69、第一确定模块,用于根据所述构成信息确定多个待展示小节以及每个所述待展示小节对应的小节数据;

70、第二确定模块,用于根据所述多个待展示小节的预设小节数据和所述视窗数据,确定所述多个待展示小节的排版信息;

71、展示模块,用于响应于乐谱展示信号,根据所述多个待展示小节对应的小节数据、所述多个待展示小节的排版信息,在所述目标显示视窗内对所述多个待展示小节进行展示。

72、第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如上述第一方面所述的乐谱展示方法中的步骤。

73、第四方面,提供一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行如上述第一方面所述的乐谱展示方法中的步骤。

74、第五方面,提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现如上述第一方面所述的乐谱展示方法中的步骤。

75、本技术实施例通过获取原始乐谱数据和目标显示视窗的视窗数据,原始乐谱数据包括原始乐谱的构成信息,之后,根据构成信息确定多个待展示小节以及每个待展示小节对应的小节数据,接着,根据多个待展示小节的预设小节数据和视窗数据,确定多个待展示小节的排版信息,然后,响应于乐谱展示信号,根据多个待展示小节对应的小节数据、多个待展示小节的排版信息,在目标显示视窗内对多个待展示小节进行展示。本技术实施例通过根据目标显示视窗的视窗数据,确定原始乐谱数据中多个待展示小节的排版信息,实现了根据不同机型终端的显示视窗的不同尺寸,对乐谱小节的动态排版,之后,根据该排版信息对多个待展示小节进行展示,提高了乐谱在不同机型终端上的显示效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1