一种发送音频数据的方法和装置与流程

文档序号:12274019阅读:187来源:国知局
一种发送音频数据的方法和装置与流程

本发明涉及互联网技术领域,特别涉及一种发送音频数据的方法和装置。



背景技术:

随着互联网技术的发展,各种各样的终端得到了广泛的应用,相应的终端上的应用程序的种类越来越多、功能越来越丰富。比如K歌应用程序即是一种很常用的应用程序。

用户想要对某首歌曲进行K歌前,可以通过操作,触发终端向服务器获取该歌曲的原唱音频数据(其中,原唱音频数据包括人声音频数据和伴奏音频数据,该原唱音频数据为单音轨音频数据)和伴奏音频数据(其中,伴奏音频数据不包括人声音频数据),当用户K歌中选择原唱模式时,终端可以对获取的原唱音频数据进行播放,当用户K歌中选择伴唱模式时,终端可以对获取的伴奏音频数据进行播放。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:

基于上述处理方式,用户想要对某首歌曲进行K歌时,需要触发终端向服务器获取包括人声音频数据和伴奏音频数据的原唱音频数据,还要获取不包括人声音频数据的伴奏音频数据,即对于同一首歌曲,服务器需向终端发送两遍伴奏音频数据,由于进行K歌的用户比较多,且每个用户进行K歌的歌曲数量也比较大,将会导致服务器需要发送的数据量会非常大,从而,导致服务器的流量浪费严重。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种发送音频数据的方法和装置。所述技术方案如下:

第一方面,提供了一种发送音频数据的方法,所述方法包括:

在预先存储的原唱数据库中,确定与目标歌曲的伴奏音频数据相匹配的原唱音频数据;

对所述伴奏音频数据和所述原唱音频数据进行语音增强处理,得到所述原唱音频数据中的人声音频数据;

将所述伴奏音频数据和所述人声音频数据存储为所述目标歌曲对应的音频数据;

当接收到终端发送的对应所述目标歌曲的歌曲获取请求时,向所述终端发送所述目标歌曲对应的音频数据。

可选的,所述方法还包括:

确定所述伴奏音频数据中的伴奏播放开始时刻与所述原唱音频数据中的伴奏播放开始时刻的时间偏移值;

根据所述时间偏移值,对A的播放时刻进行时间修正,得到伴奏播放开始时刻与B的伴奏播放开始时刻对齐的第一A,其中,当A为所述伴奏音频数据时,B为所述原唱音频数据,当A为所述原唱音频数据时,B为所述伴奏音频数据;

所述对所述伴奏音频数据和所述原唱音频数据进行语音增强处理,得到所述原唱音频数据中的人声音频数据,包括:

对所述第一A和所述B进行语音增强处理,得到所述原唱音频数据中的人声音频数据;

当A为伴奏音频数据时,所述将所述伴奏音频数据和所述人声音频数据存储为所述目标歌曲对应的音频数据,包括:

将所述第一伴奏音频数据和所述人声音频数据存储为所述目标歌曲对应的音频数据。

可选的,所述确定所述伴奏音频数据中的伴奏播放开始时刻与所述原唱音频数据中的伴奏播放开始时刻的时间偏移值,包括:

基于预设的第一播放进度点和第二播放进度点,分别在所述伴奏音频数据中获取第一子音频数据和在所述原唱音频数据中获取第二子音频数据;

对所述第一子音频数据和所述第二子音频数据进行互相关处理,得到自变量为时间偏移、因变量为相关度的互相关函数;

将所述互相关函数中的因变量最大值对应的自变量值,确定为所述时间偏移值。

可选的,所述根据所述时间偏移值,对A的播放时刻进行时间修正,得到伴奏播放开始时刻与所B的伴奏播放开始时刻对齐的第一A,包括:

如果A的伴奏播放开始时刻延迟于B的伴奏播放开始时刻,则将所述A中所述时间偏移值对应的播放进度点之后的音频数据确定为第一A。

可选的,所述方法还包括:

基于所述第一A,确定在所述第一A的播放时长内的每个预设时长的子时段对应的子音频数据,并基于所述B,确定在所述B的播放时长内的所述每个预设时长的子时段对应的子音频数据;

对于每个子时段,对所述第一A在所述子时段对应的子音频数据和所述B在所述子时段对应的子音频数据进行互相关处理,得到所述子时段对应的自变量为时间偏移、因变量为相关度的互相关函数;

在所有子时段中,确定对应的互相关函数中的因变量最大值未达到预设相关度阈值的第一类子时段的数量;

所述对所述第一A和所述B进行语音增强处理,得到所述原唱音频数据中的人声音频数据,包括:

如果所述数量未超过所述预设数量阈值,则对所述第一A和所述B进行语音增强处理,得到所述原唱音频数据中的人声音频数据。

可选的,所述方法还包括:

