一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

曲谱与音频的同步方法及计算机可读存储介质与流程

2022-04-30 09:52:04 来源:中国专利 TAG:


1.本发明涉及音频处理技术领域,尤其涉及一种曲谱与音频的同步方法及计算机可读存储介质。


背景技术:

2.在歌曲播放过程中,为了让用户能够直观地看到播放的歌曲中播放的音频当前是走到哪个音,会将曲谱与音频同步地播放,即随着音频的播放,会在曲谱上同步的进行走谱。但与曲谱配套的音频资源,因各类因素,可能存在整体偏移(第一音符开始时间)、局部快慢以及片段反复的处理上会有所不同,从而导致当曲谱和音频同时播放时,无法同步,无法对齐。因此,需要进行曲谱与音频的同步。
3.另外,在一些实际应用中,曲谱中并未标注反复记号,或标注的反复标记出错,从而导致演唱音频与曲谱无法实现同步。
4.在公开号为cn110570834a的中国专利公开文件中,公开了一种实现歌曲播放过程中歌谱同步显示的方法和装置以及设备。其中,方法包括:解析歌曲文件,从该歌曲文件中解析出歌词和对应该歌词的时间标记以及对应该歌词的曲谱的声音频率,和在该歌曲的播放过程中,获取播放该歌曲的当前时间,确定与该当前时间相配套的歌词和对应该歌词的曲谱的声音频率关联的曲谱为显示内容,以及同步显示该确定的歌词和对应该歌词的曲谱的声音频率关联的曲谱。
5.在该方案中,歌曲文件中已经含有歌词和对应该歌词的时间标记。然后获取播放该歌曲的时间,结合歌词的标记时间(作为标准时间),将歌曲文件中歌词、歌词对应的曲谱进行同步显示。
6.也就是说,上述专利并未涉及如何获取歌曲文件中歌词的时间信息,而是利用已有的歌词的时间信息。目前现有技术中,歌曲文件中歌词的时间信息一般是根据曲谱生成的。根据前面的分析可知,当演唱音频与曲谱不同步时,由曲谱生成的歌词的时间信息存在错误,需要重新根据演唱音频生成歌词或音符时间信息。
7.同时,上述专利主要涉及将曲谱的声音频率转换为音符,并以音符的形式输出,即该方案中的曲谱仅表示音高,不存在影响小节播放顺序的反复记号。因此,上述方案并未涉及如何在有反复记号的曲谱中进行谱音同步。并且,上述方案也无法实现逐个小节走谱。


技术实现要素:

