CN111640411A - 音频合成方法、装置及计算机可读存储介质 - Google Patents
音频合成方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111640411A CN111640411A CN202010482211.9A CN202010482211A CN111640411A CN 111640411 A CN111640411 A CN 111640411A CN 202010482211 A CN202010482211 A CN 202010482211A CN 111640411 A CN111640411 A CN 111640411A
- Authority
- CN
- China
- Prior art keywords
- audio
- sub
- data
- accompaniment
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
Abstract
本发明实施例公开了一种音频合成方法、装置及计算机可读存储介质,其中,该方法包括:客户端获取目标音频的干声音频数据和伴奏音频数据;根据目标音频的参考伴奏起始点,获取目标音频的干声子数据,以及目标音频的伴奏子数据;客户端对干声子数据和伴奏子数据进行合成,得到合成子音频;客户端计算合成子音频与参考子音频之间的音频相似度;若音频相似度符合音频合成条件,则根据音频相似度确定目标时间偏移值;根据目标时间偏移值,将目标音频的干声音频数据和伴奏音频数据进行合成,得到目标合成音频。通过该技术方案能够解决伴奏和人声之间的延迟问题。
Description
技术领域
本发明涉及互联网技术领域,具体涉及一种音频合成方法、装置及计算机可读存储介质。
背景技术
K歌软件是一类应用在终端设备(例如手机、平板电脑和智能电视等)的K歌录音软件。K歌软件主要把用户的人声融入软件提供的伴奏中,还可以对用户的人声进行后期处理。例如,音准和节奏的校准、特效或预制的混音需求,背景噪音处理、音频数据编辑、混音设置等。但是在用户使用各类终端设备录制歌曲的过程中,由于硬件条件限制以及相应操作系统录音实现机制的问题,会导致伴奏和人声存在延迟。主要表现为用户根据伴奏演唱得到的人声,录制进客户端后和伴奏无法对齐,合成的作品出现节拍错乱的情况。
因此,如何解决伴奏和人声之间的延迟是亟待解决的技术问题。
发明内容
本申请实施例提供了一种音频合成方法、装置及计算机可读存储介质,可以解决伴奏和人声之间的延迟问题,从而实现自动声伴对齐,提高用户体验。
第一方面,本发明实施例提供了一种音频合成方法,该音频合成方法包括:
获取目标音频的干声音频数据和伴奏音频数据;根据所述目标音频的参考伴奏起始点,获取所述目标音频的干声子数据,以及所述目标音频的伴奏子数据,所述干声子数据与所述伴奏子数据的时长相同;对所述干声子数据和所述伴奏子数据进行合成,得到合成子音频,所述合成子音频的时长与所述干声子数据的时长相同;
计算所述合成子音频与参考子音频之间的音频相似度,所述参考子音频与所述伴奏音频数据的伴奏起始点相同;
若所述音频相似度符合音频合成条件,则根据所述音频相似度确定目标时间偏移值;
根据所述目标时间偏移值,将所述目标音频的干声音频数据和所述伴奏音频数据进行合成,得到目标合成音频。
第二方面,本发明实施例提供了一种音频合成装置,包括获取单元、合成单元和处理单元:
所述获取单元,用于获取目标音频数据的干声音频数据和伴奏音频数据;根据所述目标音频的参考伴奏起始点,获取所述目标音频数据的的干声子数据,以及所述目标音频的伴奏子数据,所述干声子数据与所述伴奏子数据的时长相同;
所述合成单元,用于对所述干声子数据和所述伴奏子数据进行合成,得到合成子音频,所述合成子音频的时长与所述干声子数据的时长相同;
所述处理单元,用于计算所述合成子音频与参考子音频之间的音频相似度,所述参考子音频与所述伴奏数据的伴奏起始点相同;若所述音频相似度符合音频合成条件,则根据所述音频相似度确定目标时间偏移值;
所述合成单元,还用于根据所述目标时间偏移值,将所述目标音频的干声音频数据和所述伴奏音频数据进行合成,得到目标合成音频。
第三方面,本发明实施例提供了一种音频合成装置,包括处理器和存储器,处理器和存储器相互连接,其中,存储器用于存储计算机程序,计算机程序包括程序指令,处理器被配置用于调用程序指令,执行如第一方面所描述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时使处理器执行如第一方面所描述的方法。
本发明实施例中,客户端通过获取干声子数据与伴奏子数据,并将干声子数据与伴奏子数据进行合成,得到合成子音频;将该合成子音频与参考子音频进行相似度计算,得到音频相似度;客户端判断该音频相似度是否符合音频合成条件,若符合,则根据该音频相似度确定目标时间偏移值,并根据该目标时间偏移值将目标音频的干声音频数据和伴奏音频数据进行合成,得到目标合成音频。通过该方式能够解决伴奏与人声之间的延时,进而根据该目标时间偏移值实现自动声伴对齐。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种音频合成系统的结构示意图;
图2是本发明实施例提供的一种音频合成方法的流程示意图;
图3是本发明实施例提供的一种相似度变化趋势示意图;
图4是本发明实施例提供的另一种音频合成方法的流程示意图;
图5是本发明实施例提供的一种截取数据示意图;
图6是本发明实施例提供的一种对齐结果界面示意图;
图7是本发明实施例提供的一种音频合成装置的结构示意图;
图8是本发明实施例提供的另一种音频合成装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请涉及音频指纹技术(Audio fingerprinting technology),音频指纹技术是指通过特定的算法将一段音频中独一无二的数字特征以标识符的形式提取出来,用于识别海量的声音样本或跟踪定位样本在数据库中的位置。随着音频指纹技术的发展,作为内容自动识别技术的的核心算法,音频指纹技术已广泛应用在各类终端设备(例如计算机、TV(电视)、手机等)进行音乐识别等领域。
目前用户使用客户端录制歌曲的过程中,由于硬件条件限制以及相应操作系统录音实现机制的问题,会存在用户输入的人声与歌曲伴奏之间存在延迟;例如以手机客户端为例,用户依据播放的伴奏演唱的人声,录制进手机后和伴奏无法对齐,合成的作品出现节拍错乱的情况。目前k歌类应用为了解决这部分问题,通常在歌曲录制结束之后,允许用户手动调整人声相对伴奏的时间偏移值,实现声伴对齐。但是,上述两种情况皆限制了用户的体验,同时目前的解决办法并不能精准的地实现客户端自动声伴对齐。
基于上述描述,本申请实施例提出一种音频合成方案,该方案能够实现自动声伴对齐,解决人声与歌曲伴奏之间的延迟问题。在介绍本方案之前,先对本申请实施例涉及的音频合成系统进行介绍。
请参见图1,图1示出了本申请一个示例性实施例提供的一种音频合成系统的架构图。如图1所示,音频合成系统10的架构包括客户端101和服务器102;本申请实施例中的客户端可以包括但不限于:智能手机(如Android手机、iOS手机等)、平板电脑、便携式个人计算机、移动互联网设备(Mobile Internet Devices,MID)等设备。可选地,该客户端101还可支持各类检测硬件的运行,例如扬声器、受话器等等;该客户端101还可以支持录音功能。另外,该客户端101还可支持各种应用程序的安装及运行,此处的应用程序可包括但不限于音视频应用程序、社交应用程序、游戏应用程序等等。
在本申请实施例中,服务器102用于搭建指纹特征数据库(歌曲库),客户端101用于匹配音频特征指纹序列。当客户端101进行音频特征指纹序列匹配时,需要从服务器102搭建的音频指纹特征数据库中获取该歌曲对应的参考音频特征指纹序列。该音频指纹特征数据库包括至少一个目标音频以及该目标音频对应的参考音频特征指纹序列。
下面对本申请实施例提供的音频合成方法进行详细介绍。请参见图2,图2示出了本申请一个示例性实施例提供的一种音频合成方法的流程图,应用于客户端101。该音频合成方法可包括以下步骤201-206:
201,客户端获取目标音频的干声音频数据和伴奏音频数据。
目标音频为用户输入干声音频数据的参考音频,可包括原唱的干声音频数据、伴奏音频数据以及歌词文件(Qt Resources File,QRC)。例如,该目标音频数据可以是一首歌曲。伴奏音频数据为该目标音频的伴奏,干声音频数据为用户根据该目标音频进行演唱录入终端设备的干声。
202,客户端根据目标音频的参考伴奏起始点,获取该目标音频的干声子数据,以及该目标音频的伴奏子数据。
参考伴奏起始点为从干声音频数据中截取干声子数据的开始时刻。在获取到目标音频的干声音频数据和伴奏音频数据之后,客户端可以根据该参考伴奏起始点从干声音频数据中获取干声子数据,以及从伴奏音频数据中获取伴奏子数据。该干声子数据与伴奏子数据的时长相同。该时长可以是10秒、15秒、30秒、1分钟等,本申请实施例不做限定。
需要说明的是,客户端获取的干声子数据的数量可以是N个,客户端将获取到N个的干声子数据分别与伴奏子数据进行合成可以得到N个合成子音频。其中,N为正整数,例如,N可以为5、10、20、100等,本申请实施例不作限定。
203,客户端对干声子数据和伴奏子数据进行合成,得到合成子音频。
客户端在获取该干声子数据以及伴奏子数据之后,可以对干声子数据和伴奏子数据进行合成,得到合成子音频。可以理解的是,该合成子音频的时长与干声子数据以及伴奏子数据的时长相同。
204,客户端计算该合成子音频与参考子音频之间的音频相似度。
参考子音频为服务器根据参考伴奏起始点从目标音频中获取的音频,即该参考子音频与伴奏音频数据的伴奏起始点相同。其中,该参考子音频的时长与合成子音频的时长相同。客户端在得到合成子音频之后,计算该合成子音频与参考子音频之间的音频相似度,进而通过该音频相似度确定干声音频数据和伴奏音频数据之间的目标时间偏移值(即干声音频数据和伴奏音频数据之间的延时)。
在一种实现方式中,客户端计算该合成子音频与参考子音频之间的音频相似度的具体方式为:
客户端针对该合成子音频提取第一音频指纹序列;客户端将该第一音频指纹序列与第二音频指纹序列进行相似度计算,得到音频相似度,该第二音频指纹序列是参考子音频对应的参考音频指纹序列。
客户端可以对合成子音频提取第一音频指纹序列,与参考子音频的第二音频指纹序列进行相似度计算,得到合成子音频与参考子音频之间的音频相似度。其中,该第一音频指纹序列为客户端针对该合成子音频提取的音频指纹序列,该第二音频指纹序列为服务器针对参考子音频提取的音频指纹序列。
可以理解的是,当合成子音频的数量为N个时,客户端需要对每个合成子音频提取第一音频指纹序列,即该第一音频指纹序列的数量也为N个,进行相似度计算得到的音频相似度也为N个。
在一种实现方式中,客户端可以利用感知哈希算法(perceptual hashalgorithm,PHA)提取合成子音频的第一音频指纹序列。客户端可以对合成子音频进行分帧加窗,帧长为连续的若干个采样点。以512个连续采样点为例将合成子音频分成若干帧,对每帧信号做加窗处理之后,进行快速傅立叶变换(Fast Fourier Transform,FFT),计算变换之后得到的每一个频点的幅频,进而得到语谱图。该语谱图为音频信号频谱变换后的二维能量图,通常横坐标表示时间,纵坐标表示频率,坐标点值为语音数据能量。其中,加窗函数的类型存在多种,以汉宁窗为例。其中,i表示样点索引,N表示窗长,此处N=512,汉宁窗表示如下:
加窗后,n表示加窗后的第n帧信号,L表示帧移,此处L=256。加窗后的信号具体可表示如下:
xwn(Ln+i)=x(i)·w(i)
在快速傅里叶变换中,i表示第n帧信号内N个样点从0开始的索引,第n帧信号的傅里叶变换结果如下:
能量计算时,(n,k)表示第n帧的第k个频率点,能量计算公式如下:
p(n,k)=|X(n,k)|2
经过巴克滤波器(bark fileters)滤波组处理之后,将每个幅频结果映射到bark域,得到一个描述三十三个频段能量大小的向量。差分处理之后得到一个三十二维的向量。每一帧的子音频指纹基于这个差分向量计算,用一个32比特的无符号整型描述结果,公式如下:
其中,0<=m<33;n表示加窗后的第n帧信号,m表示第m个频带。E(n,m)表示第n帧信号在第m个频带上的能量,F(n,m)表示第n帧信号的子音频指纹上第m个比特位的结果。依此类推,逐帧计算子音频指纹。得到一个32比特的无符号整型数组,存储音频的相关信息。需要说明的是,该32比特的无符号整型数组可以采用二进制表示(即0或1表示)。
也就是说,32比特的无符号整型数组可以理解为第一音频指纹序列。可以理解的是,该第二音频指纹序列也为32比特的无符号整型数组。因此,计算第一音频指纹序列与第二音频指纹序列的相似度,可以通过32比特的无符号整型数组对应的比特位相等的数量决定。例如,32比特的第一音频指纹序列为与32比特的第二音频指纹序列相应比特位相等的数量为16,则第一音频指纹序列与第二音频指纹序列的相似度为50%。
基于该实现方式通过感知哈希算法计算音频指纹相似度,通过获得合成子音频与参考子音频之间的音频指纹序列,进而计算两段音频指纹序列的相似度。基于该方式能够更加灵活和自由地实现自动声伴对齐。
205,若该音频相似度符合音频合成条件,客户端则根据该音频相似度确定目标时间偏移值。
客户端在得到音频相似度之后,对该音频相似度进行校验,若该音频相似度符合音频合成条件则根据该音频相似度确定目标时间偏移值。
在一种实现方式中,在音频相似度包括N个相似度的情况下,若该音频相似度符合音频合成条件,客户端则根据该音频相似度确定目标时间偏移值的具体方式为:
客户端根据N个相似度中的最大相似度与最小相似度,确定相似度极差;若该最大相似度、相似度极差以及该最大相似度对应的时间偏移值符合音频合成条件,则确定所述最大相似度对应的时间偏移值为目标时间偏移值。
其中,时间偏移值为合成子音频的干声子数据与伴奏子数据之间的延时,每个子音频均对应一个时间偏移值。客户端将N个合成子音频的音频指纹序列与参考子音频的音频指纹序列进行相似度计算后,得到N个音频相似度。客户端选择最大相似度进行校验,客户端进行校验的方式可以是通过判断该最大相似度、相似度极差以及该最大相似度对应的时间偏移值是否符合音频合成条件,进而判断是否可根据最大相似度对应的时间偏移值得到目标合成音频。若符合音频合成条件,则最大相似度对应的时间偏移值为目标时间偏移值。进一步地,客户端可根据该目标时间偏移值将干声音频数据和伴奏音频数据进行合成,得到目标合成音频。
在一种实现方式中,若该最大相似度大于第一阈值、该相似度极差大于第二阈值且该最大相似度对应的时间偏移值大于第三阈值,则确定该最大相似度和该相似度极差符合音频合成条件。
第三阈值可以是30ms、40m或者50ms等,本申请实施例不作限定。客户端在确定最大相似度以及相似度极差之后,若该最大相似度大于第一阈值、该相似度极差大于第二阈值且该最大相似度对应的时间偏移值大于第三阈值,则确定该最大相似度和该相似度极差符合音频合成条件。也就是说,当最大相似度大于第一阈值、相似度极差大于第二阈值以及最大相似度对应的时间偏移值大于第三阈值三个条件中,出现任一条件不被满足时,客户端将丢弃该最大相似度对应的时间偏移值。例如,若第三阈值为40ms,最大相似度对应的时间偏移值为20ms,则认为干声音频数据与伴奏音频数据之间的延时较小,自动对齐结果改动不明显,即人耳对该自动对齐结果的感知不明显,则丢弃该时间偏移值。
在一种实现方式中,第一阈值与第二阈值可以根据客户端采集音频的方式确定的。
客户端采集干声音频数据的方式可以包括但不限于通过设备外放采集、有线耳机采集以及无线耳机采集。用户在不同的场景下进行演唱录制,第一阈值与第二阈值的取值也不同。具体来说,外放采集干声音频数据的方式会携带伴奏音频数据,耳机采集的是干声音音频数据,通常情况下通过耳机采集并最终得到的合成目标合成作品的相似度结果要略低于外放采集下得到的目标合成作品的相似度。因此,第一阈值以及第二阈值的取值在外放采集场景下会比耳机采集场景下更加严格。
客户端针对不同演唱场景的第一阈值与第二阈值的取值不同。例如,客户端在三种不同场景下,第一阈值与第二阈值的取值如表1所示。需要说明的是,表1中的第一阈值、第二阈值的取值的单位为ms。
表1
演唱场景 | 第一阈值 | 第二阈值 |
外放采集 | 0.535 | 0.013 |
有线耳机采集 | 0.515 | 0.0115 |
无线耳机采集 | 0.515 | 0.0115 |
在一种实现方式中,当极差小于0.005的情况下,客户端可以认定用户没有进行演唱,或者录制的为静音文件或者白噪声,在该情况下,客户端丢弃该最大相似度对应的时间偏移值。
206,客户端根据该目标时间偏移值,将该目标音频的干声音频数据和该伴奏音频数据进行合成,得到目标合成音频。
目标合成音频是客户端将用户演唱的干声音频数据以及从服务器获取的伴奏音频数据进行合成,得到的音频。客户端在确定最大相似度对应的时间偏移值为目标偏移值后,根据该目标时间偏移值将该目标音频的干声音频数据和该伴奏音频数据进行合成,得到目标合成音频。
基于图2所描述的方法,客户端通过计算多个合成子音频与参考子音频之间的相似度,并对最大相似度进行判断。当最大相似度与相似度极差满足音频合成条件时,则确定最大相似度对应的时间偏移值为目标偏移值。客户端则可根据该目标偏移值将干声音频数据和伴奏音频数据进行合成,得到目标合成音频(即用户演唱的完整的歌曲)。基于该方法,能够确定干声音频数据和伴奏音频数据之间的延时,并实现自动声伴对齐。
请参见图4,图4示出了本申请一个示例性实施例提供的另一种音频合成方法的流程图。该方法可以是由图1所示的客户端101与服务器102进行交互实现。该音频合成方法可包括以下步骤401-408:
401,客户端获取目标音频的干声音频数据和伴奏音频数据。
客户端上层逐帧将用户演唱的干声音频传至底层,再由客户端底层将该干声音频降采样到8KHz单声道,得到干声音频数据存储在缓存区中,直到上层所有音频全部传输完或底层通知上层数据已经足够。
402,客户端从服务器获取目标音频的参考时间戳与参考偏移值。
参考时间戳为目标音频第一句歌词开始的时刻,即用户可以根据该参考时间戳开始进行演唱进而录入干声音频数据。参考时间偏移值为目标音频的伴奏音频数据与目标音频之间的时间偏移值(即延时)。其中,服务器端搭建的音频指纹特征数据库中存储的目标音频的歌词文件(Qt Resources File,QRC)中包括该参考时间戳。
服务器确定参考时间偏移值的具体过程为:服务器首先依据目标音频的歌词文件,将目标音频降采样为8kHz单声道音频文件以及将目标音频的伴奏音频降采样为8kHz单声道音频文件;根据QRC文件的参考时间戳,服务器截取15秒目标音频作为音频文件A,截取16秒伴奏音频并在该伴奏音频的前端补充400ms静音,即样点值均为0的脉冲编码调制(Pulse Code Modulation,PCM)数据。作为音频文件B。对音频文件A与音频文件B,以10ms为间隔,每次提取800ms的音频指纹特征进行对比,通过计算时间偏移值,选择最佳时间偏移值作为参考时间偏移值存放到服务器端搭建的音频指纹特征数据库中。
403,客户端根据该参考时间戳与参考时间偏移值确定参考伴奏起始点。
客户端获取目标音频的参考时间戳与参考时间偏移值之后,可以根据该参考时间戳与参考时间偏移值确定参考伴奏起始点。例如目标音频的参考时间戳为24.2s,伴奏音频数据与原唱的干声音频数据之间的时间偏移值为100ms,则可以确定参考伴奏起始点为24.3s。
在一种实现方式中,客户端可以从服务器获取参考伴奏起始点,该参考伴奏起始点是根据目标音频的参考时间戳与参考时间偏移值确定。
服务器确定目标音频的参考时间戳与参考时间偏移值之后,可以根据该参考时间戳与参考时间偏移值确定参考伴奏起始点,并将该参考伴奏起始点存放至音频指纹特征数据库中。相应地,客户端在用户演唱结束之后,可以从服务器搭建的音频指纹特征数据库中获取该参考伴奏起始点。其中,该音频指纹特征数据库包括至少一个目标音频以及该目标音频对应的参考伴奏起始点
基于该实现方式,服务器提前计算好参考伴奏起始点,能够减少客户端的计算量,进而提高实现自动声伴对齐的效率。
404,客户端根据目标音频的参考伴奏起始点,获取该目标音频的干声子数据,以及该目标音频的伴奏子数据。
参考伴奏起始点具体可以用于从获取的干声音频数据中截取干声子数据,以及从目标音频的伴奏音频数据中截取伴奏子数据。该参考伴奏起始点还可用于作为将干声子数据与伴奏子数据进行合成的起始点。
客户端根据目标音频的参考伴奏起始点,获取该目标音频的干声子数据的具体方式为:
客户端根据目标音频的参考伴奏起始点确定用于截取干声子数据的截取区间;客户端根据预设时长、区间移动步长以及所述截取区间从所述目标干声音频数据中截取N个干声子数据,N为大于1的正整数。
截取区间为参考伴奏起始点前后的一段区间,该截取区间的长度可以是200ms、400ms以及800ms等,本申请实施例不作限定;预设时长为截取的干声子数据的时长,该预设时长可以是10秒、15秒、30秒、1分钟等,本申请实施例不做限定;客户端根据区间移动步长在截取区间内确定N个截取起始点,并依次截取N个干声子数据,该区间移动步长可以是10ms、20ms以及40ms等,本申请实施例不做限定。其中,N的取值由截取区间与移动步长确定,例如,若截取区间的长度为200ms,区间移动步长为10ms,则N的值为21。具体的,以预设时长为15秒,截取区间的长度为400ms,区间移动步长为10ms为例,如图5所示,客户端在参考伴奏起始点A前后200ms的区间内,按照10ms的移动步长,可以依次截取出41个15秒长度的干声子数据。
在一种实现方式中,截取区间具体可以根据客户端采集音频的方式与客户端的系统类型确定的。
客户端采集干声音频数据的方式可以包括通过设备外放采集、有线耳机采集以及无线耳机采集等。用户在不同的场景下进行演唱录制,截取区间的起止范围也不同。例如,如表2所示,若客户端对应的系统为IOS系统,使用无线耳机采集干声音频数据时,由于无线传输的原因,时延通常为150ms。考虑到其他因素的影响(例如用户主观延时或附近存在多台无线设备干扰延时),延时结果通常会超出200ms。所以针对在IOS系统使用无线耳机录制的场景,客户端会偏移截取区间的中心点,修改截取区间到负100ms至300ms,确保结果可信。
表2
演唱场景 | 截取区间 |
外放采集 | [-200,200] |
有线耳机采集 | [-200,200] |
无线耳机采集(IOS) | [-100,300] |
需要说明的是,客户端采用正负200ms的截取区间的情况下,能够覆盖大多数由于机器或系统以及用户主观带来的延时。其中,截取区间的中心点为参考伴奏起始点。但是如果延迟结果超出正负200ms的范围,或者用户演唱和原唱相差较远。那么得到的音频相似度不会满足音频合成条件,进而会降低用户的使用体验,所以会选择丢弃该音频相似度对应的时间偏移值。
405,客户端对干声子数据和伴奏子数据进行合成,得到合成子音频。
406,客户端计算该合成子音频与参考子音频之间的音频相似度。
407,若该音频相似度符合音频合成条件,客户端则根据该音频相似度确定目标时间偏移值。
408,客户端根据该目标时间偏移值,将该目标音频的干声音频数据和该伴奏音频数据进行合成,得到目标合成音频。
客户端在确定目标时间偏移值之后,将该目标音频的干声音频数据和该伴奏音频数据进行合成,得到目标合成音频,并将该目标合成音频呈现于用户客户端页面。例如,以用户在IOS系统上使用蓝牙耳机演唱歌曲为例。通常情况下由于蓝牙使用的无线传输的限制,在该场景下演唱会带来大约150ms的时延。在使用蓝牙耳机的情况下,截取区间为-100ms至300ms。根据计算得到的音频相似度,确定出目标时间偏移值是180ms,并根据该目标时间偏移值得到合成音频,呈现于用户客户端界面。例如,该用户客户端界面合成音频自动对齐结果如图6所示,该界面展示了客户端为当前用户演唱的歌曲自动声伴对齐的结果为将人声提前180ms。
具体的,步骤405-408的具体实施方法请参见步骤203-206中所描述的方法,本申请实施例不再赘述。
基于图4所描述的方法,通过合成N个合成子音频与参考子音频进行相似度计算,从而确定出与参考子音频相似度最大的合成子音频;若该合成子音频的音频相似度与音频相似度极差满足音频合成条件,则确定该合成子音频对应的时间偏移值为将干声音频数据与伴奏音频数据进行合成的目标时间偏移值。通过该方式通过比对合成子音频和参考子音频的音频相似度,即可确定目标时间偏移值,实现自动声伴对齐。
请参见图7,图7示出了本发明实施例的一种音频合成装置的结构示意图。图7所示的音频合成装置可以用于执行上述图2或图4中所描述的实施例中客户端的部分或全部功能。图7所示的音频合成装置可以包括获取单元701、合成单元702和处理单元703。其中:
所述获取单元701,用于获取目标音频数据的干声音频数据和伴奏音频数据;根据所述目标音频的参考伴奏起始点,获取所述目标音频数据的的干声子数据,以及所述目标音频的伴奏子数据,所述干声子数据与所述伴奏子数据的时长相同。
所述合成单元702,用于对所述干声子数据和所述伴奏子数据进行合成,得到合成子音频,所述合成子音频的时长与所述干声子数据的时长相同;
所述处理单元703,用于计算所述合成子音频与参考子音频之间的音频相似度,所述参考子音频与所述伴奏数据的伴奏起始点相同;若所述音频相似度符合音频合成条件,则根据所述音频相似度确定目标时间偏移值;
所述合成单元702,还用于根据所述目标时间偏移值,将所述目标音频的干声音频数据和所述伴奏音频数据进行合成,得到目标合成音频。
在一种实现方式中,所述根据所述目标音频的参考伴奏起始点,获取所述目标音频的干声子数据,以及所述目标音频的伴奏子数据之前,所述获取单元701,还用于从服务器获取参考伴奏起始点,所述参考伴奏起始点是根据所述目标音频的参考时间戳与参考时间偏移值确定。
在一种实现方式中,所述根据所述目标音频的参考伴奏起始点,获取所述目标音频的干声子数据,以及所述目标音频的伴奏子数据之前,所述获取单元701,还用于从服务器获取目标音频的参考时间戳与参考时间偏移值;所述处理单元703,还用于根据所述参考时间戳与所述参考时间偏移值确定参考伴奏起始点。
在一种实现方式中,所述获取单元701,用于根据所述目标音频的参考伴奏起始点,获取所述目标音频的干声子数据的具体实现方式为:
根据所述目标音频的参考伴奏起始点确定用于截取干声子数据的截取区间;
根据预设时长、区间移动步长以及所述截取区间从所述目标干声音频数据中截取N个干声子数据,N为大于1的正整数。
在一种实现方式中,所述音频相似度包括N个相似度,所述处理单元703,用于所述若所述音频相似度符合音频合成条件,则根据所述音频相似度确定目标时间偏移值的具体实现方式为:
根据所述N个相似度中的最大相似度与最小相似度,确定相似度极差;
若所述最大相似度、所述相似度极差以及所述最大相似度对应的时间偏移值符合音频合成条件,则确定所述最大相似度对应的时间偏移值为目标时间偏移值。
在一种实现方式中,所述处理单元703,还用于若所述最大相似度大于第一阈值、所述相似度极差大于第二阈值且所述最大相似度对应的时间偏移值大于第三阈值,则确定所述最大相似度和所述相似度极差符合音频合成条件。
在一种实现方式中,所述处理单元703,用于计算所述合成子音频与参考子音频之间的音频相似度的具体方式为:
针对所述合成子音频提取第一音频指纹序列;
将所述第一音频指纹序列与第二音频指纹序列进行相似度计算,得到音频相似度,所述第二音频指纹序列是所述参考子音频对应的参考音频指纹序列。
请参见图8,图8是本发明实施例提供的另一种音频合成装置的结构示意图,该客户端包括处理器801和存储器802。处理器801和存储器802通过一条或多条通信总线连接。
处理器801被配置为支持客户端执行图2或图4中方法中客户端相应的功能。该处理器801可以是中央处理器(central processing unit,CPU),网络处理器(networkprocessor,NP),硬件芯片或者其任意组合。
存储器802用于存储程序代码等。存储器802可以包括易失性存储器(volatilememory),例如随机存取存储器(random access memory,RAM);存储器802也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器802还可以包括上述种类的存储器的组合。
在本发明实施例中,该处理器801可以调用存储器802中存储的程序代码以执行以下操作:
获取目标音频的干声音频数据和伴奏音频数据;根据所述目标音频的参考伴奏起始点,获取所述目标音频的干声子数据,以及所述目标音频的伴奏子数据,所述干声子数据与所述伴奏子数据的时长相同;对所述干声子数据和所述伴奏子数据进行合成,得到合成子音频,所述合成子音频的时长与所述干声子数据的时长相同;
计算所述合成子音频与参考子音频之间的音频相似度,所述参考子音频与所述伴奏音频数据的伴奏起始点相同;
若所述音频相似度符合音频合成条件,则根据所述音频相似度确定目标时间偏移值;
根据所述目标时间偏移值,将所述目标音频的干声音频数据和所述伴奏音频数据进行合成,得到目标合成音频。
在一种实现方式中,所述根据所述目标音频的参考伴奏起始点,获取所述目标音频的干声子数据,以及所述目标音频的伴奏子数据之前,该处理器801可以调用存储器802中存储的程序代码,还可执行以下步骤:从服务器获取参考伴奏起始点,所述参考伴奏起始点是根据所述目标音频的参考时间戳与参考时间偏移值确定。
在一种实现方式中,所述根据所述目标音频的参考伴奏起始点,获取所述目标音频的干声子数据,以及所述目标音频的伴奏子数据之前,该处理器801可以调用存储器802中存储的程序代码,还可执行以下步骤:从服务器获取目标音频的参考时间戳与参考时间偏移值;根据所述参考时间戳与所述参考时间偏移值确定参考伴奏起始点。
在一种实现方式中,该处理器801可以调用存储器802中存储的程序代码,执行所述根据所述目标音频的参考伴奏起始点,获取所述目标音频的干声子数据的具体方式为:根据所述目标音频的参考伴奏起始点确定用于截取干声子数据的截取区间;
根据预设时长、区间移动步长以及所述截取区间从所述目标干声音频数据中截取N个干声子数据,N为大于1的正整数。
在一种实现方式中,所述音频相似度包括N个相似度,该处理器801可以调用存储器802中存储的程序代码,执行所述若所述音频相似度符合音频合成条件,则根据所述音频相似度确定目标时间偏移值的具体方式为:根据所述N个相似度中的最大相似度与最小相似度,确定相似度极差;若所述最大相似度、所述相似度极差以及所述最大相似度对应的时间偏移值符合音频合成条件,则确定所述最大相似度对应的时间偏移值为目标时间偏移值。
在一种实现方式中,该处理器801可以调用存储器802中存储的程序代码,还可执行以下步骤:若所述最大相似度大于第一阈值、所述相似度极差大于第二阈值且所述最大相似度对应的时间偏移值大于第三阈值,则确定所述最大相似度和所述相似度极差符合音频合成条件。
在一种实现方式中,该处理器801可以调用存储器802中存储的程序代码执行所述计算所述合成子音频与参考子音频之间的音频相似度的具体方式为:针对所述合成子音频提取第一音频指纹序列;将所述第一音频指纹序列与第二音频指纹序列进行相似度计算,得到音频相似度,所述第二音频指纹序列是所述参考子音频对应的参考音频指纹序列。
本发明实施例还提供一种计算机可读存储介质,可以用于存储图2或图4中所示实施例中客户端所用的计算机软件指令,其包含用于执行上述实施例中为客户端所设计的程序。上述计算机可读存储介质包括但不限于快闪存储器、硬盘、固态硬盘。
本领域普通技术人员可以意识到,结合本申请中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者通过计算机可读存储介质进行传输。计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种音频合成方法,其特征在于,所述方法包括:
获取目标音频的干声音频数据和伴奏音频数据;根据所述目标音频的参考伴奏起始点,获取所述目标音频的干声子数据,以及所述目标音频的伴奏子数据,所述干声子数据与所述伴奏子数据的时长相同;对所述干声子数据和所述伴奏子数据进行合成,得到合成子音频,所述合成子音频的时长与所述干声子数据的时长相同;
计算所述合成子音频与参考子音频之间的音频相似度,所述参考子音频与所述伴奏音频数据的伴奏起始点相同;
若所述音频相似度符合音频合成条件,则根据所述音频相似度确定目标时间偏移值;
根据所述目标时间偏移值,将所述目标音频的干声音频数据和所述伴奏音频数据进行合成,得到目标合成音频。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标音频的参考伴奏起始点,获取所述目标音频的干声子数据,以及所述目标音频的伴奏子数据之前,所述方法还包括:
从服务器获取参考伴奏起始点,所述参考伴奏起始点是根据所述目标音频的参考时间戳与参考时间偏移值确定。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标音频的参考伴奏起始点,获取所述目标音频的干声子数据,以及所述目标音频的伴奏子数据之前,所述方法还包括:
从服务器获取目标音频的参考时间戳与参考时间偏移值;
根据所述参考时间戳与所述参考时间偏移值确定参考伴奏起始点。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标音频的参考伴奏起始点,获取所述目标音频的干声子数据,包括:
根据所述目标音频的参考伴奏起始点确定用于截取干声子数据的截取区间;
根据预设时长、区间移动步长以及所述截取区间从所述目标干声音频数据中截取N个所述干声子数据,N为大于1的正整数。
5.根据权利要求4所述的方法,其特征在于,所述音频相似度包括N个相似度;
所述若所述音频相似度符合音频合成条件,则根据所述音频相似度确定目标时间偏移值,包括:
根据所述N个相似度中的最大相似度与最小相似度,确定相似度极差;
若所述最大相似度、所述相似度极差以及所述最大相似度对应的时间偏移值符合音频合成条件,则确定所述最大相似度对应的时间偏移值为目标时间偏移值。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述最大相似度大于第一阈值、所述相似度极差大于第二阈值且所述最大相似度对应的时间偏移值大于第三阈值,则确定所述最大相似度、所述相似度极差以及所述最大相似度对应的时间偏移值符合所述音频合成条件。
7.根据权利要求1所述的方法,其特征在于,所述计算所述合成子音频与参考子音频之间的音频相似度,包括:
针对所述合成子音频提取第一音频指纹序列;
将所述第一音频指纹序列与第二音频指纹序列进行相似度计算,得到音频相似度,所述第二音频指纹序列是所述参考子音频对应的参考音频指纹序列。
8.一种音频合成装置,其特征在于,包括获取单元、合成单元和处理单元:
所述获取单元,用于获取目标音频数据的干声音频数据和伴奏音频数据;根据所述目标音频的参考伴奏起始点,获取所述目标音频数据的的干声子数据,以及所述目标音频的伴奏子数据,所述干声子数据与所述伴奏子数据的时长相同;
所述合成单元,用于对所述干声子数据和所述伴奏子数据进行合成,得到合成子音频,所述合成子音频的时长与所述干声子数据的时长相同;
所述处理单元,用于计算所述合成子音频与参考子音频之间的音频相似度,所述参考子音频与所述伴奏数据的伴奏起始点相同;若所述音频相似度符合音频合成条件,则根据所述音频相似度确定目标时间偏移值;
所述合成单元,还用于根据所述目标时间偏移值,将所述目标音频的干声音频数据和所述伴奏音频数据进行合成,得到目标合成音频。
9.一种音频合成装置,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1~7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1~7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010482211.9A CN111640411B (zh) | 2020-05-29 | 2020-05-29 | 音频合成方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010482211.9A CN111640411B (zh) | 2020-05-29 | 2020-05-29 | 音频合成方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111640411A true CN111640411A (zh) | 2020-09-08 |
CN111640411B CN111640411B (zh) | 2023-04-18 |
Family
ID=72332980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010482211.9A Active CN111640411B (zh) | 2020-05-29 | 2020-05-29 | 音频合成方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111640411B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112669884A (zh) * | 2020-12-31 | 2021-04-16 | 广州酷狗计算机科技有限公司 | 音频数据处理方法、装置、设备及存储介质 |
CN113409817A (zh) * | 2021-06-24 | 2021-09-17 | 浙江松会科技有限公司 | 一种基于声纹技术的音频信号实时追踪比对方法 |
CN113571033A (zh) * | 2021-07-13 | 2021-10-29 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种伴奏回踩检测方法、设备及计算机可读存储介质 |
WO2022105221A1 (zh) * | 2020-11-17 | 2022-05-27 | 北京达佳互联信息技术有限公司 | 人声伴奏对齐方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080097754A1 (en) * | 2006-10-24 | 2008-04-24 | National Institute Of Advanced Industrial Science And Technology | Automatic system for temporal alignment of music audio signal with lyrics |
CN104361889A (zh) * | 2014-10-28 | 2015-02-18 | 百度在线网络技术(北京)有限公司 | 一种对音频文件进行处理的方法及装置 |
CN107591149A (zh) * | 2017-09-18 | 2018-01-16 | 腾讯音乐娱乐科技(深圳)有限公司 | 音频合成方法、装置及存储介质 |
CN107666638A (zh) * | 2016-07-29 | 2018-02-06 | 腾讯科技(深圳)有限公司 | 一种估计录音延迟的方法及终端设备 |
CN109859730A (zh) * | 2019-03-25 | 2019-06-07 | 北京达佳互联信息技术有限公司 | 一种音频处理方法及装置 |
-
2020
- 2020-05-29 CN CN202010482211.9A patent/CN111640411B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080097754A1 (en) * | 2006-10-24 | 2008-04-24 | National Institute Of Advanced Industrial Science And Technology | Automatic system for temporal alignment of music audio signal with lyrics |
CN104361889A (zh) * | 2014-10-28 | 2015-02-18 | 百度在线网络技术(北京)有限公司 | 一种对音频文件进行处理的方法及装置 |
CN107666638A (zh) * | 2016-07-29 | 2018-02-06 | 腾讯科技(深圳)有限公司 | 一种估计录音延迟的方法及终端设备 |
CN107591149A (zh) * | 2017-09-18 | 2018-01-16 | 腾讯音乐娱乐科技(深圳)有限公司 | 音频合成方法、装置及存储介质 |
CN109859730A (zh) * | 2019-03-25 | 2019-06-07 | 北京达佳互联信息技术有限公司 | 一种音频处理方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022105221A1 (zh) * | 2020-11-17 | 2022-05-27 | 北京达佳互联信息技术有限公司 | 人声伴奏对齐方法及装置 |
CN112669884A (zh) * | 2020-12-31 | 2021-04-16 | 广州酷狗计算机科技有限公司 | 音频数据处理方法、装置、设备及存储介质 |
CN113409817A (zh) * | 2021-06-24 | 2021-09-17 | 浙江松会科技有限公司 | 一种基于声纹技术的音频信号实时追踪比对方法 |
CN113409817B (zh) * | 2021-06-24 | 2022-05-13 | 浙江松会科技有限公司 | 一种基于声纹技术的音频信号实时追踪比对方法 |
CN113571033A (zh) * | 2021-07-13 | 2021-10-29 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种伴奏回踩检测方法、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111640411B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111640411B (zh) | 音频合成方法、装置及计算机可读存储介质 | |
US11657798B2 (en) | Methods and apparatus to segment audio and determine audio segment similarities | |
CN110880329B (zh) | 一种音频识别方法及设备、存储介质 | |
US20050143997A1 (en) | Method and apparatus using spectral addition for speaker recognition | |
CN107507626B (zh) | 一种基于语音频谱融合特征的手机来源识别方法 | |
JP2015525895A (ja) | オーディオ信号分析 | |
CN1937462A (zh) | 内容偏好得分确定方法、内容重放装置及内容重放方法 | |
CN111798821B (zh) | 声音转换方法、装置、可读存储介质及电子设备 | |
US9058384B2 (en) | System and method for identification of highly-variable vocalizations | |
CN112399247A (zh) | 一种音频处理方法、音频处理设备及可读存储介质 | |
WO2023040520A1 (zh) | 视频配乐方法、装置、计算机设备和存储介质 | |
AU2024200622A1 (en) | Methods and apparatus to fingerprint an audio signal via exponential normalization | |
CN111081249A (zh) | 一种模式选择方法、装置及计算机可读存储介质 | |
CN112116909A (zh) | 语音识别方法、装置及系统 | |
CN109271501A (zh) | 一种音频数据库的管理方法及系统 | |
Guzman-Zavaleta et al. | A robust audio fingerprinting method using spectrograms saliency maps | |
Patil et al. | Combining evidences from mel cepstral features and cepstral mean subtracted features for singer identification | |
CN112866770A (zh) | 一种设备控制方法、装置、电子设备及存储介质 | |
CN111382303B (zh) | 一种基于指纹权重的音频样例检索方法 | |
CN107025902B (zh) | 数据处理方法及装置 | |
KR101382356B1 (ko) | 오디오파일의 위변조 검출장치 | |
CN112885318A (zh) | 多媒体数据生成方法、装置、电子设备及计算机存储介质 | |
CN114386406B (zh) | 一种文本处理方法、装置、计算机设备及存储介质 | |
WO2022227037A1 (zh) | 音频处理、视频处理方法、装置、设备及存储介质 | |
CN111667803B (zh) | 一种音频处理方法及相关产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |