音频合成方法、装置及存储介质与流程

文档序号:13474180阅读:286来源:国知局
音频合成方法、装置及存储介质与流程

本发明涉及多媒体技术领域,特别涉及一种音频合成方法、装置及存储介质。



背景技术:

随着多媒体技术的快速发展,出现了丰富的音乐平台可以提供音频文件,例如,该音乐平台为k歌平台。在k歌平台中,一个完整的音频文件的基本格式通常需要包括双声道、指定比特大小、指定采样率等,例如,该指定比特大小可以为16bit,该指定采样率可以为44100hz。其中,该双声道分别对应伴奏音频和原唱音频。在实际应用场景中,一般伴奏音频文件和原唱音频文件是独立存在的,因此,通常需要将伴奏音频和原唱音频进行合成。

在相关技术中,一般需要人工操作进行音频合成。也即是,该k歌平台的曲库中存储有伴奏音频文件和原唱音频文件,在实现过程中,需要人工根据歌曲名、歌手名等歌曲信息,从该曲库中查询伴奏音频文件和该伴奏音频文件对应的原唱音频文件,之后,将该伴奏音频文件和该原唱音频文件手动添加至音频编辑软件中,以通过该音频编辑软件进行音频合成。如此,导致操作较为繁琐,音频合成效率较低。



技术实现要素:

为了解决相关技术的问题,本发明实施例提供了一种音频合成方法、装置及存储介质。所述技术方案如下:

第一方面,提供了一种音频合成方法,所述方法包括:

根据待合成的伴奏音频文件对应的歌曲信息,获取与所述伴奏音频文件对应的目标原唱音频文件;

若所述伴奏音频文件的伴奏音频时长与所述目标原唱音频文件的原唱音频时长之间的第一时长差值小于或等于预设阈值,则通过短时能量算法,确定伴奏原唱对齐位置,若所述伴奏音频文件的伴奏音频时长与所述目标原唱音频文件的原唱音频时长之间的第一时长差值大于所述预设阈值,则通过短时互相关算法,确定所述伴奏原唱对齐位置,所述伴奏原唱对齐位置是指所述伴奏音频文件和所述目标原唱音频文件开始匹配的位置;

基于所述伴奏原唱对齐位置,按照指定音频文件格式,将所述伴奏音频文件和所述目标原唱音频文件合并成完整的音频文件,以实现音频合成。

可选地,所述根据待合成的伴奏音频文件对应的歌曲信息,获取与所述伴奏音频文件对应的目标原唱音频文件,包括:

获取与所述歌曲信息匹配的多个原唱音频文件;

确定所述伴奏音频文件的伴奏音频时长,以及确定所述多个原唱音频文件中的每个原唱音频文件的原唱音频时长;

分别确定每个原唱音频时长与所述伴奏音频时长之间的第二时长差值;

将所述多个原唱音频文件中与所述伴奏音频时长之间的第二时长差值最小的原唱音频文件确定为所述目标原唱音频文件。

可选地,所述通过短时互相关算法,确定所述伴奏原唱对齐位置,包括:

按照预设采样频率,分别对所述伴奏音频文件和所述目标原唱音频文件进行采样,得到第一采集集合和第二采样集合;

基于所述预设采样频率、所述第一采样集合、所述第二采样集合和预设互相关时间,确定所述伴奏原唱对齐位置,所述预设互相关时间与所述第一时长差值呈正相关关系。

可选地,所述基于所述预设采样频率、所述第一采样集合、所述第二采样集合和预设互相关时间,确定所述伴奏原唱对齐位置,包括:

基于所述预设采样频率、所述第一采样集合、所述第二采样集合和所述预设互相关时间,确定互相关数组;

将所述互相关数组中最大值对应的位置确定为所述伴奏原唱对齐位置。

可选地,所述根据待合成的伴奏音频文件对应的歌曲信息,获取与所述伴奏音频文件对应的目标原唱音频文件之前,还包括:

