音频拼接方法、装置及存储介质与流程

文档序号:15969456发布日期:2018-11-16 23:23阅读:169来源:国知局

本发明涉及音频处理技术领域,特别涉及一种音频拼接方法、装置及存储介质。

背景技术

目前,随着人们对音乐的追求提升,越来越多的用户偏爱于串烧歌曲。串烧歌曲通常是从多个音频文件中选择多个音频片段,之后进行音频拼接后得到。

在相关技术中,为了实现音频拼接,通常提供有编辑软件,用户可以根据自己的喜好,利用该编辑软件从多个音频文件中截取多个音频片段,并利用编辑软件将截取的该多个音频片段按照一定的顺序拼接起来。

然而,在上述实现方式中,由于需要人工手动拼接,因此,导致拼接效率较低。



技术实现要素:

本发明实施例提供了一种音频拼接方法、装置及存储介质,可以解决拼接效率较低的问题。所述技术方案如下:

第一方面,提供了一种音频拼接方法,应用于计算机设备中,所述方法包括:

从多个音频文件中获取多个音频片段。

按照预设拼接顺序,对所述多个音频片段进行排序。

根据所述多个音频片段的音频振幅,确定排序后的所述多个音频片段中每相邻两个音频片段之间的拼接位置。

基于所述每相邻两个音频片段之间的拼接位置,将所述多个音频片段进行拼接。

可选地,所述根据所述多个音频片段的音频振幅,确定排序后的所述多个音频片段中每相邻两个音频片段之间的拼接位置,包括:

在排序后的每相邻两个音频片段中,确定第一振幅,所述第一振幅是指第一音频片段的终点对应的音频振幅,所述第一音频片段为所述每相邻两个音频片段中排序靠前的音频片段;

基于所述第一振幅,确定第一目标点,所述第一目标点位于第二音频片段的预设范围内,所述第二音频片段是指所述每相邻两个音频片段中排序靠后的音频片段;

将所述第一目标点确定为所述每相邻两个音频片段之间的拼接位置。

可选地,所述基于所述第一振幅,确定第一目标点,包括:

查询所述第二音频片段的预设范围内是否存在所述第一振幅对应的点;

当所述第二音频片段的预设范围内存在所述第一振幅对应的点时,将所述第一振幅对应的点确定为所述第一目标点。

可选地,所述在排序后的每相邻两个音频片段中,确定第一振幅之前,还包括:

基于排序后的所述多个音频片段中位于首位的音频片段的最高音频振幅,分别确定所述多个音频片段中除所述位于首位的音频片段之外的其它每个音频片段的缩放比例;

按照所确定的每个缩放比例,分别对所述多个音频片段中除所述位于首位的音频片段之外的其它每个音频片段进行缩放处理;

相应地,所述在排序后的每相邻两个音频片段中,确定第一振幅,包括:

在排序后且经过缩放处理的每相邻两个音频片段中,确定所述第一振幅。

可选地,所述查询所述第二音频片段的预设范围内是否存在所述第一振幅对应的点之后,还包括:

当所述第二音频片段的预设范围内不存在所述第一振幅对应的点时,按照预设缩放比例,对所述第二音频片段的音频振幅进行缩放处理;

查询缩放后的第二音频片段的预设范围内是否存在所述第一振幅对应的点;

当缩放后的第二音频片段的预设范围内存在所述第一振幅对应的点时,将查询到的所述第一振幅对应的点确定所述第一目标点。

可选地,所述查询缩放后的第二音频片段的预设范围内是否存在所述第一振幅对应的点之后,还包括:

当缩放后的第二音频片段的预设范围内不存在所述第一振幅对应的点时,确定第二振幅对应的距离所述第二音频片段的起点最近的点,所述第二振幅与所述第一振幅之间的差值最小;

将所确定的点确定为所述第一目标点。

可选地,所述根据所述多个音频片段的音频振幅,确定排序后的所述多个音频片段中每相邻两个音频片段之间的拼接位置,包括:

在排序后的每相邻两个音频片段中,确定第三振幅,所述第三振幅是指第二音频片段的起点对应的音频振幅,所述第二音频片段为所述每相邻两个音频片段中排序靠后的音频片段;

基于所述第三振幅,确定第二目标点,所述第二目标点位于第一音频片段的预设范围内,所述第一音频片段是指所述每相邻两个音频片段中排序靠前的音频片段;

将所述第二目标点确定为所述每相邻两个音频片段之间的拼接位置。

可选地,所述从多个音频文件中获取多个音频片段,包括:

对于所述多个音频文件中的每个音频文件,根据所述每个音频文件的波形图,确定所述每个音频文件的波形图上音频振幅大于振幅阈值的数据点,每个波形图上连续的所述数据点形成一簇数据点;

确定所述每个波形图上对应的面积最大的一簇数据点,并将所确定的一簇数据点的两端分别获取为起点和终点;

将所述起点和终点之间的音频确定为所述每个音频文件的音频片段。

可选地,所述从多个音频文件中获取多个音频片段之前,还包括:

