发明内容
本发明实施例提供了一种纠正伴奏和干音之间的时延的方法、装置及计算机可读存储介质,可以用于解决相关技术中依靠人工检查和纠正时延的效率低下和准确性较低的问题,所述技术方案如下:
第一方面,提供了一种纠正伴奏和干音之间的时延的方法,所述方法包括:
获取目标歌曲的伴奏音频、干音音频和原曲音频,并从所述原曲音频中提取原曲人声音频;
基于所述原曲人声音频和所述干音音频确定第一相关函数曲线,基于所述原曲音频和所述伴奏音频确定第二相关函数曲线;
基于所述第一相关函数曲线和所述第二相关函数曲线对所述伴奏音频和所述干音音频之间的时延进行纠正。
可选的,所述基于所述原曲人声音频和所述干音音频确定第一相关函数曲线,基于所述原曲音频和所述伴奏音频确定第二相关函数曲线,包括:
获取所述原曲人声音频包括的多个音频帧中每个音频帧对应的音高值,并按照所述原曲人声音频包括的多个音频帧的先后顺序,对获取的所述原曲人声音频的多个音高值进行排序,得到第一音高序列;
获取所述干音音频包括的多个音频帧中每个音频帧对应的音高值,并按照所述干音音频包括的多个音频帧的先后顺序,对获取的所述干音音频的多个音高值进行排序,得到第二音高序列;
基于所述第一音高序列和所述第二音高序列,确定所述第一相关函数曲线;
按照所述原曲音频包括的多个音频帧的先后顺序获取所述原曲音频包括的多个音频帧,以得到第一音频序列;
按照所述伴奏音频包括的多个音频帧的先后顺序获取所述伴奏音频包括的多个音频帧,以得到第二音频序列;
基于所述第一音频序列和所述第二音频序列确定所述第二相关函数曲线。
可选地,所述基于所述第一音高序列和所述第二音高序列,确定所述第一相关函数曲线,包括:
基于所述第一音高序列和所述第二音高序列确定如下式所示的第一相关函数模型;
其中,所述N为预设的音高值的数量,所述N小于或等于所述第一音高序列包括的音高值的数量,且所述N小于或等于所述第二音高序列包括的音高值的数量,所述x(n)表示所述第一音高序列中的第n个音高值,所述y(n-t)表示所述第二音高序列中的第(n-t)个音高值,所述t为所述第一音高序列和所述第二音高序列之间的时间偏移量;
基于所述第一相关函数模型确定所述第一相关函数曲线。
可选地,所述基于所述第一相关函数曲线和所述第二相关函数曲线对所述伴奏音频和所述干音音频之间的时延进行纠正,包括:
在所述第一相关函数曲线上检测第一峰值,在所述第二相关函数曲线检测第二峰值;
基于所述第一峰值确定所述原曲人声音频和所述干音音频之间的第一时延,基于所述第二峰值确定所述伴奏音频与所述原曲音频之间的第二时延;
基于所述第一时延和所述第二时延对所述伴奏音频和所述干音音频之间的时延进行纠正。
可选地,所述基于所述第一时延和所述第二时延对所述伴奏音频和所述干音音频之间的时延进行纠正,包括:
将所述第一时延和所述第二时延之间的时延差确定为所述伴奏音频和所述干音音频之间的时延;
若所述时延用于指示所述伴奏音频晚于所述干音音频,则从所述伴奏音频的起始播放时刻起删除所述伴奏音频中与所述时延相同的时长内的音频数据;
若所述时延用于指示所述伴奏音频早于所述干音音频,则从所述干音音频的起始播放时刻起删除所述干音音频中与所述时延相同的时长内的音频数据。
第二方面,提供了一种评价音高信息的标注质量的装置,所述装置包括:
获取模块,用于获取待纠正的伴奏音频和干音音频所对应的原曲音频,并从所述原曲音频中提取原曲人声音频;
确定模块,用于基于所述原曲人声音频和所述干音音频确定第一相关函数曲线,基于所述原曲音频和所述伴奏音频确定第二相关函数曲线;
纠正模块,用于基于所述第一相关函数曲线和所述第二相关函数曲线对所述伴奏音频和所述干音音频之间的时延进行纠正。
可选地,所述确定模块包括:
第一获取子模块,用于获取所述原曲人声音频包括的多个音频帧中每个音频帧对应的音高值,并按照所述原曲人声音频包括的多个音频帧的先后顺序,对获取的所述原曲人声音频的多个音高值进行排序,得到第一音高序列;
所述第一获取子模块,还用于获取所述干音音频包括的多个音频帧中每个音频帧对应的音高值,并按照所述干音音频包括的多个音频帧的先后顺序,对获取的所述干音音频的多个音高值进行排序,得到第二音高序列;
第一确定子模块,用于基于所述第一音高序列和所述第二音高序列,确定所述第一相关函数曲线;
第二获取子模块,用于按照所述原曲音频包括的多个音频帧的先后顺序获取所述原曲音频包括的多个音频帧,以得到第一音频序列;
所述第二获取子模块,用于按照所述伴奏音频包括的多个音频帧的先后顺序获取所述伴奏音频包括的多个音频帧,以得到第二音频序列;
第二确定子模块,用于基于所述第一音频序列和所述第二音频序列确定所述第二相关函数曲线。
可选地,所述第一确定子模块具体用于:
基于所述第一音高序列和所述第二音高序列确定如下式所示的第一相关函数模型;
其中,所述N为预设的音高值的数量,所述N小于或等于所述第一音高序列包括的音高值的数量,且所述N小于或等于所述第二音高序列包括的音高值的数量,所述x(n)表示所述第一音高序列中的第n个音高值,所述y(n-t)表示所述第二音高序列中的第(n-t)个音高值,所述t为所述第一音高序列和所述第二音高序列之间的时间偏移量;
基于所述第一相关函数模型确定所述第一相关函数曲线。
可选地,所述纠正模块包括:
检测子模块,用于在所述第一相关函数曲线上检测第一峰值,在所述第二相关函数曲线检测第二峰值;
第三确定子模块,用于基于所述第一峰值确定所述原曲人声音频和所述干音音频之间的第一时延,基于所述第二峰值确定所述伴奏音频与所述原曲音频之间的第二时延;
纠正子模块,用于基于所述第一时延和所述第二时延对所述伴奏音频和所述干音音频之间的时延进行纠正。
可选地,所述纠正子模块具体用于:
将所述第一时延和所述第二时延之间的时延差确定为所述伴奏音频和所述干音音频之间的时延;
若所述时延用于指示所述伴奏音频晚于所述干音音频,则从所述伴奏音频的起始播放时刻起删除所述伴奏音频中与所述时延相同的时长内的音频数据;
若所述时延用于指示所述伴奏音频早于所述干音音频,则从所述干音音频的起始播放时刻起删除所述干音音频中与所述时延相同的时长内的音频数据。
第三方面,提供了一种纠正伴奏和干音之间的时延的装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为上述第一方面所述的任一项方法的步骤。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第一方面所述的任一项方法的步骤。
本发明实施例提供的技术方案带来的有益效果是:获取目标歌曲的伴奏音频、干音音频和原曲音频,并从原曲音频中提取原曲人声音频;基于原曲人声音频和干音音频确定第一相关函数曲线,基于原曲音频和伴奏音频确定第二相关函数曲线;基于第一相关函数曲线和第二相关函数曲线对伴奏音频和干音音频之间的时延进行纠正。由此可见,在本发明实施例中,可以通过对伴奏音频、干音音频以及对应的原曲音频进行处理,从而对伴奏音频和干音音频之间的时延进行纠正,相较于目前依靠工作人员进行纠正的方法,既节省了人力和时间,提高了纠正效率,同时也排除了人为因素可能引发的纠正错误,提高了准确性。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例进行详细的解释说明之前,先对本发明实施例的应用场景予以介绍。
当前,为了提高用户使用音乐应用的用户体验,服务商在音乐应用中可以添加各种附加项目和功能。其中,某些功能可能需要同时使用歌曲的伴奏音频和干音音频,并将二者进行合成。然而,由于音频的版本的不同,或者是音频的版本管理方式的不同,同一首歌曲的伴奏音频和干音音频之间可能会存在时延,在这种情况下,就需要首先将伴奏音频和干音音频进行对齐,之后再进行合成。而本发明实施例提供的纠正伴奏音频和干音音频之间的时延的方法即可以用于上述场景下,以对伴奏音频和干音音频之间的时延进行纠正,从而实现伴奏音频和干音音频的对齐。
接下来对本发明实施例提供的纠正伴奏音频和干音音频之间的时延的方法所涉及的系统架构进行介绍。如图1所示,该系统中可以包括服务器101和终端102,其中,服务器101和终端102可以进行通信。
需要说明的是,服务器101中可以存储有多首歌曲的歌曲标识、原曲音频、伴奏音频和干音音频。
在纠正伴奏和干音之间的时延时,终端102可以从服务器中获取待纠正的伴奏音频和干音音频,并获取该伴奏音频和干音音频所对应的原曲音频,之后,终端102可以通过本发明提供的纠正伴奏音频和干音音频之间的时延的方法通过获取的原曲音频对该伴奏音频和干音音频之间的时延进行纠正。可选地,在一种可能的实现方式中,该系统中也可以不包括终端102,也即,可以由服务器101根据本发明实施例提供的方法对存储的多首歌曲中的每首歌曲的伴奏音频和干音音频之间的时延进行纠正。
由前述的系统架构介绍可知,本发明实施例的执行主体既可以是服务器,也可以是终端,在接下来的实施例中,将主要以执行主体为服务器来对本发明实施例提供的纠正伴奏和干音之间的时延的方法进行详细的解释说明。
图2是本发明实施例提供的一种纠正伴奏和干音之间的时延的方法的流程图。该方法可以应用于服务器,参见图2,该方法包括以下步骤:
步骤201:获取目标歌曲的伴奏音频、干音音频和原曲音频,并从该原曲音频中提取原曲人声音频。
其中,目标歌曲可以是指服务器中存储的任一首歌曲,伴奏音频是指不包含有人声的音频,干音音频是指不包含有伴奏的纯人声音频,原曲音频则是指包含有伴奏和人声的原始音频。
步骤202:基于原曲人声音频和干音音频确定第一相关函数曲线,基于原曲音频和伴奏音频确定第二相关函数曲线。
步骤203:基于第一相关函数曲线和第二相关函数曲线对伴奏音频和干音音频之间的时延进行纠正。
在本发明实施例中,获取伴奏音频和干音音频对应的原曲音频,并从原曲音频中提取原曲人声音频;基于原曲人声音频和干音音频确定第一相关函数曲线,基于原曲音频和伴奏音频确定第二相关函数曲线;基于第一相关函数曲线和第二相关函数曲线对伴奏音频和干音音频之间的时延进行纠正。由此可见,在本发明实施例中,可以通过对伴奏音频、干音音频以及对应的原曲音频进行处理,从而对伴奏音频和干音音频之间的时延进行纠正,相较于目前依靠工作人员进行纠正的方法,既节省了人力和时间,提高了纠正效率,同时也排除了人为因素可能引发的纠正错误,提高了准确性。
图3是本发明实施例提供的一种纠正伴奏和干音之间的时延的方法的流程图,该方法可以应用于服务器中,如图3所示,该方法包括以下步骤:
步骤301:获取目标歌曲的伴奏音频、干音音频和原曲音频,并从原曲音频中提取原曲人声音频。
其中,目标歌曲可以是曲库中的任一首歌曲,而伴奏音频和干音音频则是指该目标歌曲的伴奏和纯原曲人声音频。在本发明实施例中,服务器中可以存储有多首歌曲的歌曲标识、伴奏音频、干音音频和原曲音频的对应关系。由于待纠正的伴奏音频和干音音频对应于同一首歌曲,因此,服务器可以根据该伴奏音频从对应关系中获取该伴奏音频对应的原曲音频,也可以根据该干音音频从存储的对应关系中获取该干音音频对应的原曲音频。
在获取到原曲音频之后,服务器可以通过传统的盲分离方式从该原曲音频中提取原曲人声音频。其中,传统的盲分离方式可以参考相关技术,本发明实施例在此不再赘述。
可选地,在一种可能的实现方式中,服务器还可以采用深度学习的方法来从原曲音频中提取原曲人声音频。具体地,服务器可以采用多首歌曲的原曲音频、伴奏音频和干音音频训练得到有监督的卷积神经网络模型。之后,服务器可以将该原曲音频作为该有监督的卷积神经网络模型的输入,通过该有监督的卷积神经网络模型输出该原曲音频的原曲人声音频。
需要说明的是,本发明实施例中还可以采用其他类型的神经网络模型来从原曲音频中提取原曲人声音频,本发明实施例对此不做具体限定。
步骤302:基于原曲人声音频和干音音频确定第一相关函数曲线。
在从原曲音频中提取到原曲人声音频之后,服务器可以基于该原曲人声音频和干音音频确定原曲人声音频与干音音频之间的第一相关函数曲线。其中,该第一相关函数曲线可以用于估计原曲人声音频和干音音频之间的第一时延。
具体地,服务器可以获取原曲人声音频包括的多个音频帧中每个音频帧对应的音高值,并按照原曲人声音频包括的多个音频帧的先后顺序,对获取的原曲人声音频的多个音高值进行排序,得到第一音高序列;获取干音音频包括的多个音频帧中每个音频帧对应的音高值,并按照干音音频包括的多个音频帧的先后顺序,对获取的干音音频的多个音高值进行排序,得到第二音高序列;基于第一音高序列和第二音高序列,确定人第一相关函数曲线。
其中,音频可以由多个音频帧组成,并且,每相邻两个音频帧之间的时间间隔相同。也即,每个音频帧对应有一个时间点。在本发明实施例中,服务器可以获取原曲人声音频中每个音频帧对应的音高值,并按照每个音频帧对应的时间点的先后顺序,对多个音高值进行排序,从而得到第一音高序列。其中,该第一音高序列中还可以包括每个音高值对应的时间点,另外,需要说明的是,音高值主要用于指示声音的高度,是声音的一种重要特征。在本发明实施例中,音高值主要是指人声的高度值。
在获取到第一音高序列之后,服务器可以采用同样的方法获取干音音频中包括的多个音频帧中每个音频帧对应的音高值,并按照干音音频包括的每个音频帧对应的时间点的先后顺序,对干音音频包括的多个音频帧的多个音高值进行排序,从而得到第二音高序列。
在确定第一音高序列和第二音高序列之后,服务器可以根据第一音高序列和第二音高序列构建自第一相关函数模型。
例如,假设第一音高序列为x(n),第二音高序列为y(n),则根据该第一音高序列和第二音高序列构建的第一相关函数模型可以如下式所示:
其中,N为预设的音高值的数量,N小于或等于第一音高序列包括的音高值的数量,且N小于或等于第二音高序列包括的音高值的数量。x(n)表示第一音高序列中的第n个音高值,y(n-t)表示第二音高序列中的第(n-t)个音高值,t为第一音高序列和第二音高序列之间的时间偏移量。
在确定相关函数模型之后,服务器可以根据该相关函数模型确定第一相关函数曲线。
需要说明的是,N越大,服务器构建相关函数模型,并生成相关函数曲线时的计算量也就越大,同时,考虑到人声音高重复性等特点,为避免相关函数模型的不准确,服务器可以通过设置N来只取音高序列的前半段进行计算。
步骤303:基于原曲音频和伴奏音频确定第二相关函数曲线。
无论是音高序列还是音频序列,实质上均是一种时间序列。其中,对于原曲人声音频和干音音频而言,由于这类型的音频是不包含伴奏的,因此,服务器可以通过提取音频的音高序列来确定原曲人声音频和干音音频的第一相关函数曲线。而对于原曲音频和伴奏音频,二者均包含伴奏,因此,服务器可以直接将原曲音频包括的多个音频帧作为第一音频序列,将伴奏音频包括的多个音频帧作为第二音频序列,并基于该第一音频序列和第二音频序列确定第二相关函数曲线。
具体地,服务器可以根据第一音频序列和第二音频序列构建第二相关函数模型,并根据第二相关函数模型生成第二相关函数曲线。其中,第二相关函数模型的方式可以参考前述的第一相关函数模型,本发明实施例对此不再赘述。
需要说明的是,在本发明实施例中,步骤302和步骤303的执行顺序可以不分先后,也即,服务器可以先执行步骤302,再执行步骤303,或者,可以先执行步骤303,再执行步骤302,当然,服务器也可以同时执行步骤302和步骤303中。
步骤304:基于第一相关函数曲线和第二相关函数曲线对伴奏音频和干音音频之间的时延进行纠正。
在确定第一相关函数曲线和第二相关函数曲线之后,服务器可以基于第一相关函数曲线确定原曲人声音频和干音音频之间的第一时延,基于第二相关函数曲线确定伴奏音频和原曲音频之间的第二时延;之后,服务器可以基于该第一时延和第二时延对伴奏音频和干音音频之间的时延进行纠正。
具体地,服务器可以在第一相关函数曲线上检测第一峰值,并根据第一峰值对应的t确定第一时延,在第二相关函数曲线上检测第二峰值,并根据第二峰值对应的t确定第二时延。
在确定第一时延和第二时延之后,由于第一时延是原曲人声音频和干音音频之间的时延,而原曲人声音频是从原曲音频中分离出来的,所以第一时延实际上就是干音音频相对于原曲音频中的人声的时延。另一方面,第二时延是原曲音频和伴奏音频之间的时延,实际上也就是伴奏音频相对于原曲音频的时延。在这种情况下,由于第一时延和第二时延均是以原曲音频为基准的时延,因此,将第一时延和第二时延相减后得到的时延差实际上就是干音音频和伴奏音频之间的时延。基于此,服务器可以计算第一时延和第二时延之间的时延差,并将该时延差确定为干音音频和伴奏音频之间的时延。
在确定干音音频和伴奏音频之间的时延之后,服务器可以基于该时延调整伴奏音频或者干音音频,从而将伴奏音频和干音音频对齐。
具体地,若干音音频和伴奏音频之间的时延为负值,则说明伴奏音频要晚于干音音频,此时,服务器可以从伴奏音频的起始播放时刻起删除该伴奏音频中与该时延相同的时长内的音频数据。若干音音频和伴奏音频之间的时延为正值,则说明伴奏音频要早于干音音频,此时,则可以从干音音频的起始播放时刻起删除该干音音频中与该时延相同的时长内的音频数据。
例如,假设伴奏音频要比干音音频晚2s,则服务器可以将伴奏音频的起始播放时刻起的2s内的音频数据进行删除,从而与干音音频对齐。
可选地,在一种可能的实现方式中,若伴奏音频晚于干音音频,则服务器还可以在干音音频的起始播放时刻之前添加与时延相同的时长的音频数据。例如,假设伴奏音频要比干音音频晚2s,则服务器可以在干音音频的起始播放时刻之前增加2s的音频数据,从而与干音音频对齐,其中,增加的2s的音频数据可以是不含有任何音频信息的数据。
上述实施例中主要介绍了通过自相关算法来确定原曲人声音频和干音音频之间的第一时延以及原曲音频和伴奏音频之间的第二时延的实现方式。可选地,在本发明实施例中,在步骤302中,当确定第一音高序列和第二音高序列之后,服务器还可以通过动态时间规整(Dynamic Time Warping)算法或其他时延估计算法来确定原曲人声音频和干音音频之间的第一时延,在步骤303中,服务器同样可以通过动态时间规整算法或者其他时延估计算法来确定原曲音频和伴奏音频之间的第二时延,之后,服务器可以将该第一时延和第二时延之间的时延差确定为干音音频和伴奏音频之间的时延,并根据干音音频和伴奏音频之间的时延对干音音频和伴奏音频进行纠正。
其中,服务器通过动态时间规整算法来估算两个序列之间的时延的具体实现方式可以参考相关技术,本发明实施例对此不再赘述。
在本发明实施例中,服务器可以获取目标歌曲的伴奏音频、干音音频和原曲音频,并从原曲音频中提取原曲人声音频;基于原曲人声音频和干音音频确定第一相关函数曲线,基于原曲音频和伴奏音频确定第二相关函数曲线;基于第一相关函数曲线和第二相关函数曲线对伴奏音频和干音音频之间的时延进行纠正。由此可见,在本发明实施例中,可以通过对伴奏音频、干音音频以及对应的原曲音频进行处理,从而对伴奏音频和干音音频之间的时延进行纠正,相较于目前依靠工作人员进行纠正的方法,既节省了人力和时间,提高了纠正效率,同时也排除了人为因素可能引发的纠正错误,提高了准确性。
接下来,对本发明实施例提供的纠正伴奏和干音之间的时延的装置进行介绍。
参见图4,本发明实施例提供了一种纠正伴奏音频和干音音频之间的时延的装置400,该装置400包括:
获取模块401,用于获取目标歌曲的伴奏音频、干音音频和原曲音频,并从原曲音频中提取原曲人声音频;
确定模块402,用于基于原曲人声音频和干音音频确定第一相关函数曲线,基于原曲音频和伴奏音频确定第二相关函数曲线;
纠正模块403,用于基于第一相关函数曲线和第二相关函数曲线对伴奏音频和干音音频之间的时延进行纠正。
可选地,参见图5,确定模块402包括:
第一获取子模4021,用于获取原曲人声音频包括的多个音频帧中每个音频帧对应的音高值,并按照原曲人声音频包括的多个音频帧的先后顺序,对获取的原曲人声音频的多个音高值进行排序,得到第一音高序列;
第一获取子模块4021,还用于获取干音音频包括的多个音频帧中每个音频帧对应的音高值,并按照干音音频包括的多个音频帧的先后顺序,对获取的干音音频的多个音高值进行排序,得到第二音高序列;
第一确定子模块4022,用于基于第一音高序列和第二音高序列,确定人第一相关函数曲线;
第二获取子模块4023,用于按照原曲音频包括的多个音频帧的先后顺序获取原曲音频包括的多个音频帧,以得到第一音频序列;
第二获取子模块4023,用于按照伴奏音频包括的多个音频帧的先后顺序获取伴奏音频包括的多个音频帧,以得到第二音频序列;
第二确定子模块4024,用于基于第一音频序列和第二音频序列确定第二相关函数曲线。
可选地,第一确定子模块4022具体用于:
基于第一音高序列和第二音高序列确定如下式所示的第一相关函数模型;
N为预设的音高值的数量,N小于或等于第一音高序列包括的音高值的数量,且N小于或等于第二音高序列包括的音高值的数量。x(n)表示第一音高序列中的第n个音高值,y(n-t)表示第二音高序列中的第(n-t)个音高值,t为第一音高序列和第二音高序列之间的时间偏移量;
基于第一相关函数模型确定第一相关函数曲线。
可选地,参见图6,纠正模块403包括:
检测子模块4031,用于在第一相关函数曲线上检测第一峰值,在第二相关函数曲线检测第二峰值;
第三确定子模块4032,用于基于第一峰值确定原曲人声音频和干音音频之间的第一时延;基于第二峰值确定伴奏音频与原曲音频之间的第二时延;
纠正子模块4033,用于基于第一时延和第二时延对伴奏音频和干音音频之间的时延进行纠正。
可选地,纠正子模块4033具体用于:
将第一时延和第二时延之间的时延差确定为伴奏音频和干音音频之间的时延;
若时延用于指示伴奏音频晚于干音音频,则从伴奏音频的起始播放时刻起删除伴奏音频中与时延相同的时长内的音频数据;
若时延用于指示伴奏音频早于干音音频,则从干音音频的起始播放时刻起删除干音音频中与时延相同的时长内的音频数据。
综上所述,在本发明实施例中,获取目标歌曲的伴奏音频、干音音频和原曲音频,并从原曲音频中提取原曲人声音频;基于原曲人声音频和干音音频确定第一相关函数曲线,基于原曲音频和伴奏音频确定第二相关函数曲线;基于第一相关函数曲线和第二相关函数曲线对伴奏音频和干音音频之间的时延进行纠正。由此可见,在本发明实施例中,可以通过对伴奏音频、干音音频以及对应的原曲音频进行处理,从而对伴奏音频和干音音频之间的时延进行纠正,相较于目前依靠工作人员进行纠正的方法,既节省了人力和时间,提高了纠正效率,同时也排除了人为因素可能引发的纠正错误,提高了准确性。
需要说明的是:上述实施例提供的纠正伴奏和干音之间的时延的装置在纠正伴奏和干音之间的时延时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的纠正伴奏和干音之间的时延的装置与纠正伴奏和干音之间的时延的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7是根据一示例性实施例示出的一种纠正伴奏和干音之间的时延的装置的服务器结构示意图。上述图2-3所示的实施例中的服务器的功能即可以通过图7中所示的服务器来实现。该服务器可以是后台服务器集群中的服务器。具体来讲:
服务器700包括中央处理单元(CPU)701、包括随机存取存储器(RAM)702和只读存储器(ROM)703的系统存储器704,以及连接系统存储器704和中央处理单元701的系统总线705。服务器700还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)706,和用于存储操作系统713、应用程序714和其他程序模块715的大容量存储设备707。
基本输入/输出系统706包括有用于显示信息的显示器708和用于用户输入信息的诸如鼠标、键盘之类的输入设备709。其中显示器708和输入设备709都通过连接到系统总线705的输入输出控制器710连接到中央处理单元701。基本输入/输出系统706还可以包括输入输出控制器710以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器710还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备707通过连接到系统总线705的大容量存储控制器(未示出)连接到中央处理单元701。大容量存储设备707及其相关联的计算机可读介质为服务器700提供非易失性存储。也就是说,大容量存储设备707可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器704和大容量存储设备707可以统称为存储器。
根据本申请的各种实施例,服务器700还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器700可以通过连接在系统总线705上的网络接口单元711连接到网络712,或者说,也可以使用网络接口单元711来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。所述一个或者一个以上程序包含用于进行本申请实施例提供的纠正伴奏和干音之间的时延的方法的指令。
本申请实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述图2-3所示实施例提供的纠正伴奏和干音之间的时延的方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述图2-3所示实施例提供的纠正伴奏和干音之间的时延的方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。