当所述歌曲信息包括歌曲名称和歌手名称时,提取所述伴奏音频文件的音频指纹信息;

基于所述歌曲名称、所述歌手名称、所述音频指纹信息和所述伴奏音频时长,查询歌曲库中是否已经存在所述伴奏音频文件;

若所述歌曲库中不存在所述伴奏音频文件,则执行所述根据待合成的伴奏音频文件对应的歌曲信息,获取与所述伴奏音频文件对应的目标原唱音频文件的步骤。

第二方面,提供了一种音频合成装置,所述装置包括:

获取模块,用于根据待合成的伴奏音频文件对应的歌曲信息,获取与所述伴奏音频文件对应的目标原唱音频文件;

确定模块,用于当所述伴奏音频文件的伴奏音频时长与所述目标原唱音频文件的原唱音频时长之间的第一时长差值小于或等于预设阈值时,通过短时能量算法,确定伴奏原唱对齐位置,当所述伴奏音频文件的伴奏音频时长与所述目标原唱音频文件的原唱音频时长之间的第一时长差值大于所述预设阈值时,通过短时互相关算法,确定所述伴奏原唱对齐位置,所述伴奏原唱对齐位置是指所述伴奏音频文件和所述目标原唱音频文件开始匹配的位置;

合成模块,用于基于所述伴奏原唱对齐位置,按照指定音频文件格式,将所述伴奏音频文件和所述目标原唱音频文件合并成完整的音频文件,以实现音频合成。

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

获取与所述歌曲信息匹配的多个原唱音频文件;

确定所述伴奏音频文件的伴奏音频时长,以及确定所述多个原唱音频文件中的每个原唱音频文件的原唱音频时长;

分别确定每个原唱音频时长与所述伴奏音频时长之间的第二时长差值;

将所述多个原唱音频文件中与所述伴奏音频时长之间的第二时长差值最小的原唱音频文件确定为所述目标原唱音频文件。

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

按照预设采样频率,分别对所述伴奏音频文件和所述目标原唱音频文件进行采样,得到第一采集集合和第二采样集合;

基于所述预设采样频率、所述第一采样集合、所述第二采样集合和预设互相关时间,确定所述伴奏原唱对齐位置,所述预设互相关时间与所述第一时长差值呈正相关关系。

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

基于所述预设采样频率、所述第一采样集合、所述第二采样集合和所述预设互相关时间,确定互相关数组;

将所述互相关数组中最大值对应的位置确定为所述伴奏原唱对齐位置。

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

提取模块,用于当所述歌曲信息包括歌曲名称和歌手名称时,提取所述伴奏音频文件的音频指纹信息;

查询模块,用于基于所述歌曲名称、所述歌手名称、所述音频指纹信息和所述伴奏音频时长,查询歌曲库中是否已经存在所述伴奏音频文件;

触发模块,用于当所述歌曲库中不存在所述伴奏音频文件时,触发所述获取模块执行所述根据待合成的伴奏音频文件对应的歌曲信息,获取与所述伴奏音频文件对应的目标原唱音频文件的步骤。

第三方面,提供了一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现上述第一方面所述的音频合成方法。

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

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

根据待合成的伴奏音频文件对应的歌曲信息,获取与该伴奏音频文件对应的目标原唱音频文件,当该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值小于或等于预设阈值时,通过短时能量算法,确定该伴奏音频文件和该目标原唱音频文件开始匹配的位置,当该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值大于该预设阈值时,通过短时互相关算法,确定该伴奏音频文件和该目标原唱音频文件开始匹配的位置。之后,即可基于所确定的位置,按照指定音频文件格式,将该伴奏音频文件和该目标原唱音频文件合并成完整的音频文件,以实现音频合成。也即是,本发明实施例可以自动实现音频合成,无需人工手动操作,提高了操作的便捷性,并提高了音频合成效率。

附图说明

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

图1是本发明实施例提供的一种音频合成方法流程图;

图2是本发明实施例提供的一种音频合成方法流程图;