当所述多个音频文件的格式不同时,按照预设格式对所述多个音频文件进行格式转换;

相应地,所述从多个音频文件中获取多个音频片段,包括:

从格式转换后的多个音频文件中获取多个音频片段。

第二方面,提供了一种音频拼接装置,应用于计算机设备中,所述装置包括:

获取模块,用于从多个音频文件中获取多个音频片段;

排序模块,用于按照预设拼接顺序,对所述多个音频片段进行排序;

确定模块,用于根据所述多个音频片段的音频振幅,确定排序后的所述多个音频片段中每相邻两个音频片段之间的拼接位置;

拼接模块,用于基于所述每相邻两个音频片段之间的拼接位置,将所述多个音频片段进行拼接。

可选地,所述确定模块用于:

在排序后的每相邻两个音频片段中,确定第一振幅,所述第一振幅是指第一音频片段的终点对应的音频振幅,所述第一音频片段为所述每相邻两个音频片段中排序靠前的音频片段;

基于所述第一振幅,确定第一目标点,所述第一目标点位于第二音频片段的预设范围内,所述第二音频片段是指所述每相邻两个音频片段中排序靠后的音频片段;

将所述第一目标点确定为所述每相邻两个音频片段之间的拼接位置。

可选地,所述确定模块用于:

查询所述第二音频片段的预设范围内是否存在所述第一振幅对应的点;

当所述第二音频片段的预设范围内存在所述第一振幅对应的点时,将所述第一振幅对应的点确定为所述第一目标点。

可选地,所述确定模块还用于:

基于排序后的所述多个音频片段中位于首位的音频片段的最高音频振幅,分别确定所述多个音频片段中除所述位于首位的音频片段之外的其它每个音频片段的缩放比例;

按照所确定的每个缩放比例,分别对所述多个音频片段中除所述位于首位的音频片段之外的其它每个音频片段进行缩放处理;

相应地,所述在排序后的每相邻两个音频片段中,确定第一振幅,包括:

在排序后且经过缩放处理的每相邻两个音频片段中,确定所述第一振幅。

可选地,所述确定模块用于:

当所述第二音频片段的预设范围内不存在所述第一振幅对应的点时,按照预设缩放比例,对所述第二音频片段的音频振幅进行缩放处理;

查询缩放后的第二音频片段的预设范围内是否存在所述第一振幅对应的点;

当缩放后的第二音频片段的预设范围内存在所述第一振幅对应的点时,将查询到的所述第一振幅对应的点确定所述第一目标点。

可选地,所述确定模块用于:

当缩放后的第二音频片段的预设范围内不存在所述第一振幅对应的点时,确定第二振幅对应的距离所述第二音频片段的起点最近的点,所述第二振幅与所述第一振幅之间的差值最小;

将所确定的点确定为所述第一目标点。

可选地,所述确定模块还用于:

在排序后的每相邻两个音频片段中,确定第三振幅,所述第三振幅是指第二音频片段的起点对应的音频振幅,所述第二音频片段为所述每相邻两个音频片段中排序靠后的音频片段;

基于所述第三振幅,确定第二目标点,所述第二目标点位于第一音频片段的预设范围内,所述第一音频片段是指所述每相邻两个音频片段中排序靠前的音频片段;

将所述第二目标点确定为所述每相邻两个音频片段之间的拼接位置。

可选地,所述获取模块用于:

对于所述多个音频文件中的每个音频文件,根据所述每个音频文件的波形图,确定所述每个音频文件的波形图上音频振幅大于振幅阈值的数据点,每个波形图上连续的所述数据点形成一簇数据点;

确定所述每个波形图上对应的面积最大的一簇数据点,并将所确定的一簇数据点的两端分别获取为起点和终点;

将所述起点和终点之间的音频确定为所述每个音频文件的音频片段。

可选地,所述装置还包括:

转换模块,用于当所述多个音频文件的格式不同时,按照预设格式对所述多个音频文件进行格式转换;

所述获取模块用于:

从格式转换后的多个音频文件中获取多个音频片段。

第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第一方面所述的音频拼接方法。

第四方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的音频拼接方法。

本发明实施例提供的技术方案带来的有益效果是:

从多个音频文件中获取待拼接的多个音频片段,按照预设拼接顺序,对该多个音频片段进行排序。为了能够实现自动拼接,根据该多个音频片段的音频振幅,确定排序后的多个音频片段中每相邻两个音频片段之间的拼接位置,如此,基于每相邻两个音频片段之间的拼接位置,即可自动将该多个音频片段进行拼接,如此,避免需要人工手动操作,提高了拼接效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据一示例性实施例示出的一种音频拼接方法的流程图。

图2是根据另一示例性实施例示出的一种音频拼接方法的流程图。

图3是根据一示例性实施例示出的一种波形图的示意图。

图4是根据另一示例性实施例示出的一种波形图的示意图。

图5是根据另一示例性实施例示出的一种音频拼接方法的流程图。

图6是根据一示例性实施例示出的一种音频拼接装置的结构示意图。