在所述所有子时段中,确定对应的互相关函数中的因变量最大值达到所述预设相关度阈值的第二类子时段;

将每个第二类子时段对应的互相关函数中的因变量最大值对应的自变量值,确定为所述每个第二类子时段对应的时间偏移值;

计算各第二类子时段对应的时间偏移值中的最大时间偏移值与最小时间偏移值的时间差值;

所述如果所述数量未超过所述预设数量阈值,则对所述第一A和所述B进行语音增强处理,得到所述原唱音频数据中的人声音频数据,包括:

如果所述数量未超过所述预设数量阈值,且所述时间差值小于预设时差阈值,则对所述第一A和所述B进行语音增强处理,得到所述原唱音频数据中的人声音频数据。

第二方面,提供了一种发送音频数据的装置,所述装置包括:

第一确定模块,用于在预先存储的原唱数据库中,确定与目标歌曲的伴奏音频数据相匹配的原唱音频数据;

第一处理模块,用于对所述伴奏音频数据和所述原唱音频数据进行语音增强处理,得到所述原唱音频数据中的人声音频数据;

存储模块,用于将所述伴奏音频数据和所述人声音频数据存储为所述目标歌曲对应的音频数据;

发送模块,用于当接收到终端发送的对应所述目标歌曲的歌曲获取请求时,向所述终端发送所述目标歌曲对应的音频数据。

可选的,所述第一确定模块,还用于:

确定所述伴奏音频数据中的伴奏播放开始时刻与所述原唱音频数据中的伴奏播放开始时刻的时间偏移值;

根据所述时间偏移值,对A的播放时刻进行时间修正,得到伴奏播放开始时刻与B的伴奏播放开始时刻对齐的第一A,其中,当A为所述伴奏音频数据时,B为所述原唱音频数据,当A为所述原唱音频数据时,B为所述伴奏音频数据;

所述第一处理模块,用于:

对所述第一A和所述B进行语音增强处理,得到所述原唱音频数据中的人声音频数据;

所述存储模块,用于:

当A为伴奏音频数据时,将所述第一伴奏音频数据和所述人声音频数据存储为所述目标歌曲对应的音频数据。

可选的,所述第一确定模块,包括:

获取子模块,用于基于预设的第一播放进度点和第二播放进度点,分别在所述伴奏音频数据中获取第一子音频数据和在所述原唱音频数据中获取第二子音频数据;

处理子模块,用于对所述第一子音频数据和所述第二子音频数据进行互相关处理,得到自变量为时间偏移、因变量为相关度的互相关函数;

确定子模块,用于将所述互相关函数中的因变量最大值对应的自变量值,确定为所述时间偏移值。

可选的,所述第一确定模块,用于:

如果A的伴奏播放开始时刻延迟于B的伴奏播放开始时刻,则将所述A中所述时间偏移值对应的播放进度点之后的音频数据确定为第一A。

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

划分模块,用于基于所述第一A,确定在所述第一A的播放时长内的每个预设时长的子时段对应的子音频数据,并基于所述B,确定在所述B的播放时长内的所述每个预设时长的子时段对应的子音频数据;

第二处理模块,用于对于每个子时段,对所述第一A在所述子时段对应的子音频数据和所述B在所述子时段对应的子音频数据进行互相关处理,得到所述子时段对应的自变量为时间偏移、因变量为相关度的互相关函数;

第二确定模块,用于在所有子时段中,确定对应的互相关函数中的因变量最大值未达到预设相关度阈值的第一类子时段的数量;

所述第一处理模块,用于:

如果所述数量未超过所述预设数量阈值,则对所述第一A和所述B进行语音增强处理,得到所述原唱音频数据中的人声音频数据。

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

第三确定模块,用于在所述所有子时段中,确定对应的互相关函数中的因变量最大值达到所述预设相关度阈值的第二类子时段;

第四确定模块,用于将每个第二类子时段对应的互相关函数中的因变量最大值对应的自变量值,确定为所述每个第二类子时段对应的时间偏移值;

计算模块,用于计算各第二类子时段对应的时间偏移值中的最大时间偏移值与最小时间偏移值的时间差值;

所述第一处理模块,用于:

如果所述数量未超过所述预设数量阈值,且所述时间差值小于预设时差阈值,则对所述第一A和所述B进行语音增强处理,得到所述原唱音频数据中的人声音频数据。

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

本发明实施例中,对于目标歌曲,服务器可以获取与目标歌曲的伴奏音频数据相匹配的原唱音频数据,进而,可以将伴奏音频数据作为噪声数据,对原唱音频数据进行语音增强处理,得到原唱音频数据中的人声音频数据,并将提取的人声音频数据和伴奏音频数据存储为目标歌曲对应的音频数据,以便在接收到终端发送的对应目标歌曲的歌曲获取请求时,可以向终端发送目标歌曲对应的音频数据。这样,当接收到终端发送的歌曲获取请求时,服务器可以向终端发送伴奏音频数据和提取的人声音频数据,无需发送两遍伴奏音频数据,从而,可以防止服务器的流量浪费。

