[0001]
本申请实施例涉及数据处理领域,具体涉及一种鼓点波形确定方法、装置及计算机存储介质。
背景技术:
[0002]
鼓点波形是指音乐歌曲中鼓点对应的局部短音频的波形,鼓点也就是音乐歌曲中的重拍,是音乐歌曲中振幅幅度较大的音频段,鼓点波形的长度通常为100~500ms。不同种类的鼓演奏得到的鼓点波形互不相同,因此,可以通过识别鼓点波形来确定鼓的种类,并作为鼓分类模型的训练数据,该鼓分类模型也就是用于识别鼓的种类的网络模型。
[0003]
目前的鼓点波形确定方法是定长选取,即在源歌曲上用指定长度的候选框选取鼓点波形,但是,由于不同歌曲种类和演奏场景下鼓点的持续时间不同,因此,源歌曲中鼓点波形的长度并非完全一致,这就导致截取的鼓点波形有可能会破坏波形的完整性,即有部分鼓点波形未被截取;或者截取到非鼓点波形的音频段。因此,定长选取的方式无法准确地选取鼓点波形。
技术实现要素:
[0004]
本申请实施例提供了一种鼓点波形确定方法、装置及计算机存储介质,用于更加准确地确定出鼓点波形对应的音频段。
[0005]
本申请实施例第一方面提供了一种鼓点波形确定方法,包括:
[0006]
获取目标音频,所述目标音频为源歌曲的鼓点音轨,所述目标音频包括所述源歌曲中若干个鼓点波形对应的音频段;
[0007]
根据鼓点检测算法对所述目标音频进行鼓点检测,得到所述目标音频的鼓点序列,所述鼓点序列包括若干个鼓点;
[0008]
根据目标鼓点确定所述目标鼓点的目标鼓点波形的候选框,所述目标鼓点为所述若干个鼓点中的任意一个鼓点;
[0009]
在所述候选框内以所述目标鼓点对应的音频帧为中心的k个音频帧中,确定所述k个音频帧中能量值最高的音频帧为基准点,其中k为正整数;
[0010]
确定所述候选框内位于所述基准点之前的音频帧中存在能量值小于第一阈值的音频帧、所述候选框内位于所述基准点之后的音频帧中存在能量值小于第二阈值的音频帧,所述第一阈值为所述基准点的能量值的m%,所述第二阈值为所述基准点的能量值的n%,0<m<100,0<n<100;
[0011]
将所述能量值小于第一阈值的音频帧确定为所述目标鼓点波形的起始帧、所述能量值小于第二阈值的音频帧确定为所述目标鼓点波形的终止帧。
[0012]
本申请实施例第二方面提供了一种鼓点波形确定装置,包括:
[0013]
获取单元,用于获取目标音频,所述目标音频为源歌曲的鼓点音轨,所述目标音频包括所述源歌曲中若干个鼓点波形对应的音频段;
[0014]
鼓点检测单元,用于根据鼓点检测算法对所述目标音频进行鼓点检测,得到所述目标音频的鼓点序列,所述鼓点序列包括若干个鼓点;
[0015]
第一确定单元,用于根据目标鼓点确定所述目标鼓点的目标鼓点波形的候选框,所述目标鼓点为所述若干个鼓点中的任意一个鼓点;
[0016]
第二确定单元,用于在所述候选框内以所述目标鼓点对应的音频帧为中心的k个音频帧中,确定所述k个音频帧中能量值最高的音频帧为基准点,其中k为正整数;
[0017]
第三确定单元,用于确定所述候选框内位于所述基准点之前的音频帧中存在能量值小于第一阈值的音频帧、所述候选框内位于所述基准点之后的音频帧中存在能量值小于第二阈值的音频帧,所述第一阈值为所述基准点的能量值的m%,所述第二阈值为所述基准点的能量值的n%,0<m<100,0<n<100;
[0018]
第四确定单元,用于将所述能量值小于第一阈值的音频帧确定为所述目标鼓点波形的起始帧、所述能量值小于第二阈值的音频帧确定为所述目标鼓点波形的终止帧。
[0019]
本申请实施例第三方面提供了一种鼓点波形确定装置,包括:
[0020]
处理器、存储器、总线、输入输出设备;
[0021]
所述处理器与所述存储器、输入输出设备相连;
[0022]
所述总线分别连接所述处理器、存储器以及输入输出设备;
[0023]
所述处理器用于获取目标音频,所述目标音频为源歌曲的鼓点音轨,所述目标音频包括所述源歌曲中若干个鼓点波形对应的音频段;根据鼓点检测算法对所述目标音频进行鼓点检测,得到所述目标音频的鼓点序列,所述鼓点序列包括若干个鼓点;根据目标鼓点确定所述目标鼓点的目标鼓点波形的候选框;在所述候选框内以所述目标鼓点对应的音频帧为中心的k个音频帧中,确定所述k个音频帧中能量值最高的音频帧为基准点,其中k为正整数;确定所述候选框内位于所述基准点之前的音频帧中存在能量值小于第一阈值的音频帧、所述候选框内位于所述基准点之后的音频帧中存在能量值小于第二阈值的音频帧,所述第一阈值为所述基准点的能量值的m%,所述第二阈值为所述基准点的能量值的n%,0<m<100,0<n<100;将所述能量值小于第一阈值的音频帧确定为所述目标鼓点波形的起始帧、所述能量值小于第二阈值的音频帧确定为所述目标鼓点波形的终止帧。
[0024]
本申请实施例第四方面提供了一种计算机存储介质,计算机存储介质中存储有指令,该指令在计算机上执行时,使得计算机执行前述第一方面的方法。
[0025]
从以上技术方案可以看出,本申请实施例具有以下优点:
[0026]
本申请实施例中,确定目标鼓点波形的候选框,并确定k个音频帧中能量值最高的音频帧为基准点,以该基准点为参考,进一步确定能量值小于第一阈值的音频帧为鼓点波形的起始帧、能量值小于第二阈值的音频帧为鼓点波形的终止帧,从而确定出鼓点波形。本申请实施例基于候选框中音频帧的能量值确定出鼓点波形,相比于定长选取鼓点波形,增加了鼓点波形的确定标准和确定方法,因此,鼓点波形的选取结果更加准确。
附图说明
[0027]
图1为本申请实施例中鼓点波形确定方法一个流程示意图;
[0028]
图2为本申请实施例中鼓点波形确定方法另一流程示意图;
[0029]
图3为本申请实施例中目标音频的鼓点序列示意图;
[0030]
图4为本申请实施例中相邻两个鼓点波形的示意图;
[0031]
图5为本申请实施例中鼓点波形确定装置一个结构示意图;
[0032]
图6为本申请实施例中鼓点波形确定装置另一结构示意图。
具体实施方式
[0033]
本申请实施例提供了一种鼓点波形确定方法、装置及计算机存储介质,用于更加准确地确定出鼓点波形对应的音频段。
[0034]
请参阅图1,本申请实施例中鼓点波形确定方法一个实施例包括:
[0035]
101、获取目标音频;
[0036]
本实施例的鼓点波形确定方法可以应用于鼓点波形确定装置中,该鼓点波形确定装置可以是服务器、终端等能够进行数据处理的计算机设备。
[0037]
其中,目标音频为源歌曲的鼓点音轨,可以根据spleeter等鼓点分离算法从该源歌曲中分离出鼓点音轨,从而得到目标音频,因此,目标音频的时长与源歌曲的时长相同,目标音频包括了源歌曲中若干个鼓点波形对应的音频段。
[0038]
102、根据鼓点检测算法对目标音频进行鼓点检测,得到目标音频的鼓点序列;
[0039]
本实施例中,需要确定出目标音频中鼓点的位置,即根据鼓点检测算法对目标音频进行鼓点检测,得到目标音频的鼓点序列。其中,鼓点序列也就是目标音频中的若干个鼓点在时间上排列而成的队列,从该鼓点序列可以获知每个鼓点所对应的时间点。
[0040]
鼓点检测算法可以是包络提取与峰值点检测(peak detect ion)结合的方法,其中包络提取可以是鼓点的能量包络提取或者是波形包络提取,具体的提取方法可以通过希尔伯特变换提取,也可以是降采样与平滑提取结合的提取方法。峰值点检测可以基于阈值规则的检测,也可以基于小波变换与显著性结合的方案。
[0041]
103、根据目标鼓点确定目标鼓点的目标鼓点波形的候选框;
[0042]
鼓点是音乐歌曲节奏中的一个重拍,通常对应一段具有一定长度的音频段,即鼓点波形。目标鼓点为鼓点序列中的任意一个鼓点,为界定出该目标鼓点的目标鼓点波形所在的区间,可以先确定目标鼓点波形的候选框。之后再从该候选框中确定目标鼓点波形的真实范围。本实施例中,目标鼓点波形的候选框的长度可以设定,例如,在一般情况下,鼓点波形的长度为100~500ms(ms为单位“毫秒”),则可以限定候选框的长度为100~500ms范围内的一个数值。
[0043]
为确保候选框仅对应一个鼓点波形,该候选框中仅包括一个鼓点,以避免在确定鼓点波形的真实区间时选取了其他鼓点的鼓点波形。
[0044]
104、在候选框内以目标鼓点对应的音频帧为中心的k个音频帧中,确定k个音频帧中能量值最高的音频帧为基准点;
[0045]
由于鼓点是音乐中的重拍,而且鼓点的振幅较大,因此,鼓点附近的音频帧的能量一般较高,鼓点波形中能量最高的音频帧一般位于鼓点附近。因此,为确定出能量值最高的基准点,在确定了候选框之后,计算该候选框内以目标鼓点对应的音频帧为中心的k个音频帧中每个音频帧的能量值,并确定该k个音频帧中能量值最高的音频帧为基准点,从而可以将该基准点作为参考点,进一步确定目标鼓点波形的起始帧和终止帧。
[0046]
105、确定候选框内位于基准点之前的音频帧中存在能量值小于第一阈值的音频
帧、候选框内位于基准点之后的音频帧中存在能量值小于第二阈值的音频帧;
[0047]
由于鼓点波形中的音频帧具有明显的能量衰减特性,因此,本实施例基于音频帧的能量确定目标鼓点波形的范围。因此,在确定了基准点之后,判断候选框内位于基准点之前的音频帧中是否存在能量值小于第一阈值的音频帧,以及判断候选框内位于基准点之后的音频帧中是否存在能量值小于第二阈值的音频帧,若均存在能量值小于第一阈值的音频帧以及能量值小于第二阈值的音频帧,则执行步骤106。
[0048]
其中,候选框内位于基准点之前的音频帧是指在时间上早于基准点的音频帧,候选框内位于基准点之后的音频帧是指在时间上晚于基准点的音频帧。例如,候选框的起始点和终止点分别是30.2s和30.5s,基准点为30.25s,则位于基准点之前的音频帧为30.25s至30.2s之间的音频帧,位于基准点之后的音频帧即为30.25s至30.5s之间的音频帧。
[0049]
由于基准点是候选框中能量值最高的音频帧,且鼓点波形具有能量衰减特性,因此,需要根据该基准点确定能量值低于该基准点的音频帧,以便确定出鼓点波形的起始帧和终止帧。本实施例中,对候选框中的多个音频帧进行搜索,查找出位于基准点之前的音频帧中能量值小于第一阈值的音频帧,以及位于基准点之后的音频帧中能量值小于第二阈值的音频帧,其中,该第一阈值为基准点的能量值的m%,第二阈值为基准点的能量值的n%,0<m<100,0<n<100。m和n的具体数值为经验值,具体可以根据多个鼓点波形的真实样本来确定,即根据样本中能量值最低和能量值最高的音频帧来确定。优选的,m和n的具体数值可以是15。
[0050]
106、将能量值小于第一阈值的音频帧确定为目标鼓点波形的起始帧、能量值小于第二阈值的音频帧确定为目标鼓点波形的终止帧;
[0051]
若步骤105的判断结果为均存在,则确定该能量值小于第一阈值的音频帧为鼓点波形的起始帧、该能量值小于第二阈值的音频帧为鼓点波形的终止帧,从而可以根据起始帧和终止帧确定出目标鼓点波形,起始帧至终止帧的音频段即为目标鼓点波形对应的音频段。
[0052]
本实施例中,确定目标鼓点波形的候选框,并确定k个音频帧中能量值最高的音频帧为基准点,以该基准点为参考,进一步确定能量值小于第一阈值的音频帧为鼓点波形的起始帧、能量值小于第二阈值的音频帧为鼓点波形的终止帧,从而确定出鼓点波形。本实施例基于候选框中音频帧的能量值确定出鼓点波形,相比于定长选取鼓点波形,增加了鼓点波形的确定标准和确定方法,因此,鼓点波形的选取结果更加准确。
[0053]
下面将在前述图1所示实施例的基础上,进一步详细地描述本申请实施例。请参阅图2,本申请实施例中鼓点波形确定方法另一实施例包括:
[0054]
201、获取目标音频;
[0055]
本实施例中,为进一步消除目标音频中与鼓点不相关的音频的干扰,可以对目标音频进行降采样,本实施例优选使用8khz的采样频率进行降采样,从而滤除目标音频中与鼓点不相关的音频。
[0056]
202、根据鼓点检测算法对目标音频进行鼓点检测,得到目标音频的鼓点序列;
[0057]
本步骤所执行的操作与前述图1所示实施例的步骤102所执行的操作类似,此处不再赘述。
[0058]
203、根据目标鼓点确定目标鼓点的目标鼓点波形的候选框;
[0059]
本实施例中,确定候选框的具体方式可以是,根据多个鼓点之间的相对位置确定鼓点波形的候选框。具体的,当该目标鼓点不是鼓点序列中的首个鼓点时,候选框的第一候选起点为目标鼓点的上一鼓点的时间点加上第一校正值后得到的时间点;当目标鼓点为首个鼓点时,第一候选起点为零。
[0060]
通过对多个鼓点波形样本的观察可知,鼓点一般位于鼓点波形的头部,而且,鼓点波形通常不短于50ms。因此,为避免候选框的起点落在上一鼓点的鼓点波形的区间内,需要对候选框的第一候选起点进行校正,在目标鼓点的上一鼓点的时间点上再加上一个第一校正值,相当于将该上一鼓点的时间点往后移动一定距离之后得到的时间点作为该第一候选起点。由于鼓点波形通常不短于50ms,因此,该上一鼓点的时间点往后移动的距离(即第一校正值)可以优选为50ms。
[0061]
例如,如图3所示,图3示出了目标音频中多个鼓点的鼓点序列,以鼓点的时间点指代鼓点。当确定t这一鼓点为该目标鼓点时,t的上一鼓点为tpre,则tpre的时间点加上第一校正值后得到的时间点作为候选框的第一候选起点,即第一候选起点=tpre+50ms;当确定tpre为目标鼓点时,由于tpre为首个鼓点,则第一候选起点为零。
[0062]
同时,为确定出候选框的终点,本实施例中,当目标鼓点不是鼓点序列中的最后一个鼓点时,候选框的第一候选终点为目标鼓点的下一鼓点的时间点减去第二校正值后得到的时间点;当目标鼓点为最后一个鼓点时,第一候选终点为目标音频的最后一个时间点。
[0063]
通过对多个鼓点波形样本的观察可知,音乐歌曲即使在最快的节奏下,鼓点间距也不可能短于20ms。因此,为避免候选框的终点落在下一鼓点的鼓点波形的区间内,需要对候选框的第一候选终点进行校正,将目标鼓点的下一鼓点的时间点减去一个第二校正值,相当于将该下一鼓点的时间点往前移动一定距离之后得到的时间点作为该第一候选终点。由于鼓点间距不可能短于20ms,因此,该下一鼓点的时间点往前移动的距离(即第二校正值)可以优选为20ms。
[0064]
例如,如图3所示,当确定t这一鼓点为该目标鼓点时,t的下一鼓点为tnxt,则tnxt的时间点减去第二校正值后得到的时间点作为候选框的第一候选终点,即第一候选终点=tnxt-20ms;若确定目标音频中最后一个鼓点为目标鼓点,则第一候选终点为目标音频的最后一个时间点。
[0065]
通过上述方法确定候选框的第一候选起点和第一候选终点,可以缩小候选框的选取范围,使最终确定的鼓点波形的区间更加准确。
[0066]
在确定了第一候选起点和第一候选终点之后,可以通过判断第一候选起点与第一候选终点的间隔时长是否在预设时长范围内,该预设时长范围可以是前面提及的鼓点波形的一般长度(100~500ms)。若在该预设时长范围内,说明此第一候选起点和此第一候选终点确立的候选框符合鼓点波形的一般标准,可以将该第一候选起点确定为候选框的目标起点、该第一候选终点确定为候选框的目标终点;若不在该预设时长范围内,说明第一候选起点和第一候选终点确立的候选框的长度较大,不符合鼓点波形的一般标准,需要进一步缩小候选框的选取范围。
[0067]
因此,当不在该预设时长范围内时,可以进一步确定候选框的第二候选起点和第二候选终点。本实施例中,可以根据鼓点波形的一般长度来确定第二候选起点和第二候选终点,将目标鼓点的目标时间点减去第一限定值后得到的时间点作为候选框的第二候选起
点,相当于将目标时间点往前移动一定距离之后得到的时间点作为第二候选起点;将目标时间点加上第二限定值后得到的时间点作为候选框的第二候选终点,相当于将目标时间点往后移动一定距离之后得到的时间点作为第二候选终点。
[0068]
其中的第一限定值和第二限定值即为根据鼓点波形的一般长度所确定的值,均为经验值,根据多个鼓点波形样本可以总结得到波形起点至鼓点的时长以及鼓点至波形终点的时长,该波形起点至鼓点的时长即为第一限定值,该鼓点至波形终点的时长即为第二限定值。
[0069]
例如,如图3所示,设定鼓点波形的长度为300ms,则第二候选起点至目标鼓点的目标时间点的时长与目标时间点至第二候选终点的时长之和即为300ms。并且,根据实验总结得到第一限定值为100ms,第二限定值为200ms,因此,若确定t为目标鼓点,则第二候选起点=t-100ms,第二候选终点=t+200ms。
[0070]
之后,再将第一候选起点与第二候选起点中的最大值作为候选框的目标起点、第一候选终点与第二候选终点中的最小值作为候选框的目标终点,即选取两个候选起点中时间上更靠后的时间点作为目标起点,选取两个候选终点中时间上更靠前的时间点作为目标终点,从而进一步缩小候选框的选取范围。
[0071]
通过本步骤的方法确定候选框的起点和终点,可以使候选框更加逼近鼓点波形的真实区间,使最终确定的鼓点波形更加准确。
[0072]
204、在候选框内以目标鼓点对应的音频帧为中心的k个音频帧中,确定k个音频帧中能量值最高的音频帧为基准点;
[0073]
本实施例中,计算候选框中的音频帧的能量值的方式有多种,例如,可以基于希尔伯特变换的包络提取计算音频帧的能量值,也可以基于低通滤波器的包络提取计算音频帧的能量值。
[0074]
优选的,本实施例在以目标鼓点对应的音频帧为中心的5个音频帧中确定基准点,可以准确定位到能量值最高的音频帧。
[0075]
205、判断候选框内位于基准点之前的音频帧中是否存在能量值小于第一阈值的音频帧,若存在,则执行步骤206;若不存在,则执行步骤207;
[0076]
本实施例基于步骤204中所确定的基准点,逐帧逐帧地确定基准点之前以及之后的音频帧的能量值,即以该基准点为起点,朝向候选框的目标起点,依次计算每一音频帧的能量值,即逐帧逐帧地确定基准点之前的音频帧的能量值,并判断音频帧的能量值是否小于第一阈值。
[0077]
206、将能量值小于第一阈值的音频帧确定为目标鼓点波形的起始帧;
[0078]
当计算得到能量值小于第一阈值的音频帧时,即确定该能量值小于第一阈值的音频帧为起始帧。
[0079]
207、将候选框内位于基准点之前的音频帧中能量值最小的音频帧作为起始帧;
[0080]
由于鼓点波形中的音频帧具有能量衰减特性,因此,当位于基准点之前的音频帧中不存在能量值小于第一阈值的音频帧时,即候选框内位于基准点之前的所有音频帧的能量值均大于该第一阈值,此时,可以将位于基准点之前的音频帧中能量值最小的音频帧作为起始帧。
[0081]
208、判断候选框内位于基准点之后的音频帧中是否存在能量值小于第二阈值的
音频帧,若存在,则执行步骤209;若不存在,则执行步骤210;
[0082]
同样的,以基准点为起点,朝向候选框的目标终点,依次计算每一音频帧的能量值,即逐帧逐帧地确定基准点之后的音频帧的能量值,并判断音频帧的能量值是否小于第二阈值。
[0083]
209、将能量值小于第二阈值的音频帧确定为目标鼓点波形的终止帧;
[0084]
当出现能量值小于第二阈值的音频帧时,确定该能量值小于第二阈值的音频帧为终止帧。在确定了起始帧和终止帧之后,可以停止计算音频帧的能量值,并返回该起始帧和终止帧的下标,以便于确认起始帧和终止帧的位置。
[0085]
在一种优选的实施方式中,可以通过计算音频帧的均方根误差(root mean square error,rmse)来表示音频帧的能量值。具体的,在步骤203确立的候选框中,依次以预设步长移动一个具有一定尺寸大小的滑窗,该滑窗的尺寸大小用滑窗对应的样本点的个数来表示。在每一次移动之后便计算滑窗对应的预设个数的样本点的均方根误差,并用计算得到的均方根误差结果来表示音频帧的能量。其中,滑窗对应的预设个数的样本点构成一个音频帧,也就是说,滑窗的尺寸大小对应一个音频帧的样本点个数。
[0086]
例如,若一个音频帧的样本点个数为128个,则滑窗的尺寸大小(window s ize)为128,表明该滑窗对应的样本点个数为128个,即每一次移动之后计算该128个样本点的均方根误差,以该均方根误差表示该音频帧的能量值。并且,设置步长(hop_length)为64,以样本点个数表示移动的距离,则每次移动滑窗的距离为64个样本点。
[0087]
本实施例中,也可以先计算候选框内所有的音频帧的能量值,再确定位于基准点之前的音频帧中能量值小于第一阈值的音频帧、以及位于基准点之后的音频帧中能量值小于第二阈值的音频帧。
[0088]
210、将候选框内位于基准点之后的音频帧中能量值最小的音频帧作为终止帧;
[0089]
当位于基准点之后的音频帧中不存在能量值小于第二阈值的音频帧时,即候选框内位于基准点之后的所有音频帧的能量值均大于该第二阈值,此时,可以将位于基准点之后的音频帧中能量值最小的音频帧作为终止帧。
[0090]
如图4所示,图4为相邻两个鼓点波形的示意图,可以看出,该相邻的鼓点波形均具备较高的能量值,由于能量值都比较高,因此,可能不存在能量值小于第一阈值或者小于第二阈值的音频帧,则需要根据能量值最小的原则来确定鼓点波形的起始帧和终止帧。
[0091]
本实施例中,步骤205和步骤208无先后的执行顺序,即可以先判断是否存在能量值小于第一阈值的音频帧、后判断是否存在能量值小于第二阈值的音频帧;也可以先判断是否存在能量值小于第二阈值的音频帧、后判断是否存在能量值小于第一阈值的音频帧;还可以两者同时执行。本实施例对此不作限定。
[0092]
在确定了目标音频中目标鼓点的鼓点波形之后,可以从该目标音频中截取出目标鼓点波形的起始帧至终止帧的音频段,即得到目标鼓点波形对应的音频段,该目标鼓点波形可以为鼓分类模型的训练提供训练数据。
[0093]
本实施例中,可以通过第一候选起点和第二候选起点、第一候选终点和第二候选终点来对候选框的长度和选取范围进行限定,可以更加准确地定位到鼓点波形的候选区间,并且基于能量值选取鼓点波形的起始帧和终止帧,从而准确地确定出鼓点波形的真实区间。
[0094]
上面对本申请实施例中的鼓点波形确定方法进行了描述,下面对本申请实施例中的鼓点波形确定装置进行描述,请参阅图5,本申请实施例中鼓点波形确定装置一个实施例包括:
[0095]
获取单元501,用于获取目标音频,目标音频为源歌曲的鼓点音轨,目标音频包括源歌曲中若干个鼓点波形对应的音频段;
[0096]
鼓点检测单元502,用于根据鼓点检测算法对目标音频进行鼓点检测,得到目标音频的鼓点序列,鼓点序列包括若干个鼓点;
[0097]
第一确定单元503,用于根据目标鼓点确定目标鼓点的目标鼓点波形的候选框,目标鼓点为若干个鼓点中的任意一个鼓点;
[0098]
第二确定单元504,用于在候选框内以目标鼓点对应的音频帧为中心的k个音频帧中,确定k个音频帧中能量值最高的音频帧为基准点,其中k为正整数;
[0099]
第三确定单元505,用于确定候选框内位于基准点之前的音频帧中存在能量值小于第一阈值的音频帧、候选框内位于基准点之后的音频帧中存在能量值小于第二阈值的音频帧,第一阈值为基准点的能量值的m%,第二阈值为基准点的能量值的n%,0<m<100,0<n<100;
[0100]
第四确定单元506,用于将能量值小于第一阈值的音频帧确定为目标鼓点波形的起始帧、能量值小于第二阈值的音频帧确定为目标鼓点波形的终止帧。
[0101]
本实施例一种优选的实施方式中,第一确定单元503具体用于确定候选框的第一候选起点,当目标鼓点不是鼓点序列中的首个鼓点时,第一候选起点为目标鼓点的上一鼓点的时间点加上第一校正值后得到的时间点,当目标鼓点为首个鼓点时,第一候选起点为零,确定候选框的第一候选终点,当目标鼓点不是鼓点序列中的最后一个鼓点时,第一候选终点为目标鼓点的下一鼓点的时间点减去第二校正值后得到的时间点,当目标鼓点为最后一个鼓点时,第一候选终点为目标音频的最后一个时间点,若第一候选起点与第一候选终点的间隔时长处于预设时长范围内,则确定第一候选起点为候选框的目标起点、第一候选终点为候选框的目标终点。
[0102]
本实施例一种优选的实施方式中,若第一候选起点与第一候选终点的间隔时长不在预设时长范围之内,则第一确定单元503还用于将目标时间点减去第一限定值后得到的时间点作为候选框的第二候选起点,将目标时间点加上第二限定值后得到的时间点作为候选框的第二候选终点,确定第一候选起点与第二候选起点中的最大值为目标起点、第一候选终点与第二候选终点中的最小值为目标终点。
[0103]
本实施例一种优选的实施方式中,第三确定单元505具体用于以基准点为起点,朝向候选框的目标起点,依次计算每一音频帧的能量值,并确定能量值小于第一阈值的音频帧为起始帧;以基准点为起点,朝向候选框的目标终点,依次计算每一音频帧的能量值,并确定能量值小于第二阈值的音频帧为终止帧。
[0104]
本实施例一种优选的实施方式中,在依次计算每一音频帧的能量值时,第三确定单元505具体用于依次以预设步长移动滑窗,在每一次移动之后计算滑窗对应的预设个数的样本点的均方根误差,以均方根误差表示音频帧的能量值,预设个数为滑窗的尺寸大小,预设个数的样本点构成音频帧。
[0105]
本实施例一种优选的实施方式中,若不存在能量值小于第一阈值的音频帧,则第
四确定单元506还用于将候选框内位于基准点之前的音频帧中能量值最小的音频帧作为起始帧;
[0106]
若不存在能量值小于第二阈值的音频帧,则第四确定单元506还用于将候选框内位于基准点之后的音频帧中能量值最小的音频帧作为终止帧。
[0107]
鼓点波形确定装置还包括:
[0108]
截取单元507,用于从目标音频中截取起始帧至终止帧的鼓点波形。
[0109]
本实施例中,鼓点波形确定装置中各单元所执行的操作与前述图1至图2所示实施例中描述的类似,此处不再赘述。
[0110]
本实施例中,第一确定单元503确定目标鼓点波形的候选框,第二确定单元504确定k个音频帧中能量值最高的音频帧为基准点,以该基准点为参考,第四确定单元506进一步确定能量值小于第一阈值的音频帧为鼓点波形的起始帧、能量值小于第二阈值的音频帧为鼓点波形的终止帧,从而确定出鼓点波形。本实施例基于候选框中音频帧的能量值确定出鼓点波形,相比于定长选取鼓点波形,增加了鼓点波形的确定标准和确定方法,因此,鼓点波形的选取结果更加准确。
[0111]
下面对本申请实施例中的鼓点波形确定装置进行描述,请参阅图6,本申请实施例中鼓点波形确定装置一个实施例包括:
[0112]
该鼓点波形确定装置600可以包括一个或一个以上中央处理器(central process ing units,cpu)601和存储器605,该存储器605中存储有一个或一个以上的应用程序或数据。
[0113]
其中,存储器605可以是易失性存储或持久存储。存储在存储器605的程序可以包括一个或一个以上模块,每个模块可以包括对鼓点波形确定装置中的一系列指令操作。更进一步地,中央处理器601可以设置为与存储器605通信,在鼓点波形确定装置600上执行存储器605中的一系列指令操作。
[0114]
鼓点波形确定装置600还可以包括一个或一个以上电源602,一个或一个以上有线或无线网络接口603,一个或一个以上输入输出接口604,和/或,一个或一个以上操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等。
[0115]
该中央处理器601可以执行前述图1至图2所示实施例中鼓点波形确定装置所执行的操作,具体此处不再赘述。
[0116]
本申请实施例还提供了一种计算机存储介质,其中一个实施例包括:该计算机存储介质中存储有指令,该指令在计算机上执行时,使得该计算机执行前述图1至图2所示实施例中鼓点波形确定装置所执行的操作。
[0117]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0118]
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0119]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0120]
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0121]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。