图7是根据一示例性实施例示出的一种音频拼接装置的结构示意图。

图8是根据另一示例性实施例示出的一种音频拼接装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

在对本发明实施例进行详细介绍之前,先对本发明实施例涉及的应用场景和实施环境进行简单介绍。

首先,对本发明实施例涉及的应用场景进行简单介绍。

目前,串烧歌曲越来越流行。为了实现歌曲串烧,需要采用音频拼接技术,然而,当前需要人工手动拼接,导致拼接效率较低。为此,本发明实施例提供了一种音频拼接方法,该方法可以实现自动拼接,避免需要用户手动操作,提高了音频拼接的效率。

其次,对本发明实施例涉及的实施环境进行简单介绍。

本发明实施例提供的音频拼接方法可以由计算机设备来执行,在一些实施例中,该计算机设备可以包括诸如手机、平板电脑、计算机之类的设备,本发明实施例对此不做限定。

在介绍完本发明实施例涉及的应用场景和实施环境后,接下来,将结合附图对本发明实施例提供的音频拼接方法进行详细介绍。

图1是根据一示例性实施例示出的一种音频拼接方法的流程图,该音频拼接方法可以包括如下几个步骤:

步骤101:从多个音频文件中获取多个音频片段。

步骤102:按照预设拼接顺序,对所述多个音频片段进行排序。

步骤103:根据所述多个音频片段的音频振幅,确定排序后的所述多个音频片段中每相邻两个音频片段之间的拼接位置。

步骤104:基于所述每相邻两个音频片段之间的拼接位置,将所述多个音频片段进行拼接。

在本发明实施例中,从多个音频文件中获取待拼接的多个音频片段,按照预设拼接顺序,对该多个音频片段进行排序。为了能够实现自动拼接,根据该多个音频片段的音频振幅,确定排序后的多个音频片段中每相邻两个音频片段之间的拼接位置,如此,基于每相邻两个音频片段之间的拼接位置,即可自动将该多个音频片段进行拼接,如此,避免需要人工手动操作,提高了拼接效率。

可选地,所述根据所述多个音频片段的音频振幅,确定排序后的所述多个音频片段中每相邻两个音频片段之间的拼接位置,包括:

在排序后的每相邻两个音频片段中,确定第一振幅,所述第一振幅是指第一音频片段的终点对应的音频振幅,所述第一音频片段为所述每相邻两个音频片段中排序靠前的音频片段;

基于所述第一振幅,确定第一目标点,所述第一目标点位于第二音频片段的预设范围内,所述第二音频片段是指所述每相邻两个音频片段中排序靠后的音频片段;

将所述第一目标点确定为所述每相邻两个音频片段之间的拼接位置。

可选地,所述基于所述第一振幅,确定第一目标点,包括:

查询所述第二音频片段的预设范围内是否存在所述第一振幅对应的点;

当所述第二音频片段的预设范围内存在所述第一振幅对应的点时,将所述第一振幅对应的点确定为所述第一目标点。

可选地,所述在排序后的每相邻两个音频片段中,确定第一振幅之前,还包括:

基于排序后的所述多个音频片段中位于首位的音频片段的最高音频振幅,分别确定所述多个音频片段中除所述位于首位的音频片段之外的其它每个音频片段的缩放比例;

按照所确定的每个缩放比例,分别对所述多个音频片段中除所述位于首位的音频片段之外的其它每个音频片段进行缩放处理;

相应地,所述在排序后的每相邻两个音频片段中,确定第一振幅,包括:

在排序后且经过缩放处理的每相邻两个音频片段中,确定所述第一振幅。

可选地,所述查询所述第二音频片段的预设范围内是否存在所述第一振幅对应的点之后,还包括:

当所述第二音频片段的预设范围内不存在所述第一振幅对应的点时,按照预设缩放比例,对所述第二音频片段的音频振幅进行缩放处理;

查询缩放后的第二音频片段的预设范围内是否存在所述第一振幅对应的点;

当缩放后的第二音频片段的预设范围内存在所述第一振幅对应的点时,将查询到的所述第一振幅对应的点确定所述第一目标点。

可选地,所述查询缩放后的第二音频片段的预设范围内是否存在所述第一振幅对应的点之后,还包括:

当缩放后的第二音频片段的预设范围内不存在所述第一振幅对应的点时,确定第二振幅对应的距离所述第二音频片段的起点最近的点,所述第二振幅与所述第一振幅之间的差值最小;

将所确定的点确定为所述第一目标点。

可选地,所述根据所述多个音频片段的音频振幅,确定排序后的所述多个音频片段中每相邻两个音频片段之间的拼接位置,包括:

在排序后的每相邻两个音频片段中,确定第三振幅,所述第三振幅是指第二音频片段的起点对应的音频振幅,所述第二音频片段为所述每相邻两个音频片段中排序靠后的音频片段;

基于所述第三振幅,确定第二目标点,所述第二目标点位于第一音频片段的预设范围内,所述第一音频片段是指所述每相邻两个音频片段中排序靠前的音频片段;