图3a是本发明实施例提供的一种音频合成装置的结构示意图;

图3b是本发明实施例提供的另一种音频合成装置的结构示意图;

图4是本发明实施例提供的一种音频合成装置的服务器结构示意图。

具体实施方式

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

在对本发明实施例进行详细地解释说明之前,先对本发明实施例涉及的名词和系统架构予以说明。

首先,对本发明实施例涉及的名词进行简单介绍:

双声道:通常包括左声道和右声道,一般情况下,左声道对应存储伴奏音频的数据,右声道对应存储原唱音频的数据。

短时能量算法:用于基于两个音频的能量,通过短时能量公式确定两个音频的对齐位置。

其次,对本发明实施例涉及的系统架构进行简单介绍:

本发明实施例提供的音频合成方法可以应用于k歌平台中,该k歌平台可以包括有服务器和终端,该服务器和该终端可以通过有线网络或无线网络连接。

其中,该服务器主要用于实现本发明实施例提供的音频合成方法,也即是,该服务器可以用于将伴奏音频文件和原唱音频文件合并成完整的音频文件,进一步地,该服务器还可以对合成后的该完整的音频文件进行存储。在实际实现中,该服务器可以为一台服务器,也可以为由多台服务器组成的服务器集群,本发明实施例对此不做限定。

其中,该终端中通常安装并运行有k歌客户端,用户在该k歌客户端可以输入歌曲信息,例如,该歌曲信息可以包括但不限于歌曲名称、歌手名称。之后,用户可以通过该终端将该歌曲信息发送给服务器,以使服务器基于该歌曲信息进行查询、对齐、合并等操作,其具体实现请参见如下图1或图2所示的实施例。

图1是本发明实施例提供的一种音频合成方法流程图。参见图1,该方法包括:

步骤101:根据待合成的伴奏音频文件对应的歌曲信息,获取与该伴奏音频文件对应的目标原唱音频文件。

步骤102:若该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值小于或等于预设阈值,则通过短时能量算法,确定伴奏原唱对齐位置,若该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值大于该预设阈值,则通过短时互相关算法,确定该伴奏原唱对齐位置,该伴奏原唱对齐位置是指该伴奏音频文件和该目标原唱音频文件开始匹配的位置。

步骤103:基于该伴奏原唱对齐位置,按照指定音频文件格式,将该伴奏音频文件和该目标原唱音频文件合并成完整的音频文件,以实现音频合成。

在本发明实施例中,根据待合成的伴奏音频文件对应的歌曲信息,获取与该伴奏音频文件对应的目标原唱音频文件,当该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值小于或等于预设阈值时,通过短时能量算法,确定该伴奏音频文件和该目标原唱音频文件开始匹配的位置,当该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值大于该预设阈值时,通过短时互相关算法,确定该伴奏音频文件和该目标原唱音频文件开始匹配的位置。之后,即可基于所确定的位置,按照指定音频文件格式,将该伴奏音频文件和该目标原唱音频文件合并成完整的音频文件,以实现音频合成。也即是,本发明实施例可以自动实现音频合成,无需人工手动操作,提高了操作的便捷性,并提高了音频合成效率。

可选地,根据待合成的伴奏音频文件对应的歌曲信息,获取与该伴奏音频文件对应的目标原唱音频文件,包括:

获取与该歌曲信息匹配的多个原唱音频文件;

确定该伴奏音频文件的伴奏音频时长,以及确定该多个原唱音频文件中的每个原唱音频文件的原唱音频时长;

分别确定每个原唱音频时长与该伴奏音频时长之间的第二时长差值;

将该多个原唱音频文件中与该伴奏音频时长之间的第二时长差值最小的原唱音频文件确定为该目标原唱音频文件。

可选地,通过短时互相关算法,确定该伴奏原唱对齐位置,包括:

按照预设采样频率,分别对该伴奏音频文件和该目标原唱音频文件进行采样,得到第一采集集合和第二采样集合;