8.本发明所要解决的技术问题是:提供一种曲谱与音频的同步方法及计算机可读存储介质,可实现谱音同步。
9.为了解决上述技术问题,本发明采用的技术方案为:一种曲谱与音频的同步方法,包括:
10.获取待同步音频,并提取所述待同步音频的主旋律音轨;
11.根据所述主旋律音轨,提取音高,得到音符序列以及所述音符序列中各组主旋律
音符的起止时间,同一组主旋律音符的起止时间一致;
12.将所述音符序列与所述待同步音频对应的曲谱进行比对,确定所述音符序列中的各组主旋律音符与所述曲谱中的各组曲谱音符的对应关系,同一组曲谱音符为需同一时刻演奏的曲谱音符;
13.播放所述待同步音频时,根据各组主旋律音符的起止时间以及所述对应关系,确定当前播放时间对应的曲谱音符,并在曲谱中高亮显示所述对应的曲谱音符或所述对应的曲谱音符所在的小节。
14.本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上所述的方法。
15.本发明的有益效果在于:通过识别主旋律音轨中的音符播放顺序,控制曲谱的播放顺序,可以以音频为主实现谱音同步,不受曲谱中反复记号影响;通过高亮显示当前播放时间对应的曲谱音符或其所在的小节,可以实现音符级别的准确走谱,同时也可以实现逐个小节准确走谱,满足多样化需求。本发明可实现谱音同步,使得播放音频时,用户可以更准确地对照查看曲谱。
附图说明
16.图1为本发明实施例一的一种曲谱与音频的同步方法的流程图;
17.图2为本发明实施例一的步骤s3的流程图。
具体实施方式
18.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。
19.请参阅图1,一种曲谱与音频的同步方法,包括:
20.获取待同步音频,并提取所述待同步音频的主旋律音轨;
21.根据所述主旋律音轨,提取音高,得到音符序列以及所述音符序列中各组主旋律音符的起止时间,同一组主旋律音符的起止时间一致;
22.将所述音符序列与所述待同步音频对应的曲谱进行比对,确定所述音符序列中的各组主旋律音符与所述曲谱中的各组曲谱音符的对应关系,同一组曲谱音符为需同一时刻演奏的曲谱音符;
23.播放所述待同步音频时,根据各组主旋律音符的起止时间以及所述对应关系,确定当前播放时间对应的曲谱音符,并在曲谱中高亮显示所述对应的曲谱音符或所述对应的曲谱音符所在的小节。
24.从上述描述可知,本发明的有益效果在于:可以以音频为主实现谱音同步,不受曲谱中反复记号影响;可以实现音符级别的准确走谱,也可以实现逐个小节准确走谱。
25.进一步地,所述根据所述主旋律音轨,提取音高,得到音符序列以及所述音符序列中各组主旋律音符的起止时间具体为:
26.从所述主旋律音轨中提取基频序列;
27.对所述基频序列进行音高拟合,得到音符序列,并获取所述音符序列中各主旋律音符的起止时间;
28.将起止时间一致的主旋律音符划分为同一组。
29.由上述描述可知,通过将起止时间一致的主旋律音符划分到同一组中,使得本发明也适用于乐器以及多声部的曲谱同步。
30.进一步地,所述将所述音符序列与所述待同步音频对应的曲谱进行比对,确定所述音符序列中的各组主旋律音符与所述曲谱中的各组曲谱音符的对应关系具体为:
31.从所述音符序列中获取第i组主旋律音符,作为当前主旋律音符,i的初始值为1;
32.判断当前主旋律音符与所述待同步音频对应的曲谱中的第j组曲谱音符是否相同,j的初始值为1;
33.若相同,则将当前主旋律音符与所述第j组曲谱音符进行关联,并对i加一,对j加1,继续执行所述从所述音符序列中获取第i组主旋律音符,作为当前主旋律音符的步骤;
34.若不同,则通过匹配算法,从所述曲谱中获取最佳匹配音符,并将当前主旋律音符与所述最佳匹配音符进行关联。
35.由上述描述可知,由于部分主旋律音符和部分曲谱音符在顺序上本身就存在一定的对应关系,因此,通过同步增加主旋律音符和曲谱音符的序号并进行比对,可快速确定出对应关系。
36.进一步地,所述通过匹配算法,从所述曲谱中获取最佳匹配音符,并将当前主旋律音符与所述最佳匹配音符进行关联具体为:
37.获取当前主旋律音符及其之后连续的k组主旋律音符,得到待匹配音符串,k的初始值为预设的数值;
38.根据所述待匹配音符串,在所述曲谱中查找最佳匹配音符串,所述最佳匹配音符串与所述待匹配音符串相同;
39.若未匹配到最佳匹配音符串,则对i加一或对i加k 1,继续执行所述从所述音符序列中获取第i组主旋律音符,作为当前主旋律音符的步骤;
40.若所述最佳匹配音符串的数量为1,则分别将所述待匹配音符串中的各主旋律音符与所述最佳匹配音符串中的各组曲谱音符按照顺序一一对应进行关联,并对i加k 1,令j=a 1,a为所述最佳匹配音符串中的最后一组曲谱音符在曲谱中的序号,继续执行所述从所述音符序列中获取第i组主旋律音符,作为当前主旋律音符的步骤。
41.由上述描述可知,若当前主旋律音符与曲谱音符不同,则表示音频播放的不是曲谱的下一小节,而是跳到了其他小节,因此通过在曲谱中查找音符串的最佳匹配,以从曲谱中获取对应的曲谱音符。
42.进一步地,所述根据所述待匹配音符串,在所述曲谱中查找最佳匹配音符串之后,进一步包括:
43.若所述最佳匹配音符串的数量大于1,则判断k是否达到预设的阈值;
44.若是,则对i加一或对i加k 1,继续执行所述从所述音符序列中获取第i组主旋律音符,作为当前主旋律音符的步骤;
45.若否,则对k加一,继续执行所述获取当前主旋律音符及其之后连续的k组主旋律音符,得到待匹配音符串的步骤。
46.由上述描述可知,如果匹配到多个最佳匹配音符串,则扩大待匹配音符串,重新进行查找,直到匹配到唯一的最佳匹配音符串。
47.进一步地,所述主旋律音轨为人声音轨;
48.所述根据所述主旋律音轨,提取音高,得到音符序列以及所述音符序列中各组主旋律音符的起止时间之后,进一步包括:
49.根据所述主旋律音轨,通过音频转文本技术,生成歌词序列,并获取所述歌词序列中各歌词的起止时间;
50.根据所述音符序列中各组主旋律音符的起止时间以及所述歌词序列中各歌词的起止时间,确定主旋律音符与歌词的对应关系。
51.进一步地,所述根据所述待匹配音符串,在所述曲谱中查找最佳匹配音符串之后,进一步包括:
52.若所述最佳匹配音符串的数量大于1,则根据所述主旋律音符与歌词的对应关系,获取所述待匹配音符串对应的待匹配歌词串;
53.根据所述曲谱,分别获取各最佳匹配音符串对应的歌词串;
54.分别计算所述待匹配歌词串与各最佳匹配音符串对应的歌词串的匹配度,并获取匹配度最高的歌词串对应的最佳匹配音符串,作为唯一最佳匹配音符串;
55.分别将所述待匹配音符串中的各组主旋律音符与所述唯一最佳匹配音符串中的各曲谱音符按照顺序一一对应进行关联,并对i加k 1,令j=b 1,b为所述唯一最佳匹配音符串中的最后一组曲谱音符在曲谱中的序号,继续执行所述从所述音符序列中获取第i个主旋律音符,作为当前主旋律音符的步骤。
56.由上述描述可知,当匹配到多个最佳匹配音符串时,还可进一步计算歌词的匹配程度,通过音符匹配和歌词匹配的方式确定出唯一的最佳匹配音符串。
57.进一步地,所述播放所述待同步音频时,根据各组主旋律音符的起止时间以及所述对应关系,确定当前播放时间对应的曲谱音符,并在曲谱中高亮显示所述对应的曲谱音符或所述对应的曲谱音符所在的小节具体为:
58.播放所述待同步音频,并实时获取播放进度,得到当前播放时间;
59.根据当前播放时间以及所述音符序列中各组主旋律音符的起止时间,确定当前播放时间对应的主旋律音符;
60.根据所述对应关系,获取当前播放时间对应的主旋律音符关联的曲谱音符,得到当前播放时间对应的曲谱音符;
61.显示曲谱,并高亮显示当前播放时间对应的曲谱音符或其所在的小节。
62.由上述描述可知,通过高亮显示当前播放时间对应的曲谱音符或其所在的小节,可以实现音符级别的准确走谱,也可以实现逐个小节准确走谱,满足多样化需求。
63.进一步地,所述待同步音频为乐器演奏音频;
64.所述提取所述待同步音频的主旋律音轨;根据所述主旋律音轨,提取音高,得到音符序列以及所述音符序列中各组主旋律音符的起止时间具体为:
65.提取所述乐器演奏音频的乐器独奏音轨,作为主旋律音轨;
66.通过音乐转录技术,生成所述主旋律音轨对应的midi文件;
67.根据所述midi文件,得到音符序列以及所述音符序列中各组主旋律音符的起止时间。
68.由上述描述可知,通过使用大师或示范演奏的机械钢琴的录音音频作为琴谱演奏
示范,并同步播放,可以有效改善midi示范存在的音质不佳、机械感强等缺点。
69.本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上所述的方法。
70.实施例一
71.请参照图1-2,本发明的实施例一为:一种曲谱与音频的同步方法,可实现乐曲或歌曲播放过程中的曲谱同步,如图1所示,包括如下步骤:
72.s1:获取待同步音频,并提取所述待同步音频的主旋律音轨;其中,主旋律音轨指的是与曲谱中音符一致的音轨。
73.本实施例中,待同步音频为歌曲音频,则可通过spleeter从原唱音频中分离出人声音轨,作为主旋律音轨。
74.s2:根据所述主旋律音轨,提取音高,得到音符序列以及所述音符序列中各主旋律音符的起止时间。
75.具体地,从主旋律音轨中提取基频序列,然后对基频序列进行相近音高的拟合,得到音符序列,以及每个主旋律音符的起止时间;然后将音符序列中起止时间相同的主旋律音符划分为一组,此时,音符序列中包括多组主旋律音符,每组主旋律音符中包含至少一个的主旋律音符,同一组主旋律音符的起止时间相同。
76.对于仅包含单声部的音频,每组主旋律音符只包含一个主旋律音符;而对于一些乐器演奏音频,或者包含多声部的音频,则会出现一组主旋律音符包含两个甚至多个主旋律音符的情况。
77.进一步地,在其他可选的实施例中,待同步音频为乐器演奏音频,提取乐器演奏音频的乐器独奏音轨,作为主旋律音轨;然后通过音乐转录技术,如cnn(convolutional neural networks,卷积神经网络)和lstm(long short-term memory,长短期记忆网络),生成主旋律音轨对应的midi文件,将该midi文件作为音符序列,并从midi文件中计算出每个主旋律音符的起止时间。
78.通过使用大师或示范演奏的机械钢琴的录音音频作为琴谱演奏示范,并同步播放,可以有效改善midi示范存在的音质不佳、机械感强等缺点。
79.s3:将所述音符序列与所述待同步音频对应的曲谱进行比对,确定所述音符序列中各组主旋律音符与所述曲谱中各组曲谱音符的对应关系。
80.其中,同一组曲谱音符表示需要同一时刻演奏的曲谱音符。对于仅包含单声部的曲谱,则一组曲谱音符中只包含一个曲谱音符;而对于一些乐器演奏曲谱或者包含多声部的曲谱,则会出现一组曲谱音符包含两个甚至多个曲谱音符的情况。例如钢琴曲谱,一般拥有双行谱表,即高音谱表和低音谱表,则需要同一时刻弹奏的高音音符和低音音符划分为一组。
81.具体地,如图2所示,本步骤包括如下步骤:
82.s301:从所述音符序列中获取第i组主旋律音符,作为当前主旋律音符,i的初始值为1。
83.s302:判断当前主旋律音符与所述待同步音频对应的曲谱中的第j组曲谱音符是否相同,j的初始值为1,即判断第i组主旋律音符与第j组曲谱音符是否相同,若是,则执行步骤s303,若否,则执行步骤s305。
84.s303:将当前主旋律音符与所述第j组曲谱音符进行关联,即将第i组主旋律音符与第j组曲谱音符进行关联。
85.s304:令i=i 1,j=j 1,然后继续执行步骤s301,直至遍历完音符序列。
86.s305:获取当前主旋律音符及其之后连续的k组主旋律音符,得到待匹配音符串,k的初始值为预设的数值。
87.即获取第i组主旋律音符至第i k组主旋律音符,待匹配音符串中共k 1组主旋律音符。优选地,k的初始值为5。
88.s306:根据所述待匹配音符串,在所述曲谱中查找最佳匹配音符串,所述最佳匹配音符串与所述待匹配音符串相同。
89.即从曲谱的第一组曲谱音符开始,进行音符串匹配,找到与待匹配音符串一致的曲谱音符串,作为最佳匹配音符串;最佳匹配音符串中的各组曲谱音符分别与待匹配音符串中的各组主旋律音符相同。
90.s307:判断是否匹配到最佳匹配音符串,若是,则执行步骤s309,若否,则执行步骤s308。
91.s308:令i=i 1,然后继续执行步骤s301,直至遍历完音符序列。如果匹配不到最佳匹配音符串,则表示当前主旋律音符可能计算有误,导致在曲谱中找不到对应的曲谱音符,此时可跳过当前主旋律音符,继续遍历音符序列。
92.在其他可选的实施例中,也可以令i=i k 1,然后继续执行步骤s301,直至遍历完音符序列;即跳过当前主旋律音符及其之后连续的k组主旋律音符,继续遍历音符序列。
93.s309:判断最佳匹配音符串的数量是否为1,若是,则执行步骤s310,若否,即最佳匹配音符串的数量大于或等于2,则执行步骤s312。
94.s310:分别将所述待匹配音符串中的各组主旋律音符与所述最佳匹配音符串中的各组曲谱音符按照顺序一一对应进行关联。
95.例如,假设最佳匹配音符串为曲谱中的第l组曲谱音符至第l k组曲谱音符,则将第i组主旋律音符与第l组曲谱音符进行关联,将第i 1组主旋律音符与第l 1组曲谱音符进行关联,将第i 2组主旋律音符与第l 2组曲谱音符进行关联,以此类推,直至将第i k组主旋律音符与第l k组曲谱音符进行关联。
96.s311:令i=i k 1,j=a 1,其中,a为所述最佳匹配音符串中的最后一组曲谱音符在曲谱中的序号,即j=l k 1,然后继续执行步骤s301,直至遍历完音符序列。
97.s312:判断k是否达到预设的阈值,若是,则执行步骤s308,若否,则执行步骤s313。
98.s313:令k=k 1,然后继续执行步骤s305;即扩大待匹配音符串,重新进行查找,直到匹配到的最佳匹配音符串的数量为1。
99.s4:播放所述待同步音频时,根据各组主旋律音符的起止时间以及所述对应关系,确定当前播放时间对应的曲谱音符,并在曲谱中高亮显示所述对应的曲谱音符。
100.具体地,本步骤包括如下步骤:
101.s401:播放待同步音频,并实时获取播放进度,得到当前播放时间;即实时获取音频的播放进度。
102.s402:根据当前播放时间以及所述音符序列中各组主旋律音符的起止时间,确定当前播放时间对应的主旋律音符。
103.即若当前播放时间处于一组主旋律音符的起止时间之间,则将该组主旋律音符作为当前播放时间对应的主旋律音符,即当前播放的主旋律音符。
104.s403:根据所述对应关系,获取当前播放时间对应的主旋律音符关联的曲谱音符,得到当前播放时间对应的曲谱音符。
105.即根据主旋律音符与曲谱音符的对应关系,获取与当前播放的主旋律音符对应的曲谱音符,作为当前播放时间对应的曲谱音符。
106.s404:显示曲谱,并高亮显示当前播放时间对应的曲谱音符。
107.本实施例中,仅高亮显示当前播放时间对应的曲谱音符。在其他可选的实施例中,也可高亮显示当前播放时间对应的曲谱音符所在的小节中的所有曲谱音符,即小节的高亮会从该小节的第一组曲谱音符播放的时候开始,直到该小节的最后一组曲谱音符播完。
108.本实施例通过识别主旋律轨道中的音符播放顺序,控制曲谱的高亮显示顺序,可以以音频为主实现谱音同步,不受曲谱中反复记号影响,使得用户能够在听赏音频时,更准确地和曲谱进行对照查看;通过高亮显示当前播放时间对应的曲谱音符或其所在的小节,可以实现音符级别的准确走谱,也可以实现逐个小节准确走谱,满足多样化需求。
109.实施例二
110.本实施例是实施例一中步骤s3中的步骤s313的另一种实施方式,即查找到两个以上的最佳匹配音符串时的另一种实施方式。
111.本实施例中,待同步音频为歌曲音频,主旋律音轨为人声音轨。
112.步骤s2之后,进一步包括:根据主旋律音轨,通过音频转文本技术,生成歌词序列,并获取歌词序列中各歌词的起止时间;然后根据音符序列中各组主旋律音符的起止时间以及歌词序列中各歌词的起止时间,确定主旋律音符与歌词的对应关系。
113.也就是说,除了提取音符序列外,还可使用音频转文本技术,如tdnn(时延神经网络),提取歌词序列,然后按照时间顺序,标记音符与歌词间的对应关系。
114.本实施例的步骤s313包括如下步骤:
115.s3131:根据主旋律音符与歌词的对应关系,获取待匹配音符串对应的待匹配歌词串;即根据主旋律音符与歌词的对应关系,分别确定待匹配音符串中各组主旋律音符对应的歌词,得到待匹配歌词串。
116.s3132:根据曲谱,分别获取各最佳匹配音符串对应的歌词串。
117.一般在曲谱中,音符下面会有其对应的歌词,本步骤即在曲谱中获取各最佳匹配音符串下的歌词,得到对应的歌词串。
118.s3133:分别计算待匹配歌词串与各最佳匹配音符串对应的歌词串的匹配度,并获取匹配度最高的歌词串对应的最佳匹配音符串,作为唯一最佳匹配音符串。
119.具体地,依序提取待匹配歌词串中的每个字,然后通过逐字查找,或根据预设的字与发音的关联关系,获取字的发音,得到待匹配歌词串的发音串;同理,获取各最佳匹配音符串对应的歌词串的发音串;然后分别将待匹配歌词串的发音串与各最佳匹配音符串对应的歌词串的发音串进行比较,确定发音匹配个数,匹配个数越高,匹配度越高;最后将匹配个数最多的歌词串对应的最佳匹配音符串作为唯一最佳匹配音符串。
120.例如,假设待匹配歌词串的发音串为“wo shi zhong guo ren”,最佳匹配音符串1对应的歌词串的发音串为“wo shi fu jian ren”,最佳匹配音符串2对应的歌词串的发音
串为“wo lai zi di qiu”,最佳匹配音符串3对应的歌词串的发音串为“wo shi zhong guo ren”,由于最佳匹配音符串3对应的歌词串的发音串与待匹配歌词串的发音串的相同发音个数越多,因此将最佳匹配音符串3作为唯一最佳匹配音符串。
121.s3134:分别将所述待匹配音符串中的各组主旋律音符与所述唯一最佳匹配音符串中的各组曲谱音符按照顺序一一对应进行关联。该步骤可参照步骤s310。
122.s3135:令i=i k 1,j=b 1,b为所述唯一最佳匹配音符串中的最后一组曲谱音符在曲谱中的序号,继续执行步骤s301,直至遍历完音符序列。
123.本实施例在实施例一的基础上增加歌词识别,当匹配到多个最佳匹配音符串时,进一步计算歌词匹配度,无需增加k进行扩大化搜索。
124.实施例三
125.本实施例是对应上述实施例的一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的曲谱与音频的同步方法实施例中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
126.综上所述,本发明提供的一种曲谱与音频的同步方法及计算机可读存储介质,通过识别主旋律音轨中的音符播放顺序,控制曲谱的播放顺序,可以以音频为主实现谱音同步,不受曲谱中反复记号影响;通过高亮显示当前播放时间对应的曲谱音符或其所在的小节,可以实现音符级别的准确走谱,同时也可以实现逐个小节准确走谱,满足多样化需求。本发明可实现谱音同步,使得播放音频时,用户可以更准确地对照查看曲谱。
127.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献