将所述第二目标点确定为所述每相邻两个音频片段之间的拼接位置。

可选地,所述从多个音频文件中获取多个音频片段,包括:

对于所述多个音频文件中的每个音频文件,根据所述每个音频文件的波形图,确定所述每个音频文件的波形图上音频振幅大于振幅阈值的数据点,每个波形图上连续的所述数据点形成一簇数据点;

确定所述每个波形图上对应的面积最大的一簇数据点,并将所确定的一簇数据点的两端分别获取为起点和终点;

将所述起点和终点之间的音频确定为所述每个音频文件的音频片段。

可选地,所述从多个音频文件中获取多个音频片段之前,还包括:

当所述多个音频文件的格式不同时,按照预设格式对所述多个音频文件进行格式转换;

相应地,所述从多个音频文件中获取多个音频片段,包括:

从格式转换后的多个音频文件中获取多个音频片段。

上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。

在本发明实施例中,在根据音频振幅确定每相邻两个待拼接的音频片段之间的拼接位置时,可以采用不同的实现方式,接下来,将分别通过如下图2和图5所示实施例分别进行解释说明。

请参考图2,该图2是根据另一示例性实施例示出的一种音频拼接方法的流程图,本实施例以该音频拼接方法应用于上述计算机设备中为例进行说明,该音频拼接方法可以包括如下几个步骤:

步骤201:从多个音频文件中获取多个音频片段。

在一些实施例中,计算机设备中可以预先存储有多个音频文件,为了实现音频拼接,可以分别对该多个音频文件进行片段截取,即从该多个音频文件中获取多个音频片段,以便于后续可以基于该多个音频片段,合成一个拼接音频。

在一种可能的实现方式中,从多个音频文件中获取多个音频片段的实现过程可以包括:对于该多个音频文件中的每个音频文件,根据该每个音频文件的波形图,确定该每个音频文件的波形图上音频振幅大于振幅阈值的数据点,每个波形图上连续的该数据点形成一簇数据点,确定该每个波形图上对应的面积最大的一簇数据点,并将所确定的一簇数据点的两端分别获取为起点和终点,将该起点和终点之间的音频确定为该每个音频文件的音频片段。

其中,该振幅阈值可以由用户根据实际需求自定义设置,也可以由计算机设备默认设置,本发明实施例对此不做限定。

计算机设备可以根据每个音频文件对应的时间和音高,绘制该每个音频文件的波形图,譬如,在一种可能的实现方式中,某音频文件对应的波形图如图3所示。在本实施例中,计算机设备可以自动获取每个音频文件中的高潮音频片段,为此,确定该波形图上音频振幅大于振幅阈值的数据点,譬如,该数据点包括a1,a2,a3,a4,a5,a8,a9,a14,a15,a16和a17,其中,该a1,a2,a3,a4和a5形成一簇数据点,该a8,和a9形成一簇数据点,该a14,a15,a16和a17形成一簇数据点。之后,计算机设备确定上述三簇数据点中每簇数据点形成的面积大小,并从中选择面积最大的一簇数据点,假设a1,a2,a3,a4和a5这一簇数据点形成的面积最大,则选择该簇数据点。然后,将该簇数据点中的a1确定为起点,将a5确定为终点,该a1和a5之间的音频即确定为该音频文件的高潮音频片段,也即是,计算机设备将a1和a5之间的音频获取为该音频文件的音频片段。

按照上述实现方式,计算机设备即可从该多个音频文件中获取多个音频片段。需要说明的是,上述实现方式不用于限定从多个音频文件中获取多个音频片段的具体实现。

需要说明的是,为了便于后续描述,这里可以将所确定的音频片段的起点记为tmin,终点记为tmax,譬如,请参考图4,某音频片段的起点和终点分别为t1min和t1max,另一个音频片段的起点和终点分别为t2min和t2max。

进一步地,从多个音频文件中获取多个音频片段之前,当该多个音频文件的格式不同时,按照预设格式对该多个音频文件进行格式转换,从格式转换后的多个音频文件中获取多个音频片段。

在一些实施例中,该计算机设备中预先存储的该多个音频文件的格式可能不统一,为了便于后续实现,在从多个音频文件中获取多个音频片段之前,还可以对该多个音频文件进行格式转换,以统一该多个音频文件的格式。譬如,将该多个音频文件进行解码或转码,生成统一的pcm格式或其它统一格式的多个音频文件,之后,计算机设备从格式转换后的多个音频文件中获取多个音频片段,其中,获取的具体实现过程如上文所述。

步骤202:按照预设拼接顺序,对该多个音频片段进行排序。

其中,该预设拼接顺序可以由用户根据实际需求自定义设置,也可以由该计算机设备默认设置,本发明实施例对此不做限定。

譬如,在一种可能的实现方式中,该预设拼接顺序可以为该多个音频片段获取的先后顺序,也即是,计算机设备按照该多个音频片段获取的先后顺序,对该多个音频片段进行排序。