附图说明

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

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

图2是本发明实施例提供的一种时间修正示意图;

图3是本发明实施例提供的一种时间修正示意图;

图4是本发明实施例提供的一种发送音频数据的装置结构示意图;

图5是本发明实施例提供的一种发送音频数据的装置结构示意图;

图6是本发明实施例提供的一种发送音频数据的装置结构示意图;

图7是本发明实施例提供的一种发送音频数据的装置结构示意图;

图8是本发明实施例提供的一种服务器装置结构示意图。

具体实施方式

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

本发明实施例提供了一种发送音频数据的方法,该方法的执行主体为服务器。其中,该服务器可以是K歌应用程序的后台服务器。该服务器中可以设置有处理器、存储器、收发器,处理器可以用于提取原唱音频数据中的人声音频数据的相关处理,存储器可以用于存储下述处理过程中需要和产生的数据,收发器可以用于接收和发送数据。

下面将结合具体实施方式,对图1所示的处理流程进行详细的说明,内容可以如下:

步骤101,在预先存储的原唱数据库中,确定与目标歌曲的伴奏音频数据相匹配的原唱音频数据。

在实施中,服务器中可以预先设置有用于存储各歌曲的伴奏音频数据的数据库(可以称为第一数据库)和用于存储各歌曲的原唱音频数据的数据库(即原唱数据库),其中,原唱音频数据可以是单音轨音频数据。服务器可以从第一数据库中选取任意一首歌曲(即目标歌曲)的伴奏音频数据,然后,可以在原唱数据库中选取目标歌曲对应的原唱音频数据,即选出的伴奏音频数据和原唱音频数据是同一首歌曲的音频数据。另外,当原唱数据库中目标歌曲对应有多个原唱音频数据时,服务器可以在多个原唱音频数据中随机选取一个原唱音频数据,作为与目标歌曲的伴奏音频数据相匹配的原唱音频数据,也可以在多个原唱音频数据中,选取播放时长与目标歌曲的伴奏音频数据的播放时长的差值最小的原唱音频数据。

可选的,服务器选出目标歌曲的伴奏音频数据和原唱音频数据后,可以将两者中的伴奏播放开始时刻进行对齐,相应的,处理过程可以如下:确定伴奏音频数据中的伴奏播放开始时刻与原唱音频数据中的伴奏播放开始时刻的时间偏移值;根据时间偏移值,对A的播放时刻进行时间修正,得到伴奏播放开始时刻与B的伴奏播放开始时刻对齐的第一A,其中,当A为伴奏音频数据时,B为原唱音频数据,当A为原唱音频数据时,B为伴奏音频数据;

其中,伴奏播放开始时刻可以是音频数据的播放时长内开始播放伴奏的时刻,其中,伴奏播放开始时刻可以是音频数据的播放起始点,也可以是播放起始点之后的某播放进度点。

在实施中,服务器获取的伴奏音频数据和原唱音频数据可能不是在音频数据的播放起始点就开始播放伴奏,而是在延迟了几秒后,开始播放伴奏,也就是说,在录制伴奏音频数据和原唱音频数据时,可能演奏或播放伴奏的开始时刻晚于录制按键按下的时刻。为避免获取的伴奏音频数据的伴奏播放开始时刻与原唱音频数据的伴奏播放开始时刻偏移较大,影响后续处理的结果,服务器获取到伴奏音频数据和原唱音频数据后,可以确定伴奏音频数据中的伴奏播放时刻与原唱音频数据中的伴奏播放开始时刻的时间偏移值,进而,可以根据两者之间的时间偏移值,对伴奏音频数据的播放时刻进行时间修正,得到伴奏播放开始时刻与原唱音频数据的伴奏播放开始时刻对齐的第一伴奏音频数据,或者,对原唱音频数据的播放时刻进行时间修正,得到伴奏播放开始时刻与伴奏音频数据的伴奏播放开始时刻对齐的第一原唱音频数据。也就是说,服务器得到两者之间的时间偏移值后,可以将其中的一个音频数据(伴奏音频数据或原唱音频数据)进行时间修正,使其修正后的音频数据与另一个音频数据的伴奏播放开始时刻在各自中对应的播放进度点相同。例如,伴奏音频数据中的伴奏播放开始时刻是伴奏音频数据的播放起始点(即伴奏播放开始时刻在播放时长的播放进度点为第0秒),原唱音频数据中的伴奏播放开始时刻是原唱音频数据播放起始点之后的第2秒,可以看出两者之间的时间偏移值为2秒,进而,服务器可以对原唱音频数据进行时间修正,使时间修正后的原唱音频数据(即第一原唱音频数据)的第0秒为时间修正前的原唱音频数据的第2秒(将时间修正前的原唱音频数据的前2秒的音频数据舍弃),以此类推,可以得到第一原唱音频数据的后续音频数据,这样,可以使第一原唱音频数据的第0秒和伴奏音频数据的第0秒都是伴奏播放开始时刻,后续音频数据也可以进行对齐。