基于该预设采样频率、该第一采样集合、该第二采样集合和预设互相关时间,确定该伴奏原唱对齐位置,该预设互相关时间与该第一时长差值呈正相关关系。

可选地,基于该预设采样频率、该第一采样集合、该第二采样集合和预设互相关时间,确定该伴奏原唱对齐位置,包括:

基于该预设采样频率、该第一采样集合、该第二采样集合和该预设互相关时间,确定互相关数组;

将该互相关数组中最大值对应的位置确定为该伴奏原唱对齐位置。

可选地,根据待合成的伴奏音频文件对应的歌曲信息,获取与所述伴奏音频文件对应的目标原唱音频文件之前,还包括:

当所述歌曲信息包括歌曲名称和歌手名称时,提取所述伴奏音频文件的音频指纹信息;

基于所述歌曲名称、所述歌手名称、所述音频指纹信息和所述伴奏音频时长,查询歌曲库中是否已经存在所述伴奏音频文件;

若所述歌曲库中不存在所述伴奏音频文件,则执行所述根据待合成的伴奏音频文件对应的歌曲信息,获取与所述伴奏音频文件对应的目标原唱音频文件的步骤。

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

图2是本发明实施例提供的一种音频合成方法流程图,该方法用于服务器中。参见图2,该方法包括:

步骤201:当待合成的伴奏音频文件对应的歌曲信息包括歌曲名称和歌手名称时,提取该伴奏音频文件的音频指纹信息。

本发明实施例提供了一种音频合成方法,该方法可以自动将伴奏音频文件和该伴奏音频文件对应的原唱音频文件合并成一个完整的音频文件。在实际实现过程中,如果歌曲库中已经存在该待合成的伴奏音频文件,则说明不需要对该伴奏音频文件进行合成。因此,在对待合成的伴奏音频文件进行合成之前,需要判断k歌平台的歌曲库中当前是否已经存在了该待合成的伴奏音频文件,其中,判断该歌曲库中是否已经存在该伴奏音频文件的具体实现如步骤201至步骤202所述。

为了准确判断歌曲库中是否已经存在该伴奏音频文件,服务器提取该待合成的伴奏音频文件的音频指纹信息,以将该音频指纹信息作为判断的依据之一。

需要说明的是,这里仅是以该歌曲信息包括歌曲名称和歌手名称为例进行说明,在另一实施例中,该歌曲信息还可以包括其它信息,例如,还可以包括所属专辑的专辑名称等,本发明实施例对此不做限定。

步骤202:基于该歌曲名称、该歌手名称、该音频指纹信息和该伴奏音频时长,查询歌曲库中是否已经存在该伴奏音频文件。

在实际实现中,服务器还可以确定该伴奏音频文件对应的伴奏音频时长,之后,该服务器根据该歌曲名称、该歌手名称、该音频指纹信息和该伴奏音频时长,查询歌曲库中是否已经存在该伴奏音频文件。

需要说明的是,这里仅是以基于歌曲名称、歌手名称、该音频指纹信息和该伴奏音频时长,查询歌曲库中是否已经存在该伴奏音频文件为例进行说明,在另一实施例中,还可以根据其它信息查询歌曲库中是否已经存在该伴奏音频文件,例如,还可以根据该歌曲名称、歌手名称、该音频指纹信息和该伴奏音频时长中的任意一个或者任意两个查询歌曲库中是否已经存在该伴奏音频文件,本发明实施例对此不做限定。

步骤203:若该歌曲库中不存在该伴奏音频文件,则根据待合成的伴奏音频文件对应的歌曲信息,获取与该伴奏音频文件对应的目标原唱音频文件。

如果该歌曲库中不存在该伴奏音频文件,则说明需要将该伴奏音频文件进行合成,为此,服务器根据待合成的伴奏音频文件对应的歌曲信息,获取与该伴奏音频文件对应的目标原唱音频文件。