当然,在一些实施例中,该预设拼接顺序还可以包括其它形式,譬如,该预设拼接顺序还可以为该多个音频片段的片段长短顺序等,本发明实施例对此不做限定。

步骤203:在排序后的每相邻两个音频片段中,确定第一振幅,该第一振幅是指第一音频片段的终点对应的音频振幅,该第一音频片段为该每相邻两个音频片段中排序靠前的音频片段。

在本发明实施例中,计算机设备可以根据音频振幅,确定排序后的每相邻两个音频片段之间的拼接位置,进一步地,该计算机设备可以以排在前面的音频片段的终点对应的音频振幅为参考对象,从排在后面的音频片段内确定拼接位置。因此,在排序后的每相邻两个音频片段中,计算机设备首先需要确定排序靠前的音频片段的第一振幅。

在一种可能的实现方式中,可以基于预先生成的波形图,确定该第一音频片段的终点对应的音频振幅,譬如,请参考图3,该第一音频片段的终点对应的音频振幅即为a5点对应的音频振幅。

进一步地,基于排序后的该多个音频片段中位于首位的音频片段的最高音频振幅,分别确定该多个音频片段中除该位于首位的音频片段之外的其它每个音频片段的缩放比例,按照所确定的每个缩放比例,分别对该多个音频片段中除该位于首位的音频片段之外的其它每个音频片段进行缩放处理,在排序后且经过缩放处理的每相邻两个音频片段中,确定该第一振幅。

在一些实施例中,为了保证拼接起来的音频更加平滑,以及为了便于后续确定拼接位置,在排序后的每相邻两个音频片段中确定第一振幅之前,还可以对该多个音频片段的振幅进行缩放处理。

譬如,假设位于首位的音频片段为音频片段1,位于该音频片段1之后的音频片段为音频片段2,依次类推,该多个音频片段还包括音频片段3、音频片段4等。计算机设备确定该音频片段1的最高音频振幅,并确定音频片段2的最高音频振幅与该音频片段1的最高音频振幅之间的比值,得到该音频片段2的缩放比例;确定音频片段3的最高音频振幅与该音频片段1的最高音频振幅之间的比值,得到该音频片段3的缩放比例;以此类推,可以确定其它几个音频片段的缩放比例。

之后,计算机设备按照所确定的音频片段2的缩放比例,对该音频片段2进行缩放处理,以及按照所确定的音频片段3的缩放比例,对该音频片段3进行缩放处理,依次类推,分别按照所确定其它几个音频片段的缩放比例,对其它几个音频片段进行缩放处理。如此,得到缩放后的多个音频片段。

此时,计算机设备在排序后且经过缩放处理的每相邻两个音频片段中,确定该第一振幅,其具体实现过程请参见上文,这里不再重复赘述。

步骤204:基于该第一振幅,确定第一目标点,该第一目标点位于第二音频片段的预设范围内,该第二音频片段是指该每相邻两个音频片段中排序靠后的音频片段。

在一种可能的实现方式中,上述基于该第一振幅,确定第一目标点的具体实现可以包括:查询该第二音频片段的预设范围内是否存在该第一振幅对应的点,当该第二音频片段的预设范围内存在该第一振幅对应的点时,将该第一振幅对应的点确定为该第一目标点。

其中,该预设范围可以由用户根据实际需求自定义设置,也可以由该计算机设备默认设置,本发明实施例对此不做限定。

通常情况下,由于高潮音频片段都是比较理想的要截取的区域,因此,该预设范围可以为该第二音频片段的起点的附近,也就是说,计算机设备在该第二音频片段的起点附近确定该第一目标点。在一些实施例中,该第二音频片段的预设范围可以是指该第二音频片段的起点的前面,且小于一定阈值范围的区域。

其中,上述阈值范围可以由用户根据实际需求自定义设置,也可以由该计算机设备默认设置,本发明实施例对此不做限定。

譬如,继续以上述例子为例,请参考图4,假设上述第一音频片段为音频片段1,则该第二音频片段为音频片段2,计算机设备在该音频片段2的起点t2min附近查找是否存在该第一振幅对应的点,当该音频片段2的起点附近存在该第一振幅对应的点时,比如,所查找到的该第一振幅对应的点为t2min-δt,则将该t2min-δt确定为上述第一目标点。

进一步地,当该第二音频片段的预设范围内不存在该第一振幅对应的点时,按照预设缩放比例,对该第二音频片段的音频振幅进行缩放处理,查询缩放后的第二音频片段的预设范围内是否存在该第一振幅对应的点,当缩放后的第二音频片段的预设范围内存在该第一振幅对应的点时,将查询到的该第一振幅对应的点确定该第一目标点。

其中,该预设缩放比例可以由用户根据实际需求自定义进行设置,也可以由该计算机设备默认设置,本发明实施例对此不做限定。在一些实施例中,该缩放比例的设定要求不超过1.5且不低于0.7。