可选的,可以通过互相关函数,确定伴奏音频数据的伴奏播放开始时刻与原唱音频数据的伴奏播放开始时刻的时间偏移值,相应的,处理过程可以如下:基于预设的第一播放进度点和第二播放进度点,分别在伴奏音频数据中获取第一子音频数据和在原唱音频数据中获取第二子音频数据;对第一子音频数据和第二子音频数据进行互相关处理,得到自变量为时间偏移、因变量为相关度的互相关函数;将互相关函数中的因变量最大值对应的自变量值,确定为时间偏移值。

在实施中,服务器中可以预先设置有第一播放进度点和第二播放进度点,其中,第一播放进度点和第二播放进度点分别可以是服务器用于获取子音频数据的开始时刻和结束时刻,第二播放进度点与第一播放进度点之间的时间差值即是子音频数据对应的播放时长。服务器获取到伴奏音频数据和原唱音频数据后,可以分别在伴奏音频数据和原唱中获取开始时刻为第一播放进度点、结束时刻为第二播放进度点的子音频数据,其中,可以将在伴奏音频数据中获取的子音频数据称为第一子音频数据,将在原唱音频数据中获取的子音频数据称为第二子音频数据。例如,第一播放进度点为第2秒,第二播放进度点为第32秒,则服务器可以分别在伴奏音频数据和原唱音频数据中获取第2秒到第32秒之间的子音频数据。

因为原唱音频数据中的伴奏音频数据与获取的伴奏音频数据时同一首歌曲的伴奏音频数据,所以当伴奏播放开始时刻对齐时,原唱音频数据与伴奏音频数据之间具有强的相关性。获取到第一子音频数据和第二子音频数据后,计算第一子音频数据与第二子音频数据之间的相关性,具体的,可以按照互相关函数的计算公式,计算第一子音频数据和第二子音频数据的互相关函数,其中,得到的互相关函数的自变量为时间偏移,因变量为相关度。得到互相关函数后,可以确定互相关函数取得最大值时对应的自变量值,进而,终端可以将该自变量值作为伴奏音频数据的伴奏播放开始时刻和原唱音频数据的伴奏播放开始时刻之间的时间偏移值。

可选的,可以对伴奏播放开始时刻相对比较延迟的音频数据进行时间修正,相应的,处理过程可以如下:如果A的伴奏播放开始时刻延迟于B的伴奏播放开始时刻,则将A中时间偏移值对应的播放进度点之后的音频数据确定为第一A。

在实施中,服务器确定出互相关函数后,可以根据因变量最大值对应的自变量值的正负来判断伴奏音频数据和原唱音频数据中哪个音频数据的伴奏播放开始时刻相对比较延迟,进而,可以对相对比较延迟的音频数据进行时间修正,即当伴奏音频数据的伴奏播放开始时刻延迟于原唱音频数据的伴奏播放开始时刻时,对伴奏音频数据进行时间修正,得到符合要求的第一伴奏音频数据,当原唱音频数据的伴奏播放开始时刻延迟于伴奏音频数据的伴奏播放开始时刻时,对原唱音频数据进行时间修正,得到符合要求的第一原唱音频数据,也就是说,如果A的伴奏播放开始时刻延迟于B的伴奏播放开始时刻,则可以将A中时间偏移值对应的播放进度点之后的音频数据确定为第一A(其中,A为伴奏音频数据或原唱音频数据)。具体的,如果伴奏音频数据的伴奏播放开始时刻延迟于原唱音频数据的伴奏播放开始时刻,则可以将伴奏音频数据中时间偏移值对应的播放进度点之后的音频数据确定为第一伴奏音频数据,即可以使伴奏音频数据中时间偏移值对应的播放进度点作为第一伴奏音频数据的播放起始点,这样,第一伴奏音频数据中的伴奏播放开始时刻即可与原唱音频数据中的伴奏播放开始时刻对齐,其中,第一伴奏音频数据中的伴奏播放开始时刻也可能不是第一伴奏音频数据的播放起始点,如图2所示,例如,假设伴奏音频数据中的伴奏播放开始时刻为第2秒,原唱音频数据的伴奏播放开始时刻为第1秒,则经过互相关处理,可以得到伴奏音频数据中的伴奏播放开始时刻比原唱音频数据的伴奏播放开始时刻延迟了1秒,进而,可以将伴奏音频数据中第1秒之后的音频数据作为第一伴奏音频数据,这样,时间修正前的伴奏音频数据中的第1秒与原唱音频数据中的第0秒对齐,第2秒与原唱音频数据中的第1秒对齐,以此类推,第一伴奏音频数据即可与原唱音频数据进行对齐。如果原唱音频数据的伴奏播放开始时刻延迟于伴奏音频数据的伴奏播放开始时刻,则可以将原唱音频数据中时间偏移值对应的播放进度点之后的音频数据确定为第一原唱音频数据,即可以使原唱音频数据中时间偏移值对应的播放进度点作为第一原唱音频数据的播放起始点,这样,第一原唱音频数据中的伴奏播放开始时刻即可与伴奏音频数据中的伴奏播放开始时刻对齐,其中,第一原唱音频数据中的伴奏播放开始时刻也可能不是第一原唱音频数据的播放起始点,如图3所示,例如,假设伴奏音频数据中的伴奏播放开始时刻为第1秒,原唱音频数据的伴奏播放开始时刻为第2秒,则经过互相关处理,可以得到原唱音频数据中的伴奏播放开始时刻比伴奏音频数据的伴奏播放开始时刻延迟了1秒,进而,可以将原唱音频数据中第1秒之后的音频数据作为第一原唱音频数据,这样,时间修正前的原唱音频数据中的第1秒与伴奏音频数据中的第0秒对齐,第2秒与伴奏音频数据中的第1秒对齐,以此类推,第一原唱音频数据即可与伴奏音频数据进行对齐。

