歌词校正方法及装置
技术领域
本申请涉及一种具有时间轴的歌词的校正方法及装置,尤其涉及一种通过所述歌词对应的歌曲检测所述歌词在各个时间标签有无人声,进而调整所述歌词在各个时间标签的时间值。
背景技术
目前用于与播放的歌曲同步显示的歌词(例如,LRC歌词)实质上是在歌词中建立一种歌词内容与歌曲之间的对应关系,因此这种歌词是按照每一段歌词内容在歌曲沿播放时间轴出现的时间编辑而成的,每段歌词内容在播放过程中出现的时间被记录至相应的时间标签中,因此这种具有时间轴的歌词不仅记录每段歌词的歌词内容,同时还记录了与其对应的歌曲同步播放的时间信息。歌词中的各个时间标签记录的时间值的准确性直接影响到用户对音乐的体验,但是现有技术中,这种歌词通常是通过手工编辑得到的,因此这种歌词中的各个时间标签的时间值在编辑过程中难免会出现偏差,导致歌词不能在其对应的歌曲播放过程中准确出现,从而影响了人们在卡拉ok和日常听歌时的对歌曲的音乐体验。
发明内容
本发明的目的在于提供一种具有时间轴的歌词的校正方法和装置,不仅能够根据歌词对应的歌曲自动校正歌词的时间标签,而并且能够进一步保证歌词播放的准确性。
据本发明的一方面,提供一种具有时间轴的歌词的校正方法,包括:获取所述歌词的任一时间标签及该时间标签对应的歌词信息;检测所述歌词对应的歌曲在该时间标签的时间值两侧的音频数据有无人声;根据该时间标签对应的歌词信息和所述检测的结果,调整所述歌词在该时间标签的时间值。
优选地,该时间标签两侧的音频数据为该时间标签的时间值以后第一时间段的音频数据和该时间标签的时间值以前第二时间段的音频数据。
优选地,调整所述歌词在该时间标签的时间值的步骤包括:当该时间标签对应的歌词信息包含歌词内容,并且第一时间段和第二时间段的音频数据都无人声时,在所述歌词对应的歌曲中从该时间标签的时间值向后查找首次出现人声的时间值,并将该时间标签的时间值调整为所述查找到的时间值。
优选地,调整所述歌词在该时间标签的时间值的步骤包括:当该时间标签对应的歌词信息包含歌词内容,并且第一时间段和第二时间段的音频数据都有人声时,在所述歌词对应的歌曲中从该时间标签的时间值向前查找首次出现无人声的时间值,并将该时间标签的时间值调整为所述查找到的时间值。
优选地,调整所述歌词在该时间标签的时间值的步骤包括:当该时间标签对应的歌词信息不包含歌词内容,并且第一时间段和第二时间段的音频数据都无人声时,在所述歌词对应的歌曲中从该时间标签的时间值向前查找首次出现人声的时间值,并将该时间标签的时间值调整为所述查找到的时间值。
优选地,调整所述歌词在该时间标签的时间值的步骤包括:当该时间标签对应的歌词信息不包含歌词内容,并且第一时间段和第二时间段的音频数据都有人声时,在所述歌词对应的歌曲中从该时间标签的时间值向后查找首次出现无人声的时间值,并将该时间标签的时间值调整为所述查找到的时间值。
据本发明的另一方面,提供一种具有时间轴的歌词的校正装置,包括:歌词获取单元,用于获取所述歌词的任一时间标签及该时间标签对应的歌词信息;音频检测单元,用于检测所述歌词对应的歌曲在该时间标签的时间值两侧的音频数据有无人声;歌词调整单元,用于根据该时间标签对应的歌词信息和所述检测的结果,调整所述歌词在该时间标签的时间值。
优选地,该时间标签两侧的音频数据为该时间标签的时间值以后第一时间段的音频数据和该时间标签的时间值以前第二时间段的音频数据。
优选地,当该时间标签对应的歌词信息包含歌词内容,并且第一时间段和第二时间段的音频数据都无人声时,所述歌词调整单元在所述歌词对应的歌曲中从该时间标签的时间值向后查找首次出现人声的时间值,并将该时间标签的时间值调整为所述查找到的时间值。
优选地,当该时间标签对应的歌词信息包含歌词内容,并且第一时间段和第二时间段的音频数据都有人声时,所述歌词调整单元在所述歌词对应的歌曲中从该时间标签的时间值向前查找首次出现无人声的时间值,并将该时间标签的时间值调整为所述查找到的时间值。
优选地,当该时间标签对应的歌词信息不包含歌词内容,并且第一时间段和第二时间段的音频数据都无人声时,所述歌词调整单元在所述歌词对应的歌曲中从该时间标签的时间值向前查找首次出现人声的时间值,并将该时间标签的时间值调整为所述查找到的时间值。
优选地,当该时间标签对应的歌词信息不包含歌词内容,并且第一时间段和第二时间段的音频数据都有人声时,所述歌词调整单元在所述歌词对应的歌曲中从该时间标签的时间值向后查找首次出现无人声的时间值,并将该时间标签的时间值调整为所述查找到的时间值。
有益效果
与现有技术相比,本发明具有以下优点:本发明不仅精确了歌词中各个时间标签的时间值,同时还进一步保证了所述歌词与其对应的歌曲在播放上的准确同步,从而进一步增强了用户体验。
附图说明
通过下面结合附图进行的描述,本发明的上述和其他目的和特点将会变得更加清楚,其中:
图1是示出根据本发明的示例性实施例的具有时间轴的歌词的校正方法的流程图;
图2是示出根据本发明的示例性实施例的具有时间轴的歌词的校正装置的结构框图;
图3是示出根据本发明的示例性实施例的歌词结构的示意图;
图4是示出根据本发明的示例性实施例的测试歌曲时间轴同步检测信息的示意图;
图5是示出根据本发明的示例性实施例的检测音频数据中有无人声的方法的流程图;
图6是示出根据本发明的示例性实施例的人声特征提取方法的流程图。
具体实施方式
以下,将参照附图来详细说明本发明的实施例。
本发明的构思是:通过检测所述歌词中各个时间标签两侧对应的音频数据有无人声,进而确定是否需要调整所述各个时间标签的时间值。这种校正方法不仅精确了歌词中各个时间标签的时间值,同时还进一步保证了所述歌词与其对应的歌曲在播放上的准确同步,从而进一步增强了用户体验。
图1示出了本发明一种具有时间轴的歌词的校正方法的优选实施例的流程图。图2示出的一种校正装置可用于实现图1中所述的方法。
参照图1,在步骤S110,所述装置获取所述歌词的任一时间标签及该时间标签对应的歌词信息。
其中,所述歌词记录了与所述歌词对应的歌曲在播放过程中的各个时间标签出现的歌词信息。具体可参看图3示出的歌词结构示意图,从图中可以看出,所述歌词在播放过程中被划分为若干段歌词信息,每个时间标签是每段歌词信息的开始时间,每段歌词信息的结束时间是紧邻下一段歌词信息的开始时间。由于各个时间标签对应的歌词信息可能包含歌词内容,也可能不包含歌词内容(即纯音乐),因此所述各个时间标签两侧的歌词信息的分布有以下三种情况:
(1)包含歌词内容与不包含歌词内容
(2)不包含歌词内容与包含歌词内容
(3)包含歌词内容与包含歌词内容
其中,情况(1)所述的时间标签在所述歌曲中对应的音频分布应该是有人声与无人声的边界时间标签;情况(2)所述的时间标签在所述歌曲中对应的音频分布应该是无人声与有人声的边界时间标签;而情况(3)所述的时间标签虽然是两段相邻歌词的衔接点,但是,歌唱者在唱完上一段歌词时,必须通过换气才能唱到下一段歌词,换句话说,上一段歌词在所述歌曲中对应的音频数据后会出现一段时间范围很短的无人声的音频数据,因此情况(3)所述的时间标签在所述歌曲中对应的音频在短时间范围内可近似地看作是无人声与有人声的边界时间标签。
因此在较短时间范围内,所述各个时间标签两侧的音频分布可划分为以下两种类型,分别是:
⒈有人声与无人声
⒉无人声与有人声
可以看出,所述歌词的各个时间标签同时也是歌曲中有无人声的音频交界时间标签,因此所述各个时间标签的准确性直接反映了所述歌词与其对应的歌曲在播放时间上同步的准确性,同时也决定了歌词在播放器中显示的准确性,因此所述装置可通过检测该时间标签两侧的音频数据有无人声,以判断该时间标签的时间值是否准确。
在步骤S120,所述装置检测所述歌词对应的歌曲在该时间标签的时间值两侧的音频数据有无人声。
具体地,所述装置可在该时间标签的时间值的两侧各取两段歌曲的音频数据,通过检测这两段音频数据有无人声以确定该时间标签的时间值准确与否。根据本发明的一个可选实施例,该时间标签两侧的音频数据为该时间标签的时间值以后第一时间段的音频数据和该时间标签的时间值以前第二时间段的音频数据。其中,所述第一时间段和第二时间段的时间范围应控制在短时间范围内。
可利用现有的各种音频检测技术来检测音频数据有无人声。
为了获取较为精确地检测结果,根据本发明的一个示例性实施例,所述装置可采用将音频数据划分为若干帧的方式,来检测音频数据有无人声,其具体检测执行过程可参看图5和图6。
图5示出了本发明检测音频数据中有无人声的过程的方法的流程图。具体实施过程包括:所述装置对该时间标签两侧获取到的音频数据进行分帧处理;然后提取所述每一帧的音频特征,并根据所述音频特征形成P+3阶特征向量;接着使用支持向量机(SVM)算法对所述特征向量进行训练得到相应的支持向量机;最后,根据所述支持向量机识别所述每一帧音频数据中有无人声。
图6示出了本发明人声特征提取方法的流程图。具体可包括:所述装置使用阶数为P的线性预测编码(LPC)分析分帧处理后的每一帧音频数据;并提取音频特征,所述音频特征包括短时过零率、P阶LPC预测系数和LPC预测残差幅度谱的偏度和峰度。
此外,为进一步提高数据检测的精确性,根据本发明的另一示例性实施例,相邻的帧之间可以有的部分数据重叠。具体实施时,相邻两帧之间可按照预定的比例重叠数据(如:50%)。
在步骤S130,所述装置根据该时间标签对应的歌词信息和所述检测的结果,调整所述歌词在该时间标签的时间值。
具体地,根据本发明该时间标签以后第一时间段的音频数据和该时间标签以前第二时间段的音频数据可选实施例,本发明还提供了以下实施例方案来调整所述歌词在该时间标签的时间值,具体如下:
时间调整之实施例(1)
当该时间标签对应的歌词信息包含歌词内容,并且第一时间段和第二时间段的音频数据都无人声时,所述装置在所述歌词对应的歌曲中从该时间标签的时间值向后查找首次出现人声的时间值,并将该时间标签的时间值调整为所述查找到的时间值。
时间调整之实施例(2)
当该时间标签对应的歌词信息包含歌词内容,并且第一时间段和第二时间段的音频数据都有人声时,所述装置在所述歌词对应的歌曲中从该时间标签的时间值向前查找首次出现无人声的时间值,并将该时间标签的时间值调整为所述查找到的时间值。
时间调整之实施例(3)
当该时间标签对应的歌词信息不包含歌词内容,并且第一时间段和第二时间段的音频数据都无人声时,所述装置在所述歌词对应的歌曲中从该时间标签的时间值向前查找首次出现人声的时间值,并将该时间标签的时间值调整为所述查找到的时间值。
时间调整之实施例(4)
当该时间标签对应的歌词信息不包含歌词内容,并且第一时间段和第二时间段的音频数据都有人声时,所述装置在所述歌词对应的歌曲中从该时间标签的时间值向后查找首次出现无人声的时间值,并将该时间标签的时间值调整为所述查找到的时间值。
具体实施时,所述装置可单独实施其中任一调整方案,也可以组合在一起同时实施,对此本发明不作限制,只要能够校正所述歌词中各个时间标签的时间值即可。
以下给出一个具体的实施例,对本发明作进一步的说明。
在歌词中的任一时间标签的时间值前后分别获取5帧音频数据,每帧长30ms,总计150ms。具体实现时,可根据实际检测需要来确定第一时间段长度和/或第二时间段长度,即可根据实际检测需要来确定需要获取的帧的个数及帧的长度,对此本发明不作限制。
采用帧检测音频数据有无人声时,所述装置会根据帧的人声检测结果对该时间标签的时间值进行相应的调整,具体实施过程参看如下:
当该时间标签对应的歌词信息包含歌词内容,并且该时间标签的时间值两侧的各个帧的检测结果为:
0000000000(注:0表示无声1表示有声)
该检测结果表明该时间标签两侧的音频数据都无人声,则所述装置在所述歌词对应的歌曲中从该时间标签的时间值向后查找首次出现人声检测值为1的帧,并将该时间标签的时间值调整为所述查找到的帧的播放时间。
当该时间标签对应的歌词信息包含歌词内容,并且该时间标签的时间值两侧的各个帧的检测结果为:
1111111111
该检测结果表明该时间标签两侧的音频数据都有人声,则所述装置在所述歌词对应的歌曲中从该时间标签的时间值向前查找首次出现人声检测值为0的帧,并将该时间标签的时间值调整为所述查找到的帧的播放时间。
当该时间标签对应的歌词信息不包含歌词内容,并且该时间标签的时间值两侧的各个帧的检测结果为:
0000000000
该检测结果表明该时间标签两侧的音频数据都无人声,则所述装置在所述歌词对应的歌曲中从该时间标签的时间值向前查找首次出现人声检测值为1的帧,并将该时间标签的时间值调整为所述查找到的帧的播放时间。
当该时间标签对应的歌词信息不包含歌词内容,并且该时间标签的时间值两侧的各个帧的检测结果为:
1111111111
该检测结果表明该时间标签两侧的音频数据都有人声,则所述装置在所述歌词对应的歌曲中从该时间标签的时间值向后查找首次出现人声检测值为0的帧,并将该时间标签的时间值调整为所述查找到的帧的播放时间。
需要说明的是,由于帧的时间分辨率很高,其时间段很短,因此在确定帧的播放时间时,所述装置可将帧的起始时间、结束时间或者帧内的任意时间作为帧的播放时间,对此本发明不作具体的限制。
此外,当所述各个帧的检测结果没有出现上述情况时,则所述装置对该时间标签的时间值不作调整。
图2示出了本发明一种具有时间轴的歌词的校正装置的优选实施例结构框图。
参照图2,所述装置至少包括歌词获取单元201、音频检测单元202以及歌词调整单元203。
其中,歌词获取单元201,用于获取所述歌词的任一时间标签及该时间标签对应的歌词信息。
音频检测单元202,用于检测所述歌词对应的歌曲在该时间标签的时间值两侧的音频数据有无人声。
歌词调整单元203,用于根据该时间标签对应的歌词信息和所述检测的结果,调整所述歌词在该时间标签的时间值。
根据前面的分析可知,由于在短时间范围内,两段相邻的歌词之间的时间标签在短时间范围内可以被看作是有无人声的边界时间标签,因此所述装置在获取时间标签两侧的音频数据作为检测依据时,所述获取的音频数据应控制在短时间范围内。具体地,根据本发明的一个可选实施例,该时间标签两侧的音频数据为该时间标签的时间值以后第一时间段的音频数据和该时间标签的时间值以前第二时间段的音频数据。
具体地,根据本发明该时间标签以后第一时间段的音频数据和该时间标签以前第二时间段的音频数据可选实施例,本发明还提供了以下实施例方案来调整所述歌词在该时间标签的时间值,具体如下:
时间调整之实施例Ⅰ
当该时间标签对应的歌词信息包含歌词内容,并且第一时间段和第二时间段的音频数据都无人声时,所述歌词调整单元203在所述歌词对应的歌曲中从该时间标签的时间值向后查找首次出现人声的时间值,并将该时间标签的时间值调整为所述查找到的时间值。
时间调整之实施例Ⅱ
当该时间标签对应的歌词信息包含歌词内容,并且第一时间段和第二时间段的音频数据都有人声时,所述歌词调整单元203在所述歌词对应的歌曲中从该时间标签的时间值向前查找首次出现无人声的时间值,并将该时间标签的时间值调整为所述查找到的时间值。
时间调整之实施例Ⅲ
当该时间标签对应的歌词信息不包含歌词内容,并且第一时间段和第二时间段的音频数据都无人声时,所述歌词调整单元203在所述歌词对应的歌曲中从该时间标签的时间值向前查找首次出现人声的时间值,并将该时间标签的时间值调整为所述查找到的时间值。
时间调整之实施例Ⅳ
当该时间标签对应的歌词信息不包含歌词内容,并且第一时间段和第二时间段的音频数据都有人声时,所述歌词调整单元203在所述歌词对应的歌曲中从该时间标签的时间值向后查找首次出现无人声的时间值,并将该时间标签的时间值调整为所述查找到的时间值。
具体实施时,可单独实施其中任一调整方案,也可以组合在一起同时实施,对此本发明不作限制,只要能够校正所述歌词中各个时间标签的时间值即可。
图4示出了采用本发明所述方法及装置测试歌曲时间轴同步检测信息的示意图。从图中可以看出,所述歌曲在时间轴上各个帧的人声检测结果。
由此可见,与现有技术相比本发明不仅精确了歌词中各个时间标签的时间值,同时还进一步保证了所述歌词与其对应的歌曲在播放上的准确同步,从而进一步增强了用户体验。
需要指出,根据实施的需要,可将本申请中描述的各个步骤拆分为更多步骤,也可将两个或一组步骤或者步骤的部分操作组合成新的步骤,以实现本发明的目的。
上述根据本发明的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CDROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问并且执行时,实现在此描述的处理方法。此外,当通用计算机访问用于实现在此示出的处理的代码时,代码的执行将通用计算机转换为用于执行在此示出的处理的专用计算机。
尽管已参照优选实施例表示和描述了本发明,但本领域技术人员应该理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以对这些实施例进行各种修改和变换。