当该第二音频片段的预设范围内不存在该第一振幅对应的点时,可以按照预先设置的缩放比例,对该第二音频片段的音频振幅进行缩放处理,也就是说,再次对音频振幅进行整体调整,并在调整后的第二音频片段的预设范围内重新查询是否存在该第一振幅对应的点。如果查询到,则将所查询到的该第一振幅对应的点确定该第一目标点。

进一步地,当缩放后的第二音频片段的预设范围内不存在该第一振幅对应的点时,确定第二振幅对应的距离该第二音频片段的起点最近的点,该第二振幅与该第一振幅之间的差值最小,将所确定的点确定为该第一目标点。

也就是说,如果在缩放后的第二音频片段的预设范围内还是未查询到该第一振幅对应的点,则可以确定最靠近第二音频片段的起点,且对应的第二振幅与上述第一振幅之间的差值最小的点,并将该点确定为上述第一目标点。进一步地,此时,还可以对该第一目标点出做浅入浅出的效果。

步骤205:将该第一目标点确定为该每相邻两个音频片段之间的拼接位置。

上述确定的该第一目标点即可确定为该每相邻两个音频片段之间的拼接位置。譬如,若在音频片段1和音频片段2之间,所确定的第一目标点为t2min-δt,则将该t2min-δt确定为音频片段1和音频片段2之间的拼接位置。

需要说明的是,上述步骤203至步骤205用于实现根据多个音频片段的音频振幅,确定排序后的多个音频片段中每相邻两个音频片段之间的拼接位置的操作。

步骤206:基于该每相邻两个音频片段之间的拼接位置,将该多个音频片段进行拼接。

在一种可能的实现方式中,计算机设备可以基于上述所确定的每相邻两个音频片段之间的拼接位置,利用ffmpeg库,将该每相邻两个音频片段逐个拼接起来,最终合成实际需要的音频。

进一步地,在一些实施例中,该计算机设备还可以提供用户设备交互界面,且该用户设备交互界面中可以提供有拖动选项,用户可以根据实际需求拖动某音频片段的尾部,由于与该音频片段相邻的下一个音频片段的拼接位置已经确定,因此,计算机设备基于该拖动选项检测到拖动操作时,可以控制与所拖动的音频片段相邻的下一个音频片段的起点也跟着一起联动,如此,简化了用户操作,提高了用户体验。

在本发明实施例中,从多个音频文件中获取待拼接的多个音频片段,按照预设拼接顺序,对该多个音频片段进行排序。为了能够实现自动拼接,根据该多个音频片段的音频振幅,确定排序后的多个音频片段中每相邻两个音频片段之间的拼接位置,如此,基于每相邻两个音频片段之间的拼接位置,即可自动将该多个音频片段进行拼接,如此,避免需要人工手动操作,提高了拼接效率。

该图5是根据另一示例性实施例示出的一种音频拼接方法的流程图,本实施例以该音频拼接方法应用于上述计算机设备中为例进行说明,该音频拼接方法可以包括如下几个步骤:

步骤501:从多个音频文件中获取多个音频片段。

其具体实现请参见图2实施例中的步骤201。

步骤502:按照预设拼接顺序,对该多个音频片段进行排序。

其具体实现请参见图2实施例中的步骤202。

步骤503:在排序后的每相邻两个音频片段中,确定第三振幅,该第三振幅是指第二音频片段的起点对应的音频振幅,该第二音频片段为该每相邻两个音频片段中排序靠后的音频片段。

与上述图2所示实施例中步骤203不同的是,在本实施例中,以排序靠后的第二音频片段的起点对应的音频振幅作为参考,从排序靠后的第一音频片段中确定拼接位置,因此,这里需要在排序后的每相邻两个音频片段中,确定第三振幅。其中,确定第三振幅的实现与上述确定第一振幅的实现类似,这里不再详细介绍。

进一步地,在排序后的每相邻两个音频片段中确定第三振幅之前,还可以基于排序后的该多个音频片段中位于首位的音频片段的最高音频振幅,分别确定该多个音频片段中除该位于首位的音频片段之外的其它每个音频片段的缩放比例,按照所确定的每个缩放比例,分别对该多个音频片段中除该位于首位的音频片段之外的其它每个音频片段进行缩放处理,此时,在排序后且经过缩放处理的每相邻两个音频片段中,确定该第三振幅。

步骤504:基于该第三振幅,确定第二目标点,该第二目标点位于第一音频片段的预设范围内,该第一音频片段是指该每相邻两个音频片段中排序靠前的音频片段。

在这里,该第一音频片段的预设范围通常是指在该第一音频片段的终点附近。在一种可能的实现方式中,该第一音频片段的预设范围可以是指该第一音频片段的终点的后面,且小于一定阈值范围的区域。

在一些实施例中,上述基于该第三振幅,确定第二目标点的具体实现可以包括:查询该第一音频片段的预设范围内是否存在该第三振幅对应的点,当该第一音频片段的预设范围内存在该第三振幅对应的点时,将该第三振幅对应的点确定为该第二目标点。