可选的,服务器得到伴奏播放开始时刻对齐的第一A和B后,还可以进一步判断原唱音频数据整体是否满足条件,相应的,处理过程可以如下:基于第一A,确定在第一A的播放时长内的每个预设时长的子时段对应的子音频数据,并基于B,确定在B的播放时长内的每个预设时长的子时段对应的子音频数据;对于每个子时段,对第一A在子时段对应的子音频数据和B在子时段对应的子音频数据进行互相关处理,得到子时段对应的自变量为时间偏移、因变量为相关度的互相关函数;在所有子时段中,确定对应的互相关函数中的因变量最大值未达到预设相关度阈值的第一类子时段的数量。

在实施中,服务器得到第一A和B后,可以将第一A和B以相同的预设时长划分为多个子时段的子音频数据,从而,对于每个子时段,服务器即可得到第一A在该子时段的子音频数据,以及B在该子时段的子音频数据。然后,对于每个子时段,服务器可以对第一A在子时段对应的子音频数据和B在子时段对应的子音频数据进行互相关处理,得到该子时段对应的互相关函数,其中,互相关函数的因变量为相关度,自变量为时间偏移,进而,可以确定每个子时段对应的互相关函数的因变量最大值,在所有子时段中,确定对应的互相关函数中的因变量最大值未达到预设相关度阈值的子时段(可以将该类子时段称为第一类子时段)的数量。确定出第一类子时段的数量后,可以根据该数量确定是否根据第一A和B进行后续处理,后续具体处理将在后面进行详细介绍。

可选的,服务器确定出第一类子时段的数量后,还可以进一步判断第一类子时段之外的子时段的时间偏移值是否满足条件,相应的,处理过程可以如下:在所有子时段中,确定对应的互相关函数中的因变量最大值达到预设相关度阈值的第二类子时段;将每个第二类子时段对应的互相关函数中的因变量最大值对应的自变量值,确定为每个第二类子时段对应的时间偏移值;计算各第二类子时段对应的时间偏移值中的最大时间偏移值与最小时间偏移值的时间差值。

在实施中,服务器得到各个子时段对应的互相关函数和第一类子时段的数量后,可以将所有子时段中,除第一类子时段之外的子时段确定为第二类子时段,即每个第二类子时段对应的互相关函数中的因变量最大值均能达到预设相关度阈值。服务器确定出第二类子时段后,可以将每个第二类子时段对应的互相关函数中的因变量最大值对应的自变量值,确定为每个第二类子时段对应的时间偏移值,进而,在所有时间偏移值中,计算最大时间偏移值与最小时间偏移值的时间差值。得到时间差值后,服务器可以将其作为后续是否对原唱音频数据进行语音增强处理的判断基准,具体处理过程将在后面进行介绍。

步骤102,对伴奏音频数据和原唱音频数据进行语音增强处理,得到原唱音频数据中的人声音频数据。

在实施中,服务器获取到目标歌曲的伴奏音频数据和原唱音频数据后,可以将伴奏音频数据作为噪声数据,对原唱音频数据进行语音增强处理,得到原唱音频数据中的人声音频数据,其中,服务器可以基于预设的语音增强算法对原唱音频数据中的伴奏音频数据进行抑制,得到其中的人声音频数据。

可选的,基于对原唱音频数据或伴奏音频数据进行时间修正的情况,步骤102的处理过程可以如下:对第一A和B进行语音增强处理,得到原唱音频数据中的人声音频数据。