在具体实现中,根据待合成的伴奏音频文件对应的歌曲信息,获取与该伴奏音频文件对应的目标原唱音频文件的具体实现可以包括如下几个实现步骤:

(1)获取与该歌曲信息匹配的多个原唱音频文件。

在实际实现中,受到版本等因素的影响,与该歌曲信息匹配的原唱音频文件可能包括多个,例如,与该歌曲信息匹配的多个原唱音频文件可能包括原唱音频文件a、原唱音频文件b和原唱音频文件c。

(2)确定该伴奏音频文件的伴奏音频时长,以及确定该多个原唱音频文件中的每个原唱音频文件的原唱音频时长。

服务器需要从获取的该多个原唱音频文件中确定与该伴奏音频文件最匹配的目标原唱音频文件,以便后续将该目标原唱音频文件与该伴奏音频文件进行合成。为此,服务器确定该伴奏音频文件的伴奏音频时长,以及确定该多个原唱音频文件中的每个原唱音频文件的原唱音频时长。

例如,确定该伴奏音频文件的伴奏音频时长为t1,以及确定该原唱音频文件a的原唱音频时长为t2,该原唱音频文件b的原唱音频时长为t3,该原唱音频文件c的原唱音频时长为t4。

(3)分别确定每个原唱音频时长与该伴奏音频时长之间的第二时长差值。

例如,原唱音频时长t2与该伴奏音频时长之间的第一时间差值t1=|t1-t2|,该原唱音频时长t3与该伴奏音频时长之间的第一时间差值t2=|t1-t3|,以及该原唱音频时长t4与该伴奏音频时长之间的第一时间差值t3=|t1-t4|。

(4)将该多个原唱音频文件中与该伴奏音频时长之间的第二时长差值最小的原唱音频文件确定为该目标原唱音频文件。

第二时长差值越小,说明该第二时长差值对应的原唱音频文件与该伴奏音频文件的匹配度越高,因此,在本发明实施例中,将该多个原唱音频文件中与该伴奏音频时长之间的第二时长差值最小的原唱音频文件确定为该目标原唱音频文件。例如,若在上述所确定的t1、t2和t3中t1最小,则服务器将该第二时长差值t1对应的原唱音频文件a确定为该目标原唱音频文件。

步骤204:若该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值小于或等于预设阈值,则通过短时能量算法,确定伴奏原唱对齐位置,若该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值大于该预设阈值,则通过短时互相关算法,确定该伴奏原唱对齐位置,该伴奏原唱对齐位置是指该伴奏音频文件和该目标原唱音频文件开始匹配的位置。

在具体实现中,根据该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值的取值范围不同,确定该伴奏原唱对齐位置所采用的算法也不同,具体可以包括如下两种情况:

第一种情况:若该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值小于或等于预设阈值,则通过短时能量算法,确定该伴奏原唱对齐位置。

其中,该预设阈值可以由用户根据实际需求自定义设置,也可以由该服务器默认设置,本发明实施例对此不做限定。

例如,该预设阈值可以设置为3秒。也即是,如果该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值在3秒以内,则可以采用效率较高的短时能量算法确定该伴奏原唱对齐位置。

第二种情况:若该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值大于该预设阈值,则通过短时互相关算法,确定该伴奏原唱对齐位置。

例如,若该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值大于3秒,则通过短时互相关算法,确定该伴奏原唱对齐位置。

在具体实现中,通过短时互相关算法,确定该伴奏原唱对齐位置的具体实现包括:按照预设采样频率,分别对该伴奏音频文件和该目标原唱音频文件进行采样,得到第一采集集合和第二采样集合,基于该预设采样频率、该第一采样集合、该第二采样集合和预设互相关时间,确定该伴奏原唱对齐位置,该预设互相关时间与该第一时长差值呈正相关关系。

其中,该预设采样频率可以由用户根据实际需求自定义设置,也可以由该服务器默认设置,本发明实施例对此不做限定。例如,该预设采样频率可以设置为8000hz。