进一步地,当该第一音频片段的预设范围内不存在该第三振幅对应的点时,按照预设缩放比例,对该第一音频片段的音频振幅进行缩放处理,查询缩放后的第一音频片段的预设范围内是否存在该第三振幅对应的点,当缩放后的第一音频片段的预设范围内存在该第三振幅对应的点时,将查询到的该第三振幅对应的点确定该第二目标点。

进一步地,当缩放后的第一音频片段的预设范围内不存在该第三振幅对应的点时,确定第四振幅对应的距离该第一音频片段的终点最近的点,该第四振幅与该第三振幅之间的差值最小,将所确定的点确定为该第二目标点。

需要说明的是,上述具体可以参见上述基于第一振幅确定第一目标点的实现,这里不再重复赘述。

步骤505:将该第二目标点确定为该每相邻两个音频片段之间的拼接位置。

需要说明的是,上述步骤503至步骤505用于实现根据多个音频片段的音频振幅,确定排序后的多个音频片段中每相邻两个音频片段之间的拼接位置的操作。

步骤506:基于该每相邻两个音频片段之间的拼接位置,将该多个音频片段进行拼接。

其具体实现请参见图2实施例中的步骤206。

在本发明实施例中,从多个音频文件中获取待拼接的多个音频片段,按照预设拼接顺序,对该多个音频片段进行排序。为了能够实现自动拼接,根据该多个音频片段的音频振幅,确定排序后的多个音频片段中每相邻两个音频片段之间的拼接位置,如此,基于每相邻两个音频片段之间的拼接位置,即可自动将该多个音频片段进行拼接,如此,避免需要人工手动操作,提高了拼接效率。

图6是根据一示例性实施例示出的一种音频拼接装置的结构示意图,该音频拼接装置可以由软件、硬件或者两者的结合实现。该音频拼接装置可以包括:

获取模块610,用于从多个音频文件中获取多个音频片段;

排序模块620,用于按照预设拼接顺序,对所述多个音频片段进行排序;

确定模块630,用于根据所述多个音频片段的音频振幅,确定排序后的所述多个音频片段中每相邻两个音频片段之间的拼接位置;

拼接模块640,用于基于所述每相邻两个音频片段之间的拼接位置,将所述多个音频片段进行拼接。

可选地,所述确定模块630用于:

在排序后的每相邻两个音频片段中,确定第一振幅,所述第一振幅是指第一音频片段的终点对应的音频振幅,所述第一音频片段为所述每相邻两个音频片段中排序靠前的音频片段;

基于所述第一振幅,确定第一目标点,所述第一目标点位于第二音频片段的预设范围内,所述第二音频片段是指所述每相邻两个音频片段中排序靠后的音频片段;

将所述第一目标点确定为所述每相邻两个音频片段之间的拼接位置。

可选地,所述确定模块630用于:

查询所述第二音频片段的预设范围内是否存在所述第一振幅对应的点;

当所述第二音频片段的预设范围内存在所述第一振幅对应的点时,将所述第一振幅对应的点确定为所述第一目标点。

可选地,所述确定模块630还用于:

基于排序后的所述多个音频片段中位于首位的音频片段的最高音频振幅,分别确定所述多个音频片段中除所述位于首位的音频片段之外的其它每个音频片段的缩放比例;

按照所确定的每个缩放比例,分别对所述多个音频片段中除所述位于首位的音频片段之外的其它每个音频片段进行缩放处理;

相应地,所述在排序后的每相邻两个音频片段中,确定第一振幅,包括:

在排序后且经过缩放处理的每相邻两个音频片段中,确定所述第一振幅。

可选地,所述确定模块630用于:

当所述第二音频片段的预设范围内不存在所述第一振幅对应的点时,按照预设缩放比例,对所述第二音频片段的音频振幅进行缩放处理;

查询缩放后的第二音频片段的预设范围内是否存在所述第一振幅对应的点;

当缩放后的第二音频片段的预设范围内存在所述第一振幅对应的点时,将查询到的所述第一振幅对应的点确定所述第一目标点。

可选地,所述确定模块630用于:

当缩放后的第二音频片段的预设范围内不存在所述第一振幅对应的点时,确定第二振幅对应的距离所述第二音频片段的起点最近的点,所述第二振幅与所述第一振幅之间的差值最小;

将所确定的点确定为所述第一目标点。

可选地,所述确定模块630还用于:

在排序后的每相邻两个音频片段中,确定第三振幅,所述第三振幅是指第二音频片段的起点对应的音频振幅,所述第二音频片段为所述每相邻两个音频片段中排序靠后的音频片段;

基于所述第三振幅,确定第二目标点,所述第二目标点位于第一音频片段的预设范围内,所述第一音频片段是指所述每相邻两个音频片段中排序靠前的音频片段;

将所述第二目标点确定为所述每相邻两个音频片段之间的拼接位置。

可选地,所述获取模块610用于:

对于所述多个音频文件中的每个音频文件,根据所述每个音频文件的波形图,确定所述每个音频文件的波形图上音频振幅大于振幅阈值的数据点,每个波形图上连续的所述数据点形成一簇数据点;