在实施中,当服务器是对原唱音频数据进行时间修正,得到第一原唱音频数据时,服务器可以将伴奏音频数据作为噪声数据,对第一原唱音频数据进行语音增强处理,得到原唱音频数据中的人声音频数据,其中,服务器可以基于预设的语音增强算法对第一原唱音频数据中的伴奏音频数据进行抑制,得到人声音频数据。当服务器是对伴奏音频数据进行时间修正,得到第一伴奏音频数据时,服务器可以将第一伴奏音频数据作为噪声数据,对原唱音频数据进行语音增强处理,得到原唱音频数据中的人声音频数据,其中,服务器可以基于预设的语音增强算法对原唱音频数据中的伴奏音频数据进行抑制,得到其中的人声音频数据。

可选的,针对服务器确定第一类子时段的数量的情况,步骤102的处理过程可以如下:如果数量未超过预设数量阈值,则对第一A和B进行语音增强处理,得到原唱音频数据中的人声音频数据。

在实施中,服务器确定出第一类子时段的数量后,可以进一步判断该数量是否超过了预设数量阈值,其中,预设数量阈值可以是预设比例阈值与子时段的数量的乘积,如果第一类子时段的未超过预设数量阈值,则服务器可以对第一A和B进行语音增强处理,得到原唱音频数据中的人声音频数据,如果第一类子时段的超过了预设数量阈值,则说明步骤101选取的原唱音频数据不合格,服务器可以重新进行步骤101的处理,重新获取与目标歌曲的伴奏音频数据相匹配的原唱音频数据,进而,可以按照本发明实施例提供的方法进行处理。

可选的,针对服务器确定第二类子时段的时间差值的情况,相应的,处理过程可以如下:如果数量未超过预设数量阈值,且时间差值小于预设时差阈值,则对第一A和B进行语音增强处理,得到原唱音频数据中的人声音频数据。

在实施中,服务器确定出第一类子时段的数量未超过预设数量阈值后,还可以进一步判断上述计算出的各第二类子时段对应的时间偏移值中最大时间偏移值与最小时间偏移值的时间差值与预设时差阈值的大小关系,如果时间差值小于预设时差阈值(其中,预设时差阈值可以是较小的数值,比如可以是80毫秒),则服务器可以执行步骤102的处理,即可以第一A和B进行语音增强处理,得到原唱音频数据中的人声音频数据,如果时间差值大于预设时差阈值,则说明步骤101选取的原唱音频数据不合格,服务器可以重新进行步骤101的处理,重新获取与目标歌曲的伴奏音频数据相匹配的原唱音频数据,进而,可以按照本发明实施例提供的方法进行处理。

另外,当上述时间差值小于预设时差阈值时,服务器还可以再次对第一A进行时间修正,也就是说,服务器可以再基于确定出的时间差值,对第一A进行时间修正。相应的,服务器可以对时间修正后的第一A和B进行语音增强处理,得到原唱音频数据中的人声音频数据。

步骤103,将伴奏音频数据和人声音频数据存储为目标歌曲对应的音频数据。

在实施中,服务器确定出人声音频数据后,可以将伴奏音频数据和人声音频数据进行对应存储,即对应存储为目标歌曲对应的音频数据,其中,服务器可以将人声音频数据和伴奏音频数据合并为双音轨音频数据。服务器可以按照本发明实施例提供的方法,对第一数据库中的每一首歌曲进行人声音频数据提取。

可选的,针对服务器对伴奏音频数据进行时间修正的情况,即当A为伴奏音频数据时,相应的,步骤103的处理过程可以如下:将第一伴奏音频数据和人声音频数据对应存储为目标歌曲对应的音频数据。

在实施中,当A为伴奏音频数据时,服务器提取到原唱音频数据中的人声音频数据后,可以第一伴奏音频数据和人声音频数据存储为目标歌曲对应的音频数据。

步骤104,当接收到终端发送的对应目标歌曲的歌曲获取请求时,向终端发送目标歌曲对应的音频数据。

在实施中,服务器将伴奏音频数据和人声音频数据对应存储为目标歌曲的音频数据后,当接收到终端发送的对应目标歌曲的歌曲获取请求时,服务器可以在预先存储的各歌曲的音频数据中,确定目标歌曲对应的音频数据,并将其发送至终端。这样,终端发送的音频数据可以是包含伴奏音频数据和人声音频数据的双音轨音频数据,当用户选择原唱模式时,终端可以播放伴奏音频数据和人声音频数据,当用户选择伴唱模式时,终端可以只播放伴奏音频数据。

