1.本发明涉及音频处理领域,尤其涉及一种谱音同步方法及终端。
背景技术:2.在歌曲播放过程中,为了让用户能够直观地看到播放的歌曲中播放的音频当前是走到哪个音,会将曲谱与音频同步地播放,即随着音频的播放,会在曲谱上同步的进行走谱。在大多数情况下,音频中每拍的时间都是恒定的,所以只要曲谱中给定的速度与音频中歌曲的播放速度一致,曲谱按照这个给定的速度进行走谱,就可以在与音频同时播放时保持谱音的同步,即音频当前播放到哪个音,曲谱也同时走到该音所在的曲谱中的位置。
3.但是,也存在一些特殊情况,即音频中每拍的时间都不是恒定的,或者音频中部分音的每拍时间与其它音的每拍时间不一致,比如一首歌曲的速度是四分音符为一拍,一分钟有60拍,即一拍的时间为1秒钟,但是歌曲有部分地方或全部地方由歌手自由发挥演唱,歌手在这些自由发挥的地方演唱的每拍的时间在0.5秒到2秒之间浮动,这就导致歌曲部分地方或者全部地方的每拍时间都不是1秒,此时,若按照曲谱文件给定的速度进行走谱,则在与音频同步播放时,就会出现曲谱的部分音或全部音符的起止时间与音频中对应音符的起止时间不一致的问题,即谱音不同步,也就是说,音频当前播放的音与曲谱当前走到的音不是同一个音。
技术实现要素:4.本发明所要解决的技术问题是:提供一种谱音同步方法及终端,能够提高播放过程中音频播放的音与曲谱走到的音的同步性。
5.为了解决上述技术问题,本发明采用的一种技术方案为:
6.一种谱音同步方法,包括步骤:
7.s1、根据待播放音频确定所述待播放音频的演唱歌词中每个字的第一起止时间;
8.s2、获取与所述待播放的音频对应的曲谱文件,根据所述曲谱文件和所述第一起止时间确定与所述曲谱文件对应的演唱歌词中每个字的第二起止时间;
9.s3、根据所述第二起止时间确定所述曲谱文件中对应音符的起止时间。
10.为了解决上述技术问题,本发明采用的另一种技术方案为:
11.一种谱音同步终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述谱音同步方法中的各个步骤。
12.本发明的有益效果在于:先根据待播放音频确定待播放音频中每一个字的第一起止时间,接着根据待播放音频对应的曲谱文件和第一起止时间确定与曲谱文件对应的演唱歌词中每个字的第二起止时间,然后根据第二起止时间确定曲谱文件中对应音符的起止时间;对齐待播放音频的演唱歌词中的每个字和曲谱文件对应的演唱歌词中的每个字,然后基于对齐后演唱歌词中的每个字的起止时间确定曲谱文件中对应音符的起止时间,能够实现待播放音频的每一个音与其对应的曲谱文件的每一个音的对准,提高了播放过程中音频
播放的音与曲谱走到的音的同步性,适用于各种歌曲的播放中,比如变速歌曲等。
附图说明
13.图1为本发明实施例的一种谱音同步方法的步骤流程图;
14.图2为本发明实施例的一种谱音同步终端的结构示意图;
15.图3为本发明实施例引用的歌曲《水乡外婆桥》的曲谱示意图;
16.图4为本发明实施例的图3所示的曲谱对应的波形与歌词的对应示意图;
17.图5为本发明实施例引用的歌曲《树叶儿飘飘》的倒数第二小节曲谱示意图;
18.图6为本发明实施例的图4所示的曲谱对应的波形与歌词的对应示意图;
19.图7为本发明实施例的图4所示的曲谱对应的波形与音符的对应示意图;
20.图8为本发明实施例的图7所示的音符时间长度调整后的示意图;
21.图9为本发明实施例引用的歌曲《树叶儿飘飘》的前奏示意图;
22.图10为本发明实施例的图9所示的调整前的前奏的位置示意图;
23.图11为本发明实施例的图9所示的调整后的前奏的位置示意图;
24.图12为本发明实施例引用的一曲谱示意图;
25.图13为本发明实施例引用的另一曲谱示意图;
26.图14为本发明实施例的包含多声部曲谱的曲谱示意图;
27.图15为本发明实施例的包含多声部曲谱且除第一声部外存在有独立歌词的声部的曲谱示意图。
具体实施方式
28.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
29.请参照图1,一种谱音同步方法,包括步骤:
30.s1、根据待播放音频确定所述待播放音频的演唱歌词中每个字的第一起止时间;
31.s2、获取与所述待播放的音频对应的曲谱文件,根据所述曲谱文件和所述第一起止时间确定与所述曲谱文件对应的演唱歌词中每个字的第二起止时间;
32.s3、根据所述第二起止时间确定所述曲谱文件中对应音符的起止时间。
33.由上述描述可知,本发明的有益效果在于:先根据待播放音频确定待播放音频中每一个字的第一起止时间,接着根据待播放音频对应的曲谱文件和第一起止时间确定与曲谱文件对应的演唱歌词中每个字的第二起止时间,然后根据第二起止时间确定曲谱文件中对应音符的起止时间;对齐待播放音频的演唱歌词中的每个字和曲谱文件对应的演唱歌词中的每个字,然后基于对齐后演唱歌词中的每个字的起止时间确定曲谱文件中对应音符的起止时间,能够实现待播放音频的每一个音与其对应的曲谱文件的每一个音的对准,提高了播放过程中音频播放的音与曲谱走到的音的同步性,适用于各种歌曲的播放中,比如变速歌曲等。
34.进一步地,所述s1还包括:
35.根据待播放音频确定所述待播放音频的纯音符部分中每个音符的第三起止时间;
36.所述s3还包括:
37.根据所述曲谱文件和所述第三起止时间确定与所述曲谱文件对应的的纯音符部分中每个音符的第四起止时间。
38.由上述描述可知,由于待播放音频中既包括有歌词部分,也包括没有歌词并且有音符的纯音符部分,因此,针对纯音符部分也先根据待播放音频确定其包含的每个音符的第三起止时间,然后根据曲谱文件和第三起止时间确定出纯音符部分中每个音符的第四起止时间,进一步保证了播放过程中音频播放的音与曲谱走到的音的同步性。
39.进一步地,所述根据所述曲谱文件和所述第一起止时间确定与所述曲谱文件对应的演唱歌词中每个字的第二起止时间包括:
40.根据所述曲谱文件中预设的速度对所述曲谱文件对应的演唱歌词按照时间先后顺序进行展开;
41.根据所述待播放音频的演唱歌词中每个字的第一起止时间调整所述按照时间先后顺序展开的曲谱文件对应的演唱歌词,得到所述曲谱文件对应的演唱歌词中每个字的第二起止时间。
42.由上述描述可知,先根据曲谱文件中预设的速度对其对应的演唱歌词按照时间先后顺序展开,然后通过第一起止时间对展开后的演唱歌词进行调整,从而实现展开后的演唱歌词与每个字的第一起止时间的对齐,保证了播放过程中音频播放的音与曲谱走到的音的同步性。
43.进一步地,所述s3中在确定所述曲谱文件中每个音符的起止时间之前还包括:
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.由上述描述可知,在进行音符的起止时间的确定时,既考虑歌词与音符的对应关系,还考虑音符时值的比例关系,能够保证所确定出的音符的起止时间的准确性。
76.进一步地,所述根据歌词与音符的对应关系、音符时值的比例关系和所述第二起止时间确定所述曲谱文件中每个音符的起止时间包括:
77.对所述待播放的音频中的每一个字执行如下步骤:
78.根据歌词与音符的对应关系确定所述字对应的音符个数;
79.如果所述字对应的音符个数为一,则所述字对应的音符的起止时间为所述字对应的第二起止时间;
80.如果所述字对应的音符个数为两个以上,则确定所述字对应的音符之间的音符时值的比例关系;
81.根据所述音符时值的比例关系和所述字对应的第二起止时间确定所述字对应的每一个音符对应的起止时间。
82.由上述描述可知,通过对待播放音频中的演唱歌词的每个字与音频的对应关系以及每个字对应的音符之间的音符时值的比例关系确定每个音符对应的起止时间,保证了所确定出的每个音符对应的起止时间的准确性。
83.进一步地,所述s3还包括:
84.判断所述曲谱文件中是否包含多个声部曲谱;
85.若是,则在对其中一个第一声部曲谱确定出其对应的每个音符的起止时间后,根据其余声部曲谱与所述第一声部曲谱的音符之间的对应关系确定其余声部曲谱对应的每个音符的起止时间。
86.由上述描述可知,针对多声部曲谱,在确定出其中一个声部曲谱中每个音符的起止时间后,能够直接基于已确定出的声部曲谱确定其余声部曲谱中每个音符的起止时间,
方便快捷。
87.进一步地,所述根据其余声部曲谱与所述第一声部曲谱的音符之间的对应关系确定其余声部曲谱对应的每个音符的起止时间包括:
88.判断在同一时间段内其余声部曲谱与所述第一声部曲谱的音符之间是否为一一对应的并且音符时值相同的关系,若是,则根据同一时间段内所述第一声部曲谱的每个音符的起止时间确定对应的所述其余声部曲谱的每个音符的起止时间;
89.若否,则根据同一时间段内所述第一声部曲谱的每个音符的起止时间和音符时值以及所述其余声部曲谱的各个音符的音符时值的比例关系确定所述其余声部曲谱的每个音符的起止时间。
90.由上述描述可知,在根据不同声部曲谱的音符之间的关系确定待确定的声部曲谱的每个音符的起止时间时,既考虑不同声部曲谱的音符之间的相互关系,也考虑待确定的声部曲谱的各个音符的音符时值的比例关系,保证了所确定出的每个音符对应的起止时间的准确性。
91.进一步地,判断所述曲谱文件中是否包含多个声部曲谱,且除了所述第一声部外存在有独立歌词的声部;
92.若是,对符合条件的声部曲谱确定出其对应的每个音符的起止时间后,根据在同一时间段内所述符合条件的声部曲谱的每个歌词与所述符合条件的声部曲谱的音符之间的对应关系,及所述符合条件的声部曲谱的各个音符的起止时间和音符时值的比例关系确定所述符合条件的声部曲谱的每个歌词的起止时间。
93.由上述描述可知,当曲谱文件中包含多个声部曲谱,并且除了第一声部外存在有独立歌词的声部时,在确定出符合条件的声部曲谱的每个音符的起止时间后,可以根据符合条件的声部曲谱的每个歌词与所述符合条件的声部曲谱的音符之间的对应关系,及所述符合条件的声部曲谱的各个音符的起止时间和音符时值的比例关系确定所述符合条件的声部曲谱的每个歌词的起止时间,能够方便快捷地确定出各个声部曲谱的每个歌词的起止时间。
94.如图2所示,一种谱音同步终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述谱音同步方法中的各个步骤。
95.实施例一
96.请参照图1,一种谱音同步方法,包括步骤:
97.s1、根据待播放音频确定所述待播放音频的演唱歌词中每个字的第一起止时间;
98.具体的,分离出待播放的音频中的人声,根据分离出的人声确定所述待播放的音频中演唱歌词的每个字的第一起止时间;
99.其中,可以采用d3net算法或spleeter算法等将歌曲音频中的人声分离出来;然后从分离出的人声中用gop算法确定待播放的音频中演唱歌词的每个字的第一起止时间;
100.s2、获取与所述待播放音频对应的曲谱文件,根据所述曲谱文件和所述第一起止时间确定与所述曲谱文件对应的演唱歌词中每个字的第二起止时间;
101.具体的,根据所述曲谱文件中预设的速度对所述曲谱文件对应的演唱歌词按照时间先后顺序进行展开;
102.其中,如果曲谱文件中有反复记号,则按照反复记号信息对曲谱进行展开;
103.根据所述待播放音频的演唱歌词中每个字的第一起止时间调整所述按照时间先后顺序展开的曲谱文件对应的演唱歌词,得到所述曲谱文件对应的演唱歌词中每个字的第二起止时间;
104.其中,调整具体的是:将展开后的歌词按照时间先后顺序与所述每个字的第一起止时间进行对齐,从而重新确定展开后的歌词在音频中的起止时间;
105.s3、根据所述第二起止时间确定所述曲谱文件中对应音符的起止时间。
106.实施例二
107.本实施例进一步限定了对待播放音频的纯音符部分的音符的起止时间的确定,具体的:
108.所述s1还包括:
109.根据待播放音频确定所述待播放音频的纯音符部分中每个音符的第三起止时间;
110.其中,待播放音频的纯音符部分包括待播放音频中没有演唱歌词并且只有演奏音符的部分,比如前奏、主歌和副歌之间的过渡等;
111.所述s3还包括:
112.根据所述曲谱文件和所述第三起止时间确定与所述曲谱文件对应的的纯音符部分中每个音符的第四起止时间。
113.实施例三
114.本实施例进一步限定了在所述s3中在确定所述曲谱文件中每个音符的起止时间之前还包括:
115.根据所述待播放音频对目标起止时间进行校正,所述目标起止时间包括所述第二起止时间、所述第四起止时间及由第二起止时间确定的对应音符的起止时间中的至少一个;
116.也就是说,可以对第二起止时间进行校正或者对第四起止时间进行校正或者对由第二起止时间确定的对应音符的起止时间进行校正,还可以同时对第二起止时间、第四起止时间、由第二起止时间确定的对应音符的起止时间均进行校正;
117.在一个可选的实施方式中,当对第二起止时间进行校正时,则s3包括:
118.根据所述待播放音频校正所述第二起止时间,并基于校正后的第二起止时间确定所述曲谱文件中对应音符的起止时间;
119.在一个可选的实施方式中,当对第四起止时间进行校正时,则s3包括:
120.根据所述待播放音频校正所述第四起止时间;
121.在一个可选的实施方式中,当对由第二起止时间确定的对应音符的起止时间进行校正时,则s3包括:
122.根据所述待播放音频校正所述第二起止时间,并基于校正后的第二起止时间确定所述曲谱文件中对应音符的起止时间;然后再对由校正后的第二起止时间确定的对应音符的起止时间进行校正。
123.实施例三
124.本实施例具体限定了如何根据所述待播放音频校正目标起止时间的一种方式:
125.将所述待播放音频转换成时域上的波形;
126.根据所述波形确定所述待播放音频的每个目标对象的起始点和终止点,当所述目标起止时间为第二起止时间时,所述目标对象为所述演唱歌词中的字,当所述目标起止时间为第四起止时间时,所述目标对象为所述纯音符部分中的音符;当所述目标起止时间为由第二起止时间确定的对应音符的起止时间时,所述目标对象为由第二起止时间确定的对应音符;
127.根据所述每个目标对象的起始点和终止点对所述每个目标对象对应的所述目标起止时间进行校正;
128.其中,根据所述波形确定所述待播放的音频中每个目标对象的起始点和终止点包括:
129.按照时间顺序遍历所述波形中的每个时间点,对于遍历到的时间点:
130.判断从所述时间点开始的第一预设时间内所述波形的幅度是否增大到所述波形的最大幅度的第一预设比例以上,若是,则所述时间点为一个目标对象的起始点;
131.若否,判断从所述时间点开始的第二预设时间内所述波形的幅度是否减小到所述波形的最大幅度的第二预设比例以下,若是,则所述时间点为一个目标对象的终止点;
132.否则,继续遍历所述波形中的下一个时间点直至遍历完所述波形中的每个时间点;
133.根据遍历完成后确定的所有目标对象的起始点和终止点确定所述待播放音频的每个目标对象的起始点和终止点;
134.其中,第一预设时间、第一预设比例、第二预设时间以及第二预设比例能够根据不同歌曲的不同进行灵活地自适应地改变;
135.以图3所示的歌曲《水乡外婆桥》为例,图4中最上面的黑色波形为待播放音频对应的时域上的波形,其中央设置为0,其幅度随声音的变化上下波动,音量越大,则上下波动的振幅也越大,当某个歌词开始演唱时,波动幅度会在0.05秒内突然增大到波形最大幅度的一半以上,可以以此确定歌词的演唱开始时间,当某个歌词结束演唱时,波动幅度会随着演唱音量变小而缩减到波形最大幅度的20%以下,可以以此确定歌词的演唱结束时间,黑色波形下方的不同颜色的颜色块是曲谱展开时对应的每个歌词的起止时间(每个颜色块的左右边缘代表每个歌词的起止时间,颜色块长度代表一个歌词演唱的长度,颜色块中的字代表歌词),颜色块的下方是时间刻度(最小刻度单位是100毫秒),从黑色波形到时间刻度有一条竖线是当前播放进度的进度条,时间刻度下方是播放与播放的进度控制,即在根据波形图确定出演唱歌词中每个字的起止时间后,能够直接根据显示的内容对各个字对应的颜色块在时间轴上的起止位置进行动态调整;
136.其中,当音频播放的时候,播放进度条也会移动到当前音频播放时刻对应的波形时刻上,这样可以更直观的观察到音频与波形的关系,从而确定歌词、音频中的唱词与波形三者的对应关系。
137.实施例四
138.本实施例具体限定了如何根据所述待播放音频校正目标起止时间的另一种方式:
139.播放所述待播放的音频,对所述待播放音频进行语音识别或音调识别,确定所述待播放音频的演唱歌词或演奏音乐中每个目标对象的起始点和终止点,当所述目标起止时间为第二起止时间时,所述目标对象为所述演唱歌词中的字,当所述目标起止时间为第四
起止时间时,所述目标对象为所述纯音符部分中的音符;当所述目标起止时间为由第二起止时间确定的对应音符的起止时间时,所述目标对象为由第二起止时间确定的对应音符;
140.根据所述每个目标对象的起始点和终止点对每个目标对象对应的目标起止时间进行校正;
141.本实施例给出了自动校正目标起止时间的方式,即先通过语音识别或音调识别,识别当前演唱的歌词与对应曲谱中的歌词是否一致或当前演奏的音符与对应曲谱中的音符是否一致,若不一致,则进行自动调整;
142.在另一个可选的实施方式中,在自动调整完后,还可以采用实施例三波形校正的方式再进行一次校正。
143.实施例五
144.本实施例具体限定了如何根据所述待播放音频校正目标起止时间的另一种方式:
145.根据所述目标起止时间按照播放顺序对所述待播放音频的每个目标对象进行对应显示,相邻的目标对象用不同的色块进行区分,色块在时间轴上的起止位置表示每个目标对象对应的起止时间,色块在时间轴上的长度表示每个目标对象对应的时间长度,当所述目标起止时间为第二起止时间时,所述目标对象为所述演唱歌词中的字,当所述目标起止时间为第四起止时间时,所述目标对象为所述纯音符部分中的音符;当所述目标起止时间为由第二起止时间确定的对应音符的起止时间时,所述目标对象为由第二起止时间确定的对应音符;
146.播放所述待播放音频,播放的过程中在所述色块上同步显示进度条;
147.接收操作对象根据所述播放的音频和所述进度条所指示的目标对象之间的偏差发送的调整指令;
148.根据所述调整指令校正所述目标起止时间;
149.其中,所述调整指令包括待调整色块以及调整方式;
150.所述根据所述调整指令校正所述第二起止时间包括:
151.根据所述待调整的色块以及调整方式对所述待调整的色块的时间轴方向的起止时间边界进行调整;或者对所述待调整的色块整体沿时间轴方向拖动;
152.根据调整后的色块在时间轴上的起止位置确定所述目标起止时间;
153.具体的,如图4所示,当音频播放时,进度条向前移动,用户可以通过听音频确定当前播放的歌词演唱时间是否与进度条中对应的色块歌词一致,如果不一致可对色块的起止进行调整(每个色块的左右边界可向左向右延伸,色块也可整体向左向右拖,还可以所有色块整体偏移或其中部分色块偏移),以保证音频中对应时刻的歌词与色块中的歌词起止时间是一致的,且音频中前后连续播放的歌词与色块中前后连续出现的歌词一致,通过调整,保证曲谱中展开后所有的歌词的时间都能与音频中对应的歌词的时间一致,并保存;
154.在一个可选的实施方式中,可以在实施例四的基础上进一步执行本实施例的手动调整的过程:
155.比如以图5所示的歌曲《树叶儿飘飘》的倒数第二小节为例,歌词“看”和“风”字对应的起止时间如图6所示,每个音符的起止时间经过实施例三的操作之后的时间如图7所示;此时如果听音频,发现“看”的音5的时间并没有那么多,则可以拖动音5的色块的左右边界,使其与音频对齐,如图8所示;
156.其中,在对前奏对应的音符的起止时间进行调整时,也可以采用上述基于色块歌词调整的方式,由于前奏没有歌词,所以做谱音同步的时候,只能边听音频、边看波形、边调整色块的起止位置,比如如图9所示歌曲《树叶儿飘飘》的前奏示意图,图10为调整前的前奏的位置,图11为调整后的前奏的位置。
157.实施例六
158.本实施例具体限定了如何基于第二起止时间确定所述曲谱文件中每个音符的起止时间:
159.根据歌词与音符的对应关系、音符时值的比例关系和所述校正后的每个字的第二起止时间确定所述曲谱文件中每个音符的起止时间;
160.具体的,对所述待播放的音频中的每一个字执行如下步骤:
161.根据歌词与音符的对应关系确定所述字对应的音符个数;
162.如果所述字对应的音符个数为一,则所述字对应的音符的起止时间为所述字对应的第二起止时间;
163.如果所述字对应的音符个数为两个以上,则确定所述字对应的音符之间的音符时值的比例关系;
164.根据所述音符时值的比例关系和所述字对应的第二起止时间确定所述字对应的每一个音符对应的起止时间;
165.比如图3中的第三歌词“杨”对应只有一个音符5,则音符5的起止时间和歌词“杨”的起止时间一致;
166.再比如图12所示的第三个歌词“我”对应有四个音符,分别是5、1、3、5,由于这四个音符都是八分音符,即演唱时长相同,所以这四个音符平分了歌词“我”的时间,即可得到这四个音符的起止时间;
167.再比如图13,第四个歌词“歌”对应有四个音符,分别是附点八分音符5、十六分音符6、八分音符7、八分音符6,由于这四个音符的时长不同,因此这四个音符占这个歌词的时间长度也不同,第一个音符占这个歌词时长的37.5%,第二个音符占这个歌词时长的12.5%,第三和第四个音符均占这个歌词时长的25%,即可得到这四个音符的起止时间;
168.之后在播放音频和曲谱时,曲谱按照本实施例确定的歌词和音符的时间进行走谱,就能实现与音频播放的同步(即音频当前播到哪个音符哪个歌词,曲谱也同时走到该音符和该歌词所在的位置),即谱音同步。
169.上述实施例三至实施例六中所述的三种校正目标起止时间的方式可以根据需要进行不同的组合应用以进一步提高同步效果。
170.实施例七
171.本实施例描述了针对多声部曲谱应用场景下如何确定每个音符的起止时间,具体的:
172.所述s3还包括步骤:
173.判断所述曲谱文件中是否包含多个声部曲谱;
174.若是,则在对其中一个声部曲谱确定出其对应的每个音符的起止时间后,根据其余声部曲谱与所述其中一个声部曲谱的音符之间的对应关系确定其余声部曲谱对应的每个音符的起止时间;
175.其中,根据其余声部曲谱与所述第一声部曲谱的音符之间的对应关系确定其余声部曲谱对应的每个音符的起止时间包括:
176.判断在同一时间段内其余声部曲谱与所述第一声部曲谱的音符之间是否为一一对应的并且音符时值相同的关系,若是,则根据同一时间段内所述第一声部曲谱的每个音符的起止时间确定所述其余声部曲谱的每个音符的起止时间;
177.若否,则根据同一时间段内所述第一声部曲谱的每个音符的起止时间和音符时值以及所述其余声部曲谱的各个音符的音符时值的比例关系确定所述其余声部曲谱的每个音符的起止时间;
178.如图14所示,为歌曲《猎人合唱》的部分曲谱信息,从图中可以看出这一行由两个声部组成,假定图中上一行的音符做过谱音同步,下一行音符还没有做谱音同步,则计算下一行音频的时间时,同步上一行的音符的时间即可,以达到两个声部播放时音符同步显示的目的;
179.具体的做法如下:
180.按前后顺序提取上一行对应小节的每个音对应的时值与起止时间;也同样按前后顺序分析下一行对应小节每个音的时值,通过时值来确定下一行某个音符与上一行的哪些音符对应(不同声部在同一个时间段音符有可能是一对一,也有可能是多对一,或一对多)并把对应上一行音符的时间赋值给下一行对应的音符;
181.例如图中第一小节第一声部有三个音符4、3、3,音的时值为四分音符、八分音符、八分音符,第二声部的对应小节也有三个音符6、1、1,对应的音的时值为四分音符、八分音符、八分音符,由于对应音符的时值相同,则第二声部的这三个音的起止时间与第一声部的对应三个音的起止时间相同;
182.第一声部第四小节中有两个音0、0,音的时值为四分音符、四分音符,第二声部第四小节中有六个音5、5、5、5、5、5,音的时值为八分音符、十六分音符、十六分音符、八分音符、十六分音符、十六分音符,则第二声部第四小节的前三个音符按时值比例并根据第一声部第四小节第一个音的起止时间来确定每个音的起止时间,第二声部第四小节的后三个音做相同处理。
183.实施例八
184.本实施例描述了针对多声部曲谱应用场景下如何确定除了第一声部外存在有独立歌词的声部的歌词的起止时间,具体的:
185.判断所述曲谱文件中是否包含多个声部曲谱,且除了所述第一声部外存在有独立歌词的声部;
186.若是,对符合条件的声部曲谱确定出其对应的每个音符的起止时间后,根据在同一时间段内所述符合条件的声部曲谱的每个歌词与所述符合条件的声部曲谱的音符之间的对应关系,及所述符合条件的声部曲谱的各个音符的起止时间和音符时值的比例关系确定所述符合条件的声部曲谱的每个歌词的起止时间。如图14所示,当根据实施例七得出第二声部每个音符的起止时间后,就可以得到第二声部所对应几个歌词的起止时间;
187.具体做法如下:
188.图14中第二声部只有第三和第四小节有歌词,且每个歌词对应一个音符,则对应音符的起止时间为对应歌词的起止时间。即第一个歌词“啦”对应第二声部第三小节第二个
音符5,则该音符的起止时间为对应歌词的起止时间;又如第二个歌词“啦”对应第二声部第四小节第一个音符5,则该音符的起止时间为对应歌词的起止时间;
189.如图15所示为歌曲《静夜思》曲谱片段,第二声部每个小节都有歌词,每个歌词对应的音符数量不一样,则每个歌词的起始时间为所对应第一个音符的起始时间,每个歌词的结束时间为所对应最后一个音符的结束时间。例如第二小节的第二个歌词“头”对应有两个音符前后排列为1和6,则该歌词的起始时间为对应第一音符1的起始时间,该歌词的结束时间为对应最后一个音符6的结束时间。又如第三小节第一个歌词“月”对应有四个音符前后排列为3、5、2和3,则该歌词的起始时间为对应第一个音符3的起始时间,该歌词的结束时间为对应最后一个音符3的结束时间。
190.实施例九
191.请参照图2,一种谱音同步终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例一至实施例七中任一个所述的一种谱音同步方法中的各个步骤。
192.综上所述,本发明提供的一种谱音同步方法及终端,先根据待播放的音频确定待播放的音频的演唱歌词中每一个字的第一起止时间以及纯音符部分中每个音符的第三起止时间,接着根据待播放的音频对应的曲谱文件、第一起止时间和第三起止时间确定与曲谱文件对应的演唱歌词中每个字的第二起止时间和纯音符部分中每个音符的第四起止时间,再根据待播放的音频对第二起止时间和第四起止时间进行校正,最后根据校正后的第二起止时间和第四起止时间确定曲谱文件中每个音符的起止时间;先基于歌词中的每个字和纯音符部分中每个音符对齐待播放的音频中演唱歌词的每个字和纯音符部分的每个音符以及曲谱文件对应的演唱歌词中的每个字和纯音符部分的每个音符,再基于待播放的音频对曲谱文件中对齐后的每个字和每个音符的起止时间进一步校正,最后基于校正后的每个字和每个音符的起止时间确定曲谱文件中每个音符的起止时间,能够实现待播放的音频的每一个音与其对应的曲谱文件的每一个音的对准,提高了播放过程中音频播放的音与曲谱走到的音的同步性,适用于各种歌曲的播放中,比如变速歌曲等,其中,校正方式可以有不同的方式,并且可以进行自由组合,灵活性高,并且对于多声部曲谱的应用场景,一旦有个声部曲谱已经完成谱音同步,则其它声部曲谱能够直接基于已完成的进行应用,直接基于已完成的声部曲谱进行谱音同步,大大提高谱音同步的便利性和效率。
193.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。