需要说明的是,为了保证对伴奏音频文件和目标原唱音频文件统一,这里采用相同的预设采样频率对该伴奏音频文件和目标原唱音频文件进行统一采样。

在实际实现中,由于通过短时互相关算法确定该伴奏原唱对齐位置时,通常需要较大的计算量,如此以来,若对整个音频文件进行互相关计算,虽然能够保证计算的准确性,但是,需要较长的运算时间,影响了运算效率。为了降低计算量,本发明实施例针对该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值不同,设置不同的预设互相关时间,且该预设互相关时间与该第一时长差值呈正相关关系。

例如,若该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值在10秒以内,则可以将该预设互相关时间设置为15秒,也即是,对该伴奏音频文件和该目标原唱音频文件的前15秒的音频数据进行互相关计算。若该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值在5秒以内,则可以将该预设互相关时间设置为10秒,也即是,对该伴奏音频文件和该目标原唱音频文件的前10秒的音频数据进行互相关计算。

需要说明的是,若该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值超过某一限定范围时,则需要通过人工进行音频合成,例如,该限定范围为60秒。也即是,如果该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值大于60秒,则需要人工进行音频合成。

进一步地,上述基于该预设采样频率、该第一采样集合、该第二采样集合和预设互相关时间,确定该伴奏原唱对齐位置的具体实现包括:基于该预设采样频率、该第一采样集合、该第二采样集合和该预设互相关时间,确定互相关数组,将该互相关数组中最大值对应的位置确定为该伴奏原唱对齐位置。

在具体实现中,服务器基于该预设采样频率、该第一采样集合、该第二采样集合和该预设互相关时间,通过如下公式(1),确定互相关数组:

其中,表示互相关数组,x[m]表示伴奏音频文件对应的第一采样集合中的第m个采样数据,y[m-τ]表示原唱音频文件对应的第二采样集合中的第m-τ个采样数据,τ表示时间偏移量,其取值为从0至m的整数,ωτ表示窗函数,在这里,该其中,该t为上述预设互相关时间,该f为上述预设采样频率。

确定该互相关数组后从该互相关数组中确定最大峰值点(即该互相换数组中的最大值),并将该最大峰值点对应的位置确定为上述伴奏原唱对齐位置。

步骤205:基于该伴奏原唱对齐位置,按照指定音频文件格式,将该伴奏音频文件和该目标原唱音频文件合并成完整的音频文件,以实现音频合成。

在一种可能的实现方式中,服务器确定该伴奏原唱对齐位置后,可以分别将伴奏音频文件和目标原唱音频文件中该伴奏原唱对齐位置之前的音频数据割除,从而实现将伴奏音频文件和该目标原唱音频文件对齐。

进一步地,服务器可以基于该伴奏原唱对齐位置,将该伴奏音频文件和该目标原唱音频文件合并成左声道为伴奏音频文件,右声道为目标原唱音频文件的完整的音频文件,从而实现音频合成。在一种可能的实现方式中,该合成后的完整的音频文件可以为wave格式的文件。

进一步地,服务器将该伴奏音频文件和该原唱音频文件合成完整的音频文件后,还可以对该合成后的音频文件进行音质检测,例如,通过音频检测软件进行音质检测。进一步地,该服务器对音频检测后的音频文件进行转码处理,并将转码后的音频文件存储至歌曲库中,以便于用户通过终端搜索可以直接从该歌曲库中获取到经过合成、音频检测、转码处理后的完整的音频文件。

在本发明实施例中,根据待合成的伴奏音频文件对应的歌曲信息,获取与该伴奏音频文件对应的目标原唱音频文件,当该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值小于或等于预设阈值时,通过短时能量算法,确定该伴奏音频文件和该目标原唱音频文件开始匹配的位置,当该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值大于该预设阈值时,通过短时互相关算法,确定该伴奏音频文件和该目标原唱音频文件开始匹配的位置。之后,即可基于所确定的位置,按照指定音频文件格式,将该伴奏音频文件和该目标原唱音频文件合并成完整的音频文件,以实现音频合成。也即是,本发明实施例可以自动实现音频合成,无需人工手动操作,提高了操作的便捷性,并提高了音频合成效率。