确定所述每个波形图上对应的面积最大的一簇数据点,并将所确定的一簇数据点的两端分别获取为起点和终点;

将所述起点和终点之间的音频确定为所述每个音频文件的音频片段。

可选地,请参考图7,所述装置还包括:

转换模块650,用于当所述多个音频文件的格式不同时,按照预设格式对所述多个音频文件进行格式转换;

所述获取模块610用于:

从格式转换后的多个音频文件中获取多个音频片段。

在本发明实施例中,从多个音频文件中获取待拼接的多个音频片段,按照预设拼接顺序,对该多个音频片段进行排序。为了能够实现自动拼接,根据该多个音频片段的音频振幅,确定排序后的多个音频片段中每相邻两个音频片段之间的拼接位置,如此,基于每相邻两个音频片段之间的拼接位置,即可自动将该多个音频片段进行拼接,如此,避免需要人工手动操作,提高了拼接效率。

需要说明的是:上述实施例提供的音频拼接装置在实现音频拼接方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的音频拼接装置与音频拼接方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图8示出了本发明一个示例性实施例提供的终端800的结构框图。该终端800可以是:智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端800包括有:处理器801和存储器802。

处理器801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器801可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器801可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器801还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本申请中方法实施例提供的音频拼接方法。

在一些实施例中,终端800还可选包括有:外围设备接口803和至少一个外围设备。处理器801、存储器802和外围设备接口803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口803相连。具体地,外围设备包括:射频电路804、触摸显示屏805、摄像头806、音频电路807、定位组件808和电源809中的至少一种。

外围设备接口803可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器801和存储器802。在一些实施例中,处理器801、存储器802和外围设备接口803被集成在同一芯片或电路板上;在一些其他实施例中,处理器801、存储器802和外围设备接口803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路804用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路804包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路804还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏805用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏805是触摸显示屏时,显示屏805还具有采集在显示屏805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器801进行处理。此时,显示屏805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏805可以为一个,设置终端800的前面板;在另一些实施例中,显示屏805可以为至少两个,分别设置在终端800的不同表面或呈折叠设计;在再一些实施例中,显示屏805可以是柔性显示屏,设置在终端800的弯曲表面上或折叠面上。甚至,显示屏805还可以设置成非矩形的不规则图形,也即异形屏。显示屏805可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

摄像头组件806用于采集图像或视频。可选地,摄像头组件806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器801进行处理,或者输入至射频电路804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器801或射频电路804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路807还可以包括耳机插孔。

定位组件808用于定位终端800的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件808可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。

电源809用于为终端800中的各个组件进行供电。电源809可以是交流电、直流电、一次性电池或可充电电池。当电源809包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。

在一些实施例中,终端800还包括有一个或多个传感器810。该一个或多个传感器810包括但不限于:加速度传感器811、陀螺仪传感器812、压力传感器813、指纹传感器814、光学传感器815以及接近传感器816。

加速度传感器811可以检测以终端800建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器811可以用于检测重力加速度在三个坐标轴上的分量。处理器801可以根据加速度传感器811采集的重力加速度信号,控制触摸显示屏805以横向视图或纵向视图进行用户界面的显示。加速度传感器811还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器812可以检测终端800的机体方向及转动角度,陀螺仪传感器812可以与加速度传感器811协同采集用户对终端800的3d动作。处理器801根据陀螺仪传感器812采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器813可以设置在终端800的侧边框和/或触摸显示屏805的下层。当压力传感器813设置在终端800的侧边框时,可以检测用户对终端800的握持信号,由处理器801根据压力传感器813采集的握持信号进行左右手识别或快捷操作。当压力传感器813设置在触摸显示屏805的下层时,由处理器801根据用户对触摸显示屏805的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器814用于采集用户的指纹,由处理器801根据指纹传感器814采集到的指纹识别用户的身份,或者,由指纹传感器814根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器801授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器814可以被设置终端800的正面、背面或侧面。当终端800上设置有物理按键或厂商logo时,指纹传感器814可以与物理按键或厂商logo集成在一起。

光学传感器815用于采集环境光强度。在一个实施例中,处理器801可以根据光学传感器815采集的环境光强度,控制触摸显示屏805的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏805的显示亮度;当环境光强度较低时,调低触摸显示屏805的显示亮度。在另一个实施例中,处理器801还可以根据光学传感器815采集的环境光强度,动态调整摄像头组件806的拍摄参数。

接近传感器816,也称距离传感器,通常设置在终端800的前面板。接近传感器816用于采集用户与终端800的正面之间的距离。在一个实施例中,当接近传感器816检测到用户与终端800的正面之间的距离逐渐变小时,由处理器801控制触摸显示屏805从亮屏状态切换为息屏状态;当接近传感器816检测到用户与终端800的正面之间的距离逐渐变大时,由处理器801控制触摸显示屏805从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图8中示出的结构并不构成对终端800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

本申请实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行上述图1、图2或者图5所示实施例提供的音频拼接方法。

本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述图1、图2或者图5所示实施例提供的音频拼接方法。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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