本发明实施例中,对于目标歌曲,服务器可以获取与目标歌曲的伴奏音频数据相匹配的原唱音频数据,进而,可以将伴奏音频数据作为噪声数据,对原唱音频数据进行语音增强处理,得到原唱音频数据中的人声音频数据,并将提取的人声音频数据和伴奏音频数据存储为目标歌曲对应的音频数据,以便在接收到终端发送的对应目标歌曲的歌曲获取请求时,可以向终端发送目标歌曲对应的音频数据。这样,当接收到终端发送的歌曲获取请求时,服务器可以向终端发送伴奏音频数据和提取的人声音频数据,无需发送两遍伴奏音频数据,从而,可以防止服务器的流量浪费。

基于相同的技术构思,本发明实施例还提供了一种发送音频数据的装置,如图4所示,该装置包括:

第一确定模块410,用于在预先存储的原唱数据库中,确定与目标歌曲的伴奏音频数据相匹配的原唱音频数据;

第一处理模块420,用于对所述伴奏音频数据和所述原唱音频数据进行语音增强处理,得到所述原唱音频数据中的人声音频数据;

存储模块430,用于将所述伴奏音频数据和所述人声音频数据存储为所述目标歌曲对应的音频数据;

发送模块440,用于当接收到终端发送的对应所述目标歌曲的歌曲获取请求时,向所述终端发送所述目标歌曲对应的音频数据。

可选的,所述第一确定模块410,还用于:

确定所述伴奏音频数据中的伴奏播放开始时刻与所述原唱音频数据中的伴奏播放开始时刻的时间偏移值;

根据所述时间偏移值,对A的播放时刻进行时间修正,得到伴奏播放开始时刻与B的伴奏播放开始时刻对齐的第一A,其中,当A为所述伴奏音频数据时,B为所述原唱音频数据,当A为所述原唱音频数据时,B为所述伴奏音频数据;

所述第一处理模块420,用于:

对所述第一A和所述B进行语音增强处理,得到所述原唱音频数据中的人声音频数据;

所述存储模块430,用于:

当A为伴奏音频数据时,将所述第一伴奏音频数据和所述人声音频数据存储为所述目标歌曲对应的音频数据。

可选的,如图5所示,所述第一确定模块410,包括:

获取子模块4101,用于基于预设的第一播放进度点和第二播放进度点,分别在所述伴奏音频数据中获取第一子音频数据和在所述原唱音频数据中获取第二子音频数据;

处理子模块4102,用于对所述第一子音频数据和所述第二子音频数据进行互相关处理,得到自变量为时间偏移、因变量为相关度的互相关函数;

确定子模块4103,用于将所述互相关函数中的因变量最大值对应的自变量值,确定为所述时间偏移值。

可选的,所述第一确定模块410,用于:

如果A的伴奏播放开始时刻延迟于B的伴奏播放开始时刻,则将所述A中所述时间偏移值对应的播放进度点之后的音频数据确定为第一A。

可选的,如图6所示,所述装置还包括:

划分模块450,用于基于所述第一A,确定在所述第一A的播放时长内的每个预设时长的子时段对应的子音频数据,并基于所述B,确定在所述B的播放时长内的所述每个预设时长的子时段对应的子音频数据;

第二处理模块460,用于对于每个子时段,对所述第一A在所述子时段对应的子音频数据和所述B在所述子时段对应的子音频数据进行互相关处理,得到所述子时段对应的自变量为时间偏移、因变量为相关度的互相关函数;

第二确定模块470,用于在所有子时段中,确定对应的互相关函数中的因变量最大值未达到预设相关度阈值的第一类子时段的数量;

所述第一处理模块420,用于:

如果所述数量未超过所述预设数量阈值,则对所述第一A和所述B进行语音增强处理,得到所述原唱音频数据中的人声音频数据。

可选的,如图7所示,所述装置还包括:

第三确定模块480,用于在所述所有子时段中,确定对应的互相关函数中的因变量最大值达到所述预设相关度阈值的第二类子时段;

第四确定模块490,用于将每个第二类子时段对应的互相关函数中的因变量最大值对应的自变量值,确定为所述每个第二类子时段对应的时间偏移值;

计算模块4100,用于计算各第二类子时段对应的时间偏移值中的最大时间偏移值与最小时间偏移值的时间差值;

所述第一处理模块420,用于:

如果所述数量未超过所述预设数量阈值,且所述时间差值小于预设时差阈值,则对所述第一A和所述B进行语音增强处理,得到所述原唱音频数据中的人声音频数据。

本发明实施例中,对于目标歌曲,服务器可以获取与目标歌曲的伴奏音频数据相匹配的原唱音频数据,进而,可以将伴奏音频数据作为噪声数据,对原唱音频数据进行语音增强处理,得到原唱音频数据中的人声音频数据,并将提取的人声音频数据和伴奏音频数据存储为目标歌曲对应的音频数据,以便在接收到终端发送的对应目标歌曲的歌曲获取请求时,可以向终端发送目标歌曲对应的音频数据。这样,当接收到终端发送的歌曲获取请求时,服务器可以向终端发送伴奏音频数据和提取的人声音频数据,无需发送两遍伴奏音频数据,从而,可以防止服务器的流量浪费。

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