参见图3a,图3a是本发明实施例提供的一种音频合成装置的结构示意图,该装置包括获取模块310,确定模块320和合成模块330。

该获取模块310,用于根据待合成的伴奏音频文件对应的歌曲信息,获取与所述伴奏音频文件对应的目标原唱音频文件;

确定模块320,用于当所述伴奏音频文件的伴奏音频时长与所述目标原唱音频文件的原唱音频时长之间的第一时长差值小于或等于预设阈值时,通过短时能量算法,确定伴奏原唱对齐位置,当所述伴奏音频文件的伴奏音频时长与所述目标原唱音频文件的原唱音频时长之间的第一时长差值大于所述预设阈值时,通过短时互相关算法,确定所述伴奏原唱对齐位置,所述伴奏原唱对齐位置是指所述伴奏音频文件和所述目标原唱音频文件开始匹配的位置;

合成模块330,用于基于所述伴奏原唱对齐位置,按照指定音频文件格式,将所述伴奏音频文件和所述目标原唱音频文件合并成完整的音频文件,以实现音频合成。

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

获取与所述歌曲信息匹配的多个原唱音频文件;

确定所述伴奏音频文件的伴奏音频时长,以及确定所述多个原唱音频文件中的每个原唱音频文件的原唱音频时长;

分别确定每个原唱音频时长与所述伴奏音频时长之间的第二时长差值;

将所述多个原唱音频文件中与所述伴奏音频时长之间的第二时长差值最小的原唱音频文件确定为所述目标原唱音频文件。

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

按照预设采样频率,分别对所述伴奏音频文件和所述目标原唱音频文件进行采样,得到第一采集集合和第二采样集合;

基于所述预设采样频率、所述第一采样集合、所述第二采样集合和预设互相关时间,确定所述伴奏原唱对齐位置,所述预设互相关时间与所述第一时长差值呈正相关关系。

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

基于所述预设采样频率、所述第一采样集合、所述第二采样集合和所述预设互相关时间,确定互相关数组;

将所述互相关数组中最大值对应的位置确定为所述伴奏原唱对齐位置。

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

提取模块340,用于当所述歌曲信息包括歌曲名称和歌手名称时,提取所述伴奏音频文件的音频指纹信息;

查询模块350,用于基于所述歌曲名称、所述歌手名称、所述音频指纹信息和所述伴奏音频时长,查询歌曲库中是否已经存在所述伴奏音频文件;

触发模块360,用于当所述歌曲库中不存在所述伴奏音频文件时,触发所述获取模块310执行所述根据待合成的伴奏音频文件对应的歌曲信息,获取与所述伴奏音频文件对应的目标原唱音频文件的步骤。

在本发明实施例中,根据待合成的伴奏音频文件对应的歌曲信息,获取与该伴奏音频文件对应的目标原唱音频文件,当该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值小于或等于预设阈值时,通过短时能量算法,确定该伴奏音频文件和该目标原唱音频文件开始匹配的位置,当该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值大于该预设阈值时,通过短时互相关算法,确定该伴奏音频文件和该目标原唱音频文件开始匹配的位置。之后,即可基于所确定的位置,按照指定音频文件格式,将该伴奏音频文件和该目标原唱音频文件合并成完整的音频文件,以实现音频合成。也即是,本发明实施例可以自动实现音频合成,无需人工手动操作,提高了操作的便捷性,并提高了音频合成效率。

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

图4是本发明实施例提供的一种音频合成装置的服务器结构示意图。该服务器可以是后台服务器集群中的服务器。具体来讲:

服务器400包括中央处理单元(cpu)401、包括随机存取存储器(ram)402和只读存储器(rom)403的系统存储器404,以及连接系统存储器404和中央处理单元401的系统总线405。服务器400还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)406,和用于存储操作系统413、应用程序414和其他程序模块415的大容量存储设备407。

基本输入/输出系统406包括有用于显示信息的显示器408和用于用户输入信息的诸如鼠标、键盘之类的输入设备409。其中显示器408和输入设备409都通过连接到系统总线405的输入输出控制器410连接到中央处理单元401。基本输入/输出系统406还可以包括输入输出控制器410以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器410还提供输出到显示屏、打印机或其他类型的输出设备。

大容量存储设备407通过连接到系统总线405的大容量存储控制器(未示出)连接到中央处理单元401。大容量存储设备407及其相关联的计算机可读介质为服务器400提供非易失性存储。也就是说,大容量存储设备407可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。

不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器404和大容量存储设备407可以统称为存储器。

根据本发明的各种实施例,服务器400还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器400可以通过连接在系统总线405上的网络接口单元411连接到网络412,或者说,也可以使用网络接口单元411来连接到其他类型的网络或远程计算机系统(未示出)。

上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由cpu执行。所述一个或者一个以上程序包含用于进行本发明实施例提供的如下所述的音频合成方法的指令,包括:

根据待合成的伴奏音频文件对应的歌曲信息,获取与该伴奏音频文件对应的目标原唱音频文件;

若该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值小于或等于预设阈值,则通过短时能量算法,确定伴奏原唱对齐位置,若该伴奏音频文件的伴奏音频时长与该目标原唱音频文件的原唱音频时长之间的第一时长差值大于该预设阈值,则通过短时互相关算法,确定该伴奏原唱对齐位置,该伴奏原唱对齐位置是指该伴奏音频文件和该目标原唱音频文件开始匹配的位置;

基于该伴奏原唱对齐位置,按照指定音频文件格式,将该伴奏音频文件和该目标原唱音频文件合并成完整的音频文件,以实现音频合成。

可选地,根据待合成的伴奏音频文件对应的歌曲信息,获取与该伴奏音频文件对应的目标原唱音频文件,包括:

获取与该歌曲信息匹配的多个原唱音频文件;

确定该伴奏音频文件的伴奏音频时长,以及确定该多个原唱音频文件中的每个原唱音频文件的原唱音频时长;

分别确定每个原唱音频时长与该伴奏音频时长之间的第二时长差值;

将该多个原唱音频文件中与该伴奏音频时长之间的第二时长差值最小的原唱音频文件确定为该目标原唱音频文件。

可选地,通过短时互相关算法,确定该伴奏原唱对齐位置,包括:

按照预设采样频率,分别对该伴奏音频文件和该目标原唱音频文件进行采样,得到第一采集集合和第二采样集合;

基于该预设采样频率、该第一采样集合、该第二采样集合和预设互相关时间,确定该伴奏原唱对齐位置,该预设互相关时间与该第一时长差值呈正相关关系。

可选地,基于该预设采样频率、该第一采样集合、该第二采样集合和预设互相关时间,确定该伴奏原唱对齐位置,包括:

基于该预设采样频率、该第一采样集合、该第二采样集合和该预设互相关时间,确定互相关数组;

将该互相关数组中最大值对应的位置确定为该伴奏原唱对齐位置。

可选地,根据待合成的伴奏音频文件对应的歌曲信息,获取与所述伴奏音频文件对应的目标原唱音频文件之前,还包括:

当所述歌曲信息包括歌曲名称和歌手名称时,提取所述伴奏音频文件的音频指纹信息;

基于所述歌曲名称、所述歌手名称、所述音频指纹信息和所述伴奏音频时长,查询歌曲库中是否已经存在所述伴奏音频文件;

若所述歌曲库中不存在所述伴奏音频文件,则执行所述根据待合成的伴奏音频文件对应的歌曲信息,获取与所述伴奏音频文件对应的目标原唱音频文件的步骤。

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

一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述图1或图2所示实施例提供的音频合成方法。

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

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

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