图8是本发明实施例提供的服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。

服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

服务器1900可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

在预先存储的原唱数据库中,确定与目标歌曲的伴奏音频数据相匹配的原唱音频数据;

对所述伴奏音频数据和所述原唱音频数据进行语音增强处理,得到所述原唱音频数据中的人声音频数据;

将所述伴奏音频数据和所述人声音频数据存储为所述目标歌曲对应的音频数据;

当接收到终端发送的对应所述目标歌曲的歌曲获取请求时,向所述终端发送所述目标歌曲对应的音频数据。

可选的,所述方法还包括:

确定所述伴奏音频数据中的伴奏播放开始时刻与所述原唱音频数据中的伴奏播放开始时刻的时间偏移值;

根据所述时间偏移值,对A的播放时刻进行时间修正,得到伴奏播放开始时刻与B的伴奏播放开始时刻对齐的第一A,其中,当A为所述伴奏音频数据时,B为所述原唱音频数据,当A为所述原唱音频数据时,B为所述伴奏音频数据;

所述对所述伴奏音频数据和所述原唱音频数据进行语音增强处理,得到所述原唱音频数据中的人声音频数据,包括:

对所述第一A和所述B进行语音增强处理,得到所述原唱音频数据中的人声音频数据;

当A为伴奏音频数据时,所述将所述伴奏音频数据和所述人声音频数据存储为所述目标歌曲对应的音频数据,包括:

将所述第一伴奏音频数据和所述人声音频数据存储为所述目标歌曲对应的音频数据。

可选的,所述确定所述伴奏音频数据中的伴奏播放开始时刻与所述原唱音频数据中的伴奏播放开始时刻的时间偏移值,包括:

基于预设的第一播放进度点和第二播放进度点,分别在所述伴奏音频数据中获取第一子音频数据和在所述原唱音频数据中获取第二子音频数据;

对所述第一子音频数据和所述第二子音频数据进行互相关处理,得到自变量为时间偏移、因变量为相关度的互相关函数;

将所述互相关函数中的因变量最大值对应的自变量值,确定为所述时间偏移值。

可选的,所述根据所述时间偏移值,对A的播放时刻进行时间修正,得到伴奏播放开始时刻与所B的伴奏播放开始时刻对齐的第一A,包括:

如果A的伴奏播放开始时刻延迟于B的伴奏播放开始时刻,则将所述A中所述时间偏移值对应的播放进度点之后的音频数据确定为第一A。

可选的,所述方法还包括:

基于所述第一A,确定在所述第一A的播放时长内的每个预设时长的子时段对应的子音频数据,并基于所述B,确定在所述B的播放时长内的所述每个预设时长的子时段对应的子音频数据;

对于每个子时段,对所述第一A在所述子时段对应的子音频数据和所述B在所述子时段对应的子音频数据进行互相关处理,得到所述子时段对应的自变量为时间偏移、因变量为相关度的互相关函数;

在所有子时段中,确定对应的互相关函数中的因变量最大值未达到预设相关度阈值的第一类子时段的数量;

所述对所述第一A和所述B进行语音增强处理,得到所述原唱音频数据中的人声音频数据,包括:

如果所述数量未超过所述预设数量阈值,则对所述第一A和所述B进行语音增强处理,得到所述原唱音频数据中的人声音频数据。

可选的,所述方法还包括:

在所述所有子时段中,确定对应的互相关函数中的因变量最大值达到所述预设相关度阈值的第二类子时段;

将每个第二类子时段对应的互相关函数中的因变量最大值对应的自变量值,确定为所述每个第二类子时段对应的时间偏移值;

计算各第二类子时段对应的时间偏移值中的最大时间偏移值与最小时间偏移值的时间差值;

所述如果所述数量未超过所述预设数量阈值,则对所述第一A和所述B进行语音增强处理,得到所述原唱音频数据中的人声音频数据,包括:

如果所述数量未超过所述预设数量阈值,且所述时间差值小于预设时差阈值,则对所述第一A和所述B进行语音增强处理,得到所述原唱音频数据中的人声音频数据。

本发明实施例中,对于目标歌曲,服务器可以获取与目标歌曲的伴奏音频数据相匹配的原唱音频数据,进而,可以将伴奏音频数据作为噪声数据,对原唱音频数据进行语音增强处理,得到原唱音频数据中的人声音频数据,并将提取的人声音频数据和伴奏音频数据存储为目标歌曲对应的音频数据,以便在接收到终端发送的对应目标歌曲的歌曲获取请求时,可以向终端发送目标歌曲对应的音频数据。这样,当接收到终端发送的歌曲获取请求时,服务器可以向终端发送伴奏音频数据和提取的人声音频数据,无需发送两遍伴奏音频数据,从而,可以防止服务器的流量浪费。

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

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

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