HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

一种音频处理方法及相关产品与流程

2021-01-28 17:01:42|379|起点商标网
一种音频处理方法及相关产品与流程

本申请涉及数据处理技术领域,尤其涉及一种音频处理方法及相关产品。



背景技术:

唱歌是现代人在日常生活中一种常见的娱乐方式,人们通过唱歌打发时间,缓解压力,联络情感,优秀的演唱者除了享受唱歌外还能在唱歌过程中收获满足感和自豪感。出于这一庞大的市场需求以及智能手机的日益普及和应用,越来越多的音乐软件以在线k歌为切入点,通过好友合唱互动的方式,聚焦音乐,为广大用户提供极致的唱歌体验和各种媲美专业调音的效果,将k歌做到极致,吸引更多的人加入使用。其中,合唱可以通过多种方式来实现,可以是多名用户同时通过音乐软件共同在线完成合唱,也可以是用户通过音乐软件各自完成歌曲的独唱,音乐软件再通过将用户上传的独唱作品其中的部分片段替换为另一用户的演唱内容,以此来实现合唱功能。

在上述的独唱转合唱的方式中,因为用户演唱的作品上传时无法同步上报用户调整的各项参数,导致音乐软件在利用这些演唱作品资源做合唱时,因为参数缺失,会出现很多问题使合唱作品在衔接处的合成效果不佳,使人的听感上会有很明显的抖变,比如伴奏版本不一致导致的偏移问题。为了应对上述问题,现有的方案采用的是基于音频指纹实现的对齐算法,利用输入音频文件听感相似,输出的相似度会越高的性质,先计算一整串音频的音频指纹,其中,音频指纹的本质是一串保存了音频信息的32比特(binarydigit,bit)无符号整型数组,再通过偏移计算得到的32bit无符号整型数组的起始位置,模拟出音频偏移的效果,从而实现音频对齐,这套对齐算法在解决伴奏偏移问题上非常有效。

但是,在伴奏偏移问题和其他问题同时存在的情况下,上述对齐算法收效甚微,如果还是按照现有的方案去比对音频指纹,即使从用户演唱的作品和原版伴奏作品截取的是同一段伴奏音频,得到的相似度还是会远低于目标阈值,这将导致对齐的结果准确度较低。



技术实现要素:

本申请实施例公开了一种音频处理方法及相关产品。在本方法中,在音频指纹的基础上做了优化,音频指纹提取需要将每一帧音频数据的短时傅里叶变换结果映射到巴克域,可以按照某个升降调的半音值在映射过程中做缩放,这样可以在不修改原音频的情况下,获得升降调对应半音值的大致音频指纹。通过本方法可以解决原先利用音频指纹相似度实现对齐在用户演唱的作品做了升降调处理之后无法生效的问题,同时可以准确提取出用户原先升降调设定的半音值,使合成过程中的计算次数更少,效率更高。

第一方面,本申请实施例提供了一种音频处理方法,该方法包括:

对原始音频分别做n种不同的音调调整,得到候选音频集合,所述候选音频集合包含n个候选音频,所述候选音频集合中的任意两个候选音频的音调相差至少一个半音,所述原始音频为人演唱的干声和原版伴奏混合处理得到的音频,所述n为正整数;

将所述候选音频集合中的各个候选音频分别与所述原版伴奏做对齐处理,得到各个所述候选音频与所述原版伴奏的对齐相似度;其中,对齐相似度用于表征所述候选音频与所述原版伴奏对齐的程度;

将所述候选音频集合中与所述原版伴奏的对齐相似度超过目标阈值的候选音频确定为目标候选音频;

对所述目标候选音频和所述原版伴奏做合成处理,得到目标音频。

在该实现方式中,可以先假定原始音频做了升降调的操作,基于此前提下,对原始音频每一个假定的升降调按照该假定的升降系数做缩放,还原成未升降调时的候选音频,再提取候选音频的音频指纹,利用对齐算法和原版伴奏的音频指纹进行对齐,如果假定的升降调的升降系数值是准确的,那么得出的候选音频的音频指纹和原版伴奏的音频指纹比对的对齐结果,对齐相似度会比其它错误的升降调的升降系数值假定得到的对齐相似度结果要大,所以在对原始音频做升降调处理的时候,可以尽可能多的假定升降调的升降系数值,使得到的候选音频集合的覆盖范围更广,更有利于得到最佳的对齐结果,接着再对得到的目标候选音频做合成处理,从而实现独唱转合唱的功能。相对于粗暴的将原始音频升降调以后再计算音频指纹和原版伴奏的音频指纹比对的做法,本方式的创新算法计算次数更少,效率更高。

在一个可选的实现方式中,所述将所述候选音频集合中的各个候选音频分别与所述原版伴奏做对齐处理,得到各个所述候选音频与所述原版伴奏的对齐相似度,包括:

计算所述候选音频集合中各个候选音频的音频指纹,以及计算所述原版伴奏的音频指纹;

从所述候选音频的音频指纹中截取至少两个子音频指纹,所述至少两个子音频指纹的长度均与所述原版伴奏的音频指纹的长度相同;

分别计算所述至少两个子音频指纹与所述原版伴奏的音频指纹的相似度,得到至少两个相似度;

将所述至少两个相似度中较大的一个相似度确定为所述候选音频与所述原版伴奏的对齐相似度。

在该实现方式中,先计算候选音频集合中的各个候选音频的音频指纹和原版伴奏的音频指纹,再通过从候选音频的音频指纹中截取至少两个长度和原版伴奏的音频指纹一致的子音频指纹,再对该子音频指纹和原版伴奏的音频指纹对齐,将较高的相似度确定为候选音频与原版伴奏的对齐相似度,因为音频指纹的本质是一串保存了音频信息的三十二比特无符号整型数组,故可以通过音频指纹的偏移模拟出实际音频数据偏移比对的效果,并且节省计算次数,使对齐处理的效率更高。

在一个可选的实现方式中,所述从所述候选音频的音频指纹中截取至少两个子音频指纹,包括:

从所述候选音频的音频指纹中截取至少两个长度与所述原版伴奏的音频指纹的长度相同的子音频指纹,得到所述至少两个子音频指纹,所述至少两个子音频指纹在所述候选音频的音频指纹中的位置不同。

在该实现方式中,通过每次截取位置不一样的子音频指纹,再和原版伴奏的音频指纹比对得到对齐的相似度,可以找到相似度较高的子音频指纹的位置,可以从候选音频的音频指纹的起始位置开始,按照每次一个三十二比特无符号整型的偏移量进行偏移,直至偏移到候选音频的音频指纹的末尾位置停止,每次偏移后截取长度和原版伴奏的音频指纹一致的子音频指纹,通过这种方式可以使最后对齐的结果准确度和可信度高。

在一个可选的实现方式中,所述对原始音频分别做n种不同的音调调整包括:

按照升降系数对所述原始音频上升或下降至少一个半音,所述升降系数的值与上升或下降的半音的个数成正比。

在该实现方式中,允许在规定的范围内对原始音频进行升调或降调,升调和降调每次调节的粒度至少为一个半音,通过升降系数确定升降调的范围,升降系数的绝对值越大,表示音调调节的半音个数越多,以此准确的找到原始音频的假定的升降系数值,在理想情况下,对于每个假定的升降系数值所对应的候选音频指纹与原版伴奏的音频指纹的对齐相似度的变化曲线,曲线的顶峰明显且唯一,而且在升降调结果的附近对齐相似度的值有一个抖变。

在一个可选的实现方式中,所述计算所述候选音频集合中各个候选音频的音频指纹,以及计算所述原版伴奏的音频指纹,包括:

对各个所述候选音频做分帧处理,逐帧计算所述候选音频的音频指纹;

对所述原版伴奏做分帧处理,逐帧计算所述原版伴奏的音频指纹。

在该实现方式中,先对要计算的音频做分帧处理,然后再计算每一帧音频的音频指纹,分帧处理可以采用不同的分帧方案,本方式可优先采用帧长为4096个采样点,帧移1/32帧长的方案,计算每一帧音频的音频指纹的主要实现方式为对每帧信号做加窗处理,然后做傅立叶变换,计算每一个频点的幅频,得到语谱图,经差分处理之后得到一个三十二维的向量,依此逐帧计算音频指纹,得到一个32比特无符号整型数组,用于存储音频的相关信息。

在一个可选的实现方式中,所述对所述目标候选音频和所述原版伴奏做合成处理,得到目标音频包括:

将所述目标候选音频的第一音频片段用所述原版伴奏的第二音频片段代替,得到所述目标音频,所述第一音频片段的起始时间和片段时长分别与所述第二音频片段的起始时间和片段时长一致。

在该实现方式中,通过将原始音频和原版伴奏对齐,再进行部分音频片段的替换,可以帮助我们合成出新的合唱作品时,在衔接处更加自然,使人耳几乎无法感知,一定程度上做到无缝混接。

在本申请实施例中,为了应对对齐处理在用户演唱的作品做了升降调处理之后无法生效的问题,需要提前对原始音频和现有曲库对应的伴奏进行比对,提取关键信息用以设定合成合唱时的各项参数,并且在音频指纹的基础上做了优化,音频指纹提取需要将每一帧音频数据的短时傅里叶变换结果映射到巴克域,可以按照某个升降调的半音值在映射过程中做缩放,这样可以在不修改原音频的情况下,获得升降调对应半音值的大致音频指纹,然后再对升降调之后的音频指纹做对齐处理,从而实现原始音频和原版伴奏的对齐。

第二方面,本申请实施例提供了一种装置,该装置包括:

调音单元,用于对原始音频分别做n种不同的音调调整,得到候选音频集合,所述候选音频集合包含n个候选音频,所述候选音频集合中的任意两个候选音频的音调相差至少一个半音,所述原始音频为人演唱的干声和原版伴奏混合处理得到的音频,所述n为正整数;

对齐单元,用于将所述候选音频集合中的各个候选音频分别与所述原版伴奏做对齐处理,得到各个所述候选音频与所述原版伴奏的对齐相似度;其中,对齐相似度用于表征所述候选音频与所述原版伴奏对齐的程度;

确定单元,用于将所述候选音频集合中与所述原版伴奏的对齐相似度超过目标阈值的候选音频确定为目标候选音频;

合成单元,用于对所述目标候选音频和所述原版伴奏做合成处理,得到目标音频。

在一个可选的实现方式中,所述装置还包括:

计算单元,用于计算所述候选音频集合中各个候选音频的音频指纹,以及计算所述原版伴奏的音频指纹;

截取单元,用于从所述候选音频的音频指纹中截取至少两个子音频指纹,所述至少两个子音频指纹的长度均与所述原版伴奏的音频指纹的长度相同;

所述计算单元,还用于分别计算所述至少两个子音频指纹与所述原版伴奏的音频指纹的相似度,得到至少两个相似度;

所述确定单元,还用于将所述至少两个相似度中较大的一个相似度确定为所述候选音频与所述原版伴奏的对齐相似度。

在一个可选的实现方式中,所述截取单元,具体用于从所述候选音频的音频指纹中截取至少两个长度与所述原版伴奏的音频指纹的长度相同的子音频指纹,得到所述至少两个子音频指纹,所述至少两个子音频指纹在所述候选音频的音频指纹中的位置不同。

在一个可选的实现方式中,所述调音单元,具体用于按照升降系数对所述原始音频上升或下降至少一个半音,所述升降系数的值与上升或下降的半音的个数成正比。

在一个可选的实现方式中,所述计算单元,具体用于对各个所述候选音频做分帧处理,逐帧计算所述候选音频的音频指纹;对所述原版伴奏做分帧处理,逐帧计算所述原版伴奏的音频指纹。

在一个可选的实现方式中,所述合成单元,具体用于将所述目标候选音频的第一音频片段用所述原版伴奏的第二音频片段代替,得到所述目标音频,所述第一音频片段的起始时间和片段时长分别与所述第二音频片段的起始时间和片段时长一致。

第三方面,本申请实施例提供了一种音频处理设备,包括处理器、存储器;所述处理器被配置为支持所述音频处理设备执行上述第一方面以及上述第一方面中可选的实现方式的方法中相应的功能。所述存储器保存所述音频处理设备必要的程序(指令)和数据。可选的,所述音频处理设备还可以包括输入/输出接口,用于支持所述音频处理设备与其他设备之间的通信。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如上述第一方面以及上述第一方面中可选的实现方式的方法。

第五方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面及其任一种可选的实现方式的方法。

在本申请中,对于同一段升降调处理之后的音频,使用音频编辑软件做频率分析时可以发现,音频指纹整体是按照升降调的系数做了缩放,利用这个特性,可以依据假设做的升降调的修改,将傅立叶变换的结果乘上对应的升降系数,还原成未升降调时的傅立叶变换的结果,再通过偏移音频指纹的起始位置,模拟出音频指纹偏移的效果,和原版伴奏的音频指纹比对,计算对齐相似度,通过判断较大的对齐相似度从而确定目标候选音频,实现与原版伴奏的对齐。

附图说明

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

图1为本申请实施例提供的一种音频处理方法的流程示意图;

图2为本申请实施例提供的另一种音频处理方法的流程示意图;

图2a为本申请实施例提供的一种音频指纹对齐相似度的曲线示意图;

图2b为本申请实施例提供的另一种音频指纹对齐相似度的曲线示意图;

图2c为本申请实施例提供的又一种音频指纹对齐相似度的曲线示意图;

图3为本申请实施例提供的一种音频处理装置的结构示意图;

图4为本申请实施例提供的一种终端设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请实施例方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。

本申请的说明书实施例和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或优先级。本申请的说明书实施例和权利要求书中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本申请实施例提供了一种音频处理方法,为更清楚的描述本申请的方案。下面先介绍一些与音频处理相关的知识。

感知哈希算法(perceptualhashalgorithm,pha):是一类比较哈希方法的统称,主要用来做相似图片的搜索工作,图片所包含的特征被用来生成一组指纹(不过它不是唯一的),而这些指纹是可以进行比较的。这种算法的优点是简单快速,无论你改变图片的高宽、亮度甚至颜色,都不会改变哈希值。基于感知pha的优越性,对其在音频上的应用也是现在研究的一个新的方向和热点,其目的是以感知可理解的多媒体内容特征为基础,生成紧密的多媒体信息的数字摘要。音频感知哈希算法主要是感知特征提取(perceptualfeatureextraction)。感知特征的提取以人类感知模型为基础,分析提取媒体对象对于各种内容保持操作的不变量,对多媒体对象进行如分帧、滤波等处理,提高特征选择的准确性,而各种变换则去除信息冗余,与人类感知模型保持一致,以提取最具有感知意义的特征参数。感知哈希函数是基于认知心理学的信息加工理论,由多媒体数据集到多媒体感知摘要集的一类单向映射,将具有相同感知内容的多媒体数字表示唯一的映射为一段数字摘要,并满足感知安全性要求。记感知哈希函数为:ph(x),生成的数字摘要称为感知哈希值为m,原语音序列为n,即满足影射:ph:n→m。感知哈希函数能对语音的感知内容进行处理、分析,实现了独立于数据表示的感知摘要提取。通过与其他多媒体处理技术相互结合,综合运用,感知哈希函数可为各种音频信息服务提供技术支撑。与此同时,感知哈希的安全特性,可以确保服务提供商将所提供的服务确实给予了应该得到服务的用户,服务不受影响,避免恶意用户侵占合法用户的资源,使得语音信息服务提供更加安全可靠。

巴克域(barkscale):是较早提出来的一种声音的心理学尺度。临界频带(criticalband)是听觉学和心理声学的专业名词,耳蜗是内耳中听觉的传感器官,临界频带指的是由于耳蜗构造产生的听觉滤波器的频率带宽。概括地说,临界频带是声音频率带,在临界频带中第一个单音感知性会被第二单音的听觉掩蔽所干扰。声学研究中,人们使用听觉滤波器来模拟不同的临界频带。后来研究者发现人耳结构大致会对24个频率点产生共振,根据这个结论,针对人耳特殊结构提出:信号在频带上也呈现出24个临界频带,分别从1到24。这就是bark域,总体来说在bark域中能够更加真实地反应人耳对信号产生的感觉,对于声音处理的多个环节都有重要的作用。

短时傅立叶变换(short-timefouriertransform或short-termfouriertransform,stft):是和傅立叶变换相关的一种数学变换,用以确定时变信号其局部区域正弦波的频率与相位。它的思想是:选择一个时频局部化的窗函数,假定分析窗函数g(t)在一个短时间间隔内是平稳(伪平稳)的,移动窗函数,使f(t)g(t)在不同的有限时间宽度内是平稳信号,从而计算出各个不同时刻的功率谱。短时傅立叶变换使用一个固定的窗函数,窗函数一旦确定了以后,其形状就不再发生改变,短时傅立叶变换的分辨率也就确定了,如果要改变分辨率,则需要重新选择窗函数。

语谱图:就是语音频谱图,一般是通过处理接收的时域信号得到频谱图,因此只要有足够时间长度的时域信号就可。如果针对语音数据的话,叫语谱图,是音频信号短时频谱变换后的二维能量图。语谱图的横坐标是时间,纵坐标是频率,坐标点值为语音数据能量。由于是采用二维平面表达三维信息,所以能量值的大小是通过颜色来表示的,颜色深,表示该点的语音能量越强。

下面结合本申请实施例中的附图对本申请实施例进行描述。

请参阅图1,图1为本申请实施例提供的一种音频处理方法的流程示意图。

101、对原始音频分别做n种不同的音调调整,得到候选音频集合。

用户上传的原始音频可能存在升降调处理,如果原始音频的升降调处理真实存在,那么传统的基于音频指纹的对齐算法将收效甚微,对齐相似度的峰值很可能会远低于预期的效果,使对齐结果不可信。在对同一段原始音频升降调处理后,使用音频编辑软件做频率分析时可以发现,音频整体是按照预设的升降调系数做了缩放,利用这个特性,可以依据假设做的升降调的修改,将原始音频的音调乘以对应假设的升降调系数,还原成原本未做升降调时的音调,经过升降调处理之后再和原版伴奏做对齐处理,上述原始音频为人演唱的干声和原版伴奏混合处理得到的音频。

可以对原始音频分别做n种不同的音调调整,调整覆盖的范围越大,越有可能使还原的音调接近原始音频未做升降调时的音调。在本实施例中,为方便说明,暂且将原始音频在升降一个八度的范围内进行音调调整,一个八度为12个半音,每次音调调整的粒度至少为一个半音,经过调整后得到候选音频集合,候选音频集合包含n个候选音频。在原始音频升降一个八度的范围内,对于每个升降系数所需调整的半音个数,都可以在上述n个候选音频中找到对应的调整之后的候选音频,上述候选音频集合中的任意两个候选音频的音调相差至少一个半音。

102、将候选音频集合中的各个候选音频分别与原版伴奏做对齐处理,得到各个候选音频与原版伴奏的对齐相似度。

由步骤101可知,通过对原始音频分别做n种不同的音调调整,可以得到包含n个候选音频的候选音频集合。在本步骤中,将对上述候选音频集合中的各个候选音频分别与原版伴奏做对齐处理,该对齐处理可以是比对二者的音频指纹,得到多个对齐相似度,每个对齐相似度表征与之对应的候选音频和原版伴奏的对齐程度。

由于候选音频集合中包含了n个候选音频,且需要将每一个候选音频和原版伴奏做对齐处理,为了使说明更为方便简洁,在本实施例中将从候选音频集合中随机抽取一个候选音频作为第一候选音频,后续将以对第一候选音频与原版伴奏做对齐处理为例进行说明,其中,该第一候选音频为上述候选音频集合中的任意一个候选音频,该对齐处理的主要流程包括计算第一候选音频的音频指纹和原版伴奏的音频指纹,从第一候选音频的音频指纹中截取至少两个子音频指纹,至少两个子音频指纹的长度均与原版伴奏的音频指纹的长度相同;分别计算至少两个子音频指纹与原版伴奏的音频指纹的相似度,得到至少两个相似度;将至少两个相似度中较大的一个相似度确定为第一候选音频与原版伴奏的对齐相似度。

按照上述第一候选音频和原版伴奏的对齐处理,将候选音频集合中的各个候选音频分别与原版伴奏做上述的对齐处理,可以得到各个候选音频与原版伴奏的对齐相似度。

103、将候选音频集合中与原版伴奏的对齐相似度超过目标阈值的候选音频确定为目标候选音频。

由上述步骤102可得到各个候选音频与原版伴奏的对齐相似度,在本步骤中,将候选音频集合中与原版伴奏的对齐相似度超过目标阈值的候选音频确定为目标候选音频。

由上述步骤102可知,候选音频集合中任一候选音频与原版伴奏的对齐相似度表征任一候选音频与原版伴奏对齐的程度。同样的,本步骤还是以第一候选音频为例进行说明,该第一候选音频为从候选音频集合中随机抽取的一个候选音频,故这里的第一候选音频可以认为是上述候选音频集合中的任意一个候选音频。如果第一候选音频与原版伴奏的对齐相似度超过了上述目标阈值,则可将第一候选音频确定为目标候选音频,表示该第一候选音频即为候选音频集合中和原版伴奏对齐程度最高的候选音频。

其中,目标阈值的设置须是一个合理且正确的值,因为音频指纹有一个特性在于,无论比对的两段音频经过了何种处理,一定会给出一个比对的相似度结果,哪怕比对的两段音频毫无关联,这意味着目标阈值的选定是非常重要的,是辅助选择实验可靠结果的重要依据,而且不同场景下目标阈值的划定标准是不同的。因此,在经过大量的测试样本之后,可以得出结论:在利用音频指纹对两段音频做对齐处理的场景下,0.6是一个非常重要的相似度阈值,其中,相似度的范围为从0到1,因此,我们可以在上述场景下将目标阈值的值设定为0.6。在利用音频指纹去做音频对齐处理的这个场景下,任何低于0.6的对齐结果都可以认为是不可信的,因为在前期的一系列操作中已经对音频指纹的对齐相似度进行了限定,故而用于做对齐的两段音频在对齐的时候相似度会非常高。

基于这样的一个大前提下,在计算音频指纹的时候,假定原始音频做了一个升降调的操作,然后对其音调还原,得到的音频指纹和原版伴奏的音频指纹比对的对齐结果,相似度会比其他错误的音调假定得到的相似度结果要大。在理想情况下,每个假定半音值的对齐结果相似度的变化曲线的顶峰是明显且唯一的,该顶峰值也是大于上述目标阈值的,在正确升降调结果的附近相似度有一个抖变。经过大量的测试数据也可得知,当假定一个升降半音值进行对齐之后,对齐结果的相似度大于目标阈值时,那么真实升降调的升降半音值应当在这个假定的半音值升降一个半音的范围以内。

104、对目标候选音频和原版伴奏做合成处理,得到目标音频。

依据目标候选音频的音频数据和原版伴奏的音频数据,将目标候选音频的部分片段用原版伴奏的部分片段代替,得到目标音频,目标候选音频的部分片段在目标候选音频中的起始时间和片段时长分别与原版伴奏的部分片段在原版伴奏中的起始时间和片段时长一致。可以对多个原始音频处理之后得到的多个目标候选音频分别做上述合成处理,可以得到一个混合了多个不同原始音频的音频片段的目标音频,从而实现独唱转合唱的技术效果,且通过对上述处理后得到的目标候选音频与原版伴奏的合成,可以使合成的目标音频听感上更加自然,人耳几乎无法感知,很大程度上实现了无缝混接的效果。

请参阅图2,图2为本申请实施例提供的另一种音频处理方法的流程示意图。

201、接收客户端传入的原始音频的音频数据和原版伴奏的音频数据。

接收客户端传入的原始音频的音频数据和原版伴奏的音频数据,其中,音频数据包括了音频的qrc信息,qrc信息使以qrc为扩展名的歌词文件可以在音乐播放器中同步显示,这种歌词文件可以用来实现卡拉ok功能,并且歌词显示精准定位到逐字,使歌词同步显示更准确,彻底改善传统lrc歌词显示不准确的问题,上述原始音频为人演唱的干声和原版伴奏混合处理得到的音频。

202、对原始音频做音调调整,得到候选音频集合。

在对同一段原始音频升降调处理后,使用音频编辑软件做频率分析时可以发现,音频整体是按照预设的升降调系数做了缩放,利用这个特性,可以依据假设做的升降调的修改,将原始音频的音调乘以对应假设的升降调系数,还原成原本未做升降调时的音调,经过升降调处理之后再和原版伴奏做对齐处理。可以对原始音频分别做不同的音调调整,调整覆盖的范围越大,越有可能使还原的音调接近原始音频未做升降调时的音调。因此,可以按照升降系数对原始音频上升或下降至少一个半音,上述升降系数的值与上升或下降的半音的个数成正比。具体的,升降系数可以为:

其中,n为正整数,表征从降调n个半音至升调n个半音的范围内对音频做升降调处理;k为整数,且-n≤k≤n,表征对音频升调或降调k的绝对值个半音数,k为正数表征升调处理,k为负数表征降调处理。

在一个可选的实现方式中,在升降一个八度的范围内对原始音频做升降调处理,每次升降调调节的粒度为一个半音,其中,一个八度为12个半音。具体的,升降系数可以表示为:

其中,-12≤k≤12且k为整数,表征对音频升调或降调k的绝对值个半音数,k为正数表征升调处理,k为负数表征降调处理。

在本实施例中,为方便说明,暂且将原始音频在升降一个八度的范围内进行音调调整,在对原始音频分别按照上述的升降系数做音调调整之后,得到候选音频集合,该候选音频集合包含了至少两个候选音频。在原始音频升降一个八度的范围内,对于每个升降系数所需调整的半音个数,都可以在上述候选音频集合中找到对应的调整之后的候选音频,上述候选音频集合中的任意两个候选音频的音调相差至少一个半音。

203、计算候选音频集合中的各个候选音频的音频指纹和原版伴奏的音频指纹。

由上述步骤202可知得到的候选音频集合中包含多个候选音频,本步骤将对该候选音频集合中的各个候选音频分别与原版伴奏做对齐处理,该对齐处理可以是比对二者的音频指纹。

因为候选音频集合中包含了多个候选音频,且需要计算候选音频集合中的每一个候选音频以及原版伴奏,为了使说明更为方便简洁,在本实施例将从候选音频集合中随机抽取一个候选音频作为第一候选音频,后续将以计算第一候选音频的音频指纹和原版伴奏的音频指纹为例进行说明,其中,该第一候选音频表示的是上述候选音频集合中的任意一个候选音频。音频指纹的计算流程主要包括对音频分帧处理,分帧处理可以采用不同的分帧方案,视具体场景不同而不同,然后逐帧计算音频的音频指纹。因为第一候选音频的音频指纹的计算方法和原版伴奏的音频指纹的计算方法原理相同,故下面仅以第一候选音频的音频指纹的计算过程展开详细说明,同理可计算原版伴奏的音频指纹。

音频信号整体上不稳定,但局部上可以看作是稳定的,在之后的音频处理中,需要输入一个稳定的音频信号,所以需要对整个音频信号进行分帧处理,即将其分割成多个片段,例如,可以利用感知哈希算法计算第一候选音频的音频指纹可以选用帧长为4096个采样点,帧移1/32帧长的分帧方案。通过上述分帧方案将第一候选音频分帧处理,对每帧音频信号做加窗处理,按上述方法加窗后,每一帧音频的开始和结束都会出现间断,因此分割的帧越多,与原始音频的误差就越大,加窗就是为了解决该问题,使成帧后的信号变得连续,并且每一帧都会表现出周期函数的特性,在音频信号处理中,通常会增加汉明窗,这里的加窗处理选用的窗函数也是汉明窗,具体的,可以表示为:

其中,i表征样点索引,n表征窗长,此处n=512。

经过加窗处理之后的音频信号可以表示为:

xwn(ln+i)=x(i)·w(i)

其中,0≤i≤n-1,n表征加窗后的第n帧信号,l表征帧移,此处l=256;i表征第n帧信号内n个样点从0开始的索引。

加窗之后将得到的结果做短时傅立叶变换,具体的,变换的结果可以表示为:

其中,x(n,k)表征第n帧信号的短时傅立叶变换后的音频信号结果,(n,k)表征第n帧的第k个频率点。

根据短时傅立叶变换后的音频信号结果,计算每一个频点的幅频,得到语谱图,具体的,幅频的计算可以表示为:

p(n,k)=|x(n,k)|2

经过巴克滤波组处理之后,将得到的每个幅频结果映射到巴克域,得到一个描述三十三个频段能量大小的向量,再对其差分处理之后得到一个三十二维的向量,差分处理是将三十三个巴克频带的结果,每个减去前一个,类似的,第二个减去第一个,第三个减去第二个,以此类推,三十三个巴克频带的差分就是三十二个值,可以用1描述增长,0描述下降,三十二个比特对应着三十二个差分结果。每一帧的音频指纹都是基于这个差分向量计算的,得到的结果可以用一个三十二比特无符号整型来描述,具体的,可以表示为:

其中,0≤m<33,n表征加窗后的第n帧音频信号,m表征第m个频带,e(n,m)表征第n帧信号在第m个频带上的能量,f(n,m)表征第n帧信号的子音频指纹上第m个比特位的结果。

依上述的计算流程,逐帧计算子音频指纹,可以得到一个三十二比特无符号整型数组,用于存储音频的相关信息,即计算得到的该三十二比特无符号整型数组为上述第一候选音频的音频指纹。

按照上述计算第一候选音频的音频指纹的方法,可以计算得到候选音频集合中的各个候选音频的音频指纹以及原版伴奏的音频指纹。

204、从候选音频的音频指纹中截取至少两个子音频指纹。

通过上述步骤203的方法可以计算得到候选音频集合中的各个候选音频的音频指纹以及原版伴奏的音频指纹,在本步骤中,将从候选音频集合中的每一个候选音频的音频指纹中截取至少两个子音频指纹。同样的,为了使说明更为方便简洁,本步骤还是以第一候选音频为例进行说明,该第一候选音频为从候选音频集合中随机抽取的一个候选音频,故这里的第一候选音频可以认为是上述候选音频集合中的任意一个候选音频。

因为音频指纹的本质为一个三十二比特无符号整型数组,故可以将第一候选音频的音频指纹的任意位置作为起始点截取子音频指纹,可得到至少两个子音频指纹,上述第一候选音频中截取的至少两个子音频指纹的长度与原版伴奏的音频指纹的长度均一致,且任意子音频指纹的截取起始点在第一候选音频中的位置相差至少一个三十二比特无符号整型。为了使得到的多个子音频指纹的并集可以覆盖整个第一候选音频的音频指纹,可以从第一候选音频的音频指纹的起始位置开始截取子音频指纹,截取的子音频指纹长度与原版伴奏的音频指纹的长度一致,之后再从第一候选音频的音频指纹的起始位置开始往后偏移一个三十二比特无符号整型,以偏移后的位置为起始点截取下一个子音频指纹,该子音频指纹的长度同样与原版伴奏的音频指纹的长度一致,如此重复连续执行上述的偏移操作和截取操作,每次的偏移量均为一个三十二比特无符号整型,每次截取都是以偏移后的位置为起始点开始截取子音频指纹,每次截取的子音频指纹均与原版伴奏的音频指纹的长度一致,直到截取的子音频指纹的位置为第一候选音频的音频指纹的最后一个音频指纹长度,停止偏移操作和截取操作。通过上述的截取方法可以得到第一候选音频中的多个子音频指纹,且这多个子音频指纹的并集涵盖了第一候选音频的音频指纹截取后可能得到的每一种结果,使之后计算相似度的结果准确性更高。

上述截取子音频指纹是通过音频指纹的偏移模拟出实际音频数据偏移比对的效果,可以节省计算次数,效率更高。具体的,一个三十二比特无符号整型的偏移,代表的音频数据的偏移可以表示为:

t=win_hop/samplerate

其中,win_hop表征音频指纹的帧移,samplerate表征第一候选音频和原版伴奏的采样率,t的单位为秒。

按照上述从第一候选音频的音频指纹中截取至少两个子音频指纹的方法,可以对候选音频集合中的每一个候选音频截取至少两个子音频指纹。

205、分别计算从上述候选音频中截取的至少两个子音频指纹与原版伴奏的音频指纹的相似度。

通过上述步骤204的方法可以对候选音频集合中的每一个候选音频截取至少两个子音频指纹,在本步骤中,将分别计算从上述候选音频中截取的至少两个子音频指纹与原版伴奏的音频指纹的相似度。同样的,为了使说明更为方便简洁,本步骤还是以第一候选音频为例进行说明,该第一候选音频为从候选音频集合中随机抽取的一个候选音频,故这里的第一候选音频可以认为是上述候选音频集合中的任意一个候选音频。

将从上述第一候选音频中截取得到的多个子音频指纹分别与原版伴奏的音频指纹比对,计算他们的相似度,该相似度表征二者对齐的程度,相似度的值越大表示二者对齐的程度越高。每一个截取的子音频指纹都有一个与之对应的相似度的值,而每一个子音频指纹都是在不同偏移量的情况下截取得到的,所以每一个偏移量都对应着一个相似度的值。

具体的对应关系可参阅图2a,图2a为本申请实施例提供的一种音频指纹对齐相似度随偏移量变化的曲线示意图。如图2a所示,该曲线图的横坐标表示第一候选音频中的截取起始点的偏移量的值,纵坐标表示在该偏移量的情况下从第一候选音频中截取得到的音频指纹和原版伴奏的音频指纹的相似度。由图2a可知,随着偏移量的变化,相似度的值也在平稳变化,在某个偏移量值的情况下,相似度值呈现为一个大于相似度阈值的顶峰值,在不同的场景下相似度阈值也不同,通过对相似度阈值的合理设置可使该顶峰值在曲线图中为唯一的峰值,而顶峰值对应的偏移量为最佳偏移量,表示在该最佳偏移量下从第一候选音频中截取得到的子音频指纹和原版伴奏的音频指纹的对齐程度最高。上述相似度变化的曲线图为理想情况下得到的,该理想情况是通过本实施例中的步骤202实现的,即通过对原始音频做音调调整,使得用于做比对的两段音频指纹在对齐的时候相似度会非常高,从而有效消除了升降调处理操作给音频指纹的比对结果带来偏差的影响。

在此本申请实施例还提供另一种音频指纹对齐相似度随偏移量变化的曲线示意图,具体的可参阅图2b。如图2b所示,该曲线图的横坐标表示截取起始点的偏移量的值,纵坐标表示在该偏移量的情况下截取得到的音频指纹和原版伴奏的音频指纹的相似度,随着偏移量的变化,相似度的值也在不断变化,但不同于图2a中平稳的变化情况,图2b中的曲线起伏较大,并且起伏范围覆盖了全部情况下的偏移量,并没有出现类似图2a中明显且唯一的顶峰值,故而较难准确判断出最佳偏移量,这种相似度变化的曲线图为非理想情况下得到的,该非理想情况正是由于客户端传入的原始音频的音调和原版伴奏相比存在升降调操作,且目前的音频处理方法缺少执行本实施例中的步骤202,即没有对客户端传入的原始音频做相应的升降调处理,导致在这种情况下利用音频指纹去和原版伴奏的音频指纹比对得到的相似度会非常低,对齐结果不可信。

按照上述分别计算从第一候选音频中截取的至少两个子音频指纹与原版伴奏的音频指纹的相似度的方法,可以分别计算从上述候选音频集合中的每一个候选音频中截取的至少两个子音频指纹与原版伴奏的音频指纹的相似度。

206、将上述得到的至少两个相似度中较大的一个相似度确定为上述候选音频与原版伴奏的对齐相似度。

通过上述步骤205的方法可以分别计算从上述候选音频集合中的每一个候选音频中截取的至少两个子音频指纹与原版伴奏的音频指纹的相似度。在本步骤中,将上述得到的至少两个相似度中较大的一个相似度确定为上述候选音频与原版伴奏的对齐相似度。同样的,为了使说明更为方便简洁,本步骤还是以第一候选音频为例进行说明,该第一候选音频为从候选音频集合中随机抽取的一个候选音频,故这里的第一候选音频可以认为是上述候选音频集合中的任意一个候选音频。

通过分别计算从上述第一候选音频中截取得到的多个子音频指纹与原版伴奏的音频指纹的相似度,可以得到多个相似度结果,每一个相似度结果表示该子音频指纹在一定的偏移量的情况下和原版伴奏的音频指纹的对齐程度大小,比较得到的多个相似度结果,将上述的多个相似度结果中较大的一个相似度确定为第一候选音频与原版伴奏的对齐相似度。该对齐相似度即为图2a中大于相似度阈值的峰值,该峰值下对应的偏移量为最佳偏移量,表示第一候选音频在偏移该最佳偏移量的情况下和原版伴奏的对齐程度最高。

需要注意的是,本实施例中的步骤203至步骤206阐述的都是针对候选音频集合中的第一候选音频执行的一系列操作,从而得到该第一候选音频在最佳偏移量下与原版伴奏的对齐相似度,且本实施例中的第一候选音频可以为候选音频集合中的任意一个候选音频。故在实际的应用场景中,对于候选音频集合中的任意一个候选音频均可以执行上述步骤203至步骤206中的一系列操作,从而得到候选音频集合中的每个候选音频在各自的最佳偏移量下与原版伴奏的对齐相似度结果,具体的相似度对齐结果可参阅图2c。

如图2c所示,横坐标表示对原始音频按升降系数进行升降调的半音值,具体的,横坐标上的每一个升降调的半音值都可以对应到候选音频集合中的某个候选音频,对应到的某个候选音频即为原始音频按照该半音值进行升降调处理之后得到的候选音频,纵坐标表示在升降了某个半音值的情况下得到的候选音频偏移最佳偏移量时与原版伴奏的对齐程度大小。图2c是在对原始音频升降一个八度的范围内,从降八度开始,按照一个半音的粒度去逐个和原始音频比对,得到的升降一个八度的范围内每个半音值情况下与原始音频的最佳对齐相似度,该最佳对齐相似度为将该候选音频偏移了最佳偏移量的情况下和原始音频比对得到的相似度结果。结合图2c,可以看出,图2c中的曲线有一个显而易见的顶峰,该顶峰对应的纵坐标即为超过目标阈值的最佳对齐相似度,该顶峰对应的横坐标即为对原始音频进行升降调的最佳半音值,相应的对原始音频进行升降该最佳半音值可得到目标候选音频。

通过执行上述步骤203至步骤206,可得到候选音频集合中的每一个候选音频与原版伴奏的对齐相似度,其中,对齐相似度超过目标阈值的那个候选音频即为目标候选音频,此处再以第一候选音频为例,如果该第一候选音频的对齐相似度超过目标阈值,则将第一候选音频确定为目标候选音频,此时,图2c中的顶峰的纵坐标表示的是第一候选音频与原版伴奏的对齐相似度,图2c中的顶峰的横坐标表示的是对原始音频进行升降调的最佳半音值,相应的对原始音频进行升降该最佳半音值即可得到第一候选音频,进一步地,该顶峰值表示的对齐相似度是在上述图2a中的最佳偏移量的情况下截取第一候选音频得到的子音频指纹和原版伴奏的音频指纹的相似度结果。

由图可知该曲线的顶峰为一个大于相似度阈值的顶峰值,且正确升降调结果的附近相似度有一个抖变,经过大量的测试数据可得该相似度阈值为0.6,当假定升降一个半音值后的候选音频与原始音频进行对齐之后,最佳对齐结果的相似度大于0.6时,那么真实升降调的半音值就在这个假定的半音值升降一个半音的范围以内。

按照上述将得到的至少两个相似度中较大的一个相似度确定为上述候选音频与原版伴奏的对齐相似度的方法,可以确定候选音频集合中的每一个候选音频与原版伴奏的对齐相似度。

207、将对齐相似度超过目标阈值的候选音频确定为目标候选音频。

由上述步骤203至步骤206可知,可得到候选音频集合中的每一个候选音频与原版伴奏的对齐相似度,其中,对齐相似度超过目标阈值的那个候选音频即为目标候选音频。还是以第一候选音频为例,该第一候选音频可以为候选音频集合中的任意一个候选音频,如果该第一候选音频的对齐相似度超过目标阈值,则将第一候选音频确定为目标候选音频。

208、对目标候选音频和原版伴奏做合成处理,得到目标音频。

步骤208对应于步骤103。

上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。

请参阅图3,图3为本申请实施例提供的一种装置的结构示意图,该装置包括:调音单元31、对齐单元32、确定单元33、合成单元34、计算单元35以及截取单元36。其中:

调音单元31,用于对原始音频分别做n种不同的音调调整,得到候选音频集合,候选音频集合包含n个候选音频,候选音频集合中的任意两个候选音频的音调相差至少一个半音,原始音频为人演唱的干声和原版伴奏混合处理得到的音频,n为正整数;

对齐单元32,用于将候选音频集合中的各个候选音频分别与原版伴奏做对齐处理,得到各个所述候选音频与所述原版伴奏的对齐相似度;其中,对齐相似度用于表征候选音频与原版伴奏对齐的程度;

确定单元33,用于将所述候选音频集合中与所述原版伴奏的对齐相似度超过目标阈值的候选音频确定为目标候选音频;

合成单元34,用于对目标候选音频和原版伴奏做合成处理,得到目标音频。

进一步地,上述计算单元35,用于计算所述候选音频集合中各个候选音频的音频指纹,以及计算原版伴奏的音频指纹;

上述截取单元36,用于从候选音频的音频指纹中截取至少两个子音频指纹,至少两个子音频指纹的长度均与原版伴奏的音频指纹的长度相同;

上述计算单元35,还用于分别计算至少两个子音频指纹与原版伴奏的音频指纹的相似度,得到至少两个相似度;

上述确定单元33,还用于将至少两个相似度中较大的一个相似度确定为目标候选音频与原版伴奏的对齐相似度。

进一步地,上述截取单元36,具体用于从候选音频的音频指纹中截取至少两个长度与原版伴奏的音频指纹的长度相同的子音频指纹,得到至少两个子音频指纹,至少两个子音频指纹在候选音频的音频指纹中的位置不同。

进一步地,上述调音单元31,具体用于按照升降系数对原始音频上升或下降至少一个半音,升降系数的值与上升或下降的半音的个数成正比。

进一步地,上述计算单元35,具体用于对各个候选音频做分帧处理,逐帧计算候选音频的音频指纹;对原版伴奏做分帧处理,逐帧计算原版伴奏的音频指纹。

进一步地,上述合成单元33,具体用于将目标候选音频的第一音频片段用原版伴奏的第二音频片段代替,得到目标音频,第一音频片段的起始时间和片段时长分别与第二音频片段的起始时间和片段时长一致。

根据本申请实施例,图1至图2中终端设备执行的方法所涉及的各个步骤均可以是由图3所示的装置中的各个单元来执行。例如,图1中所示的101由图3中所示的31来执行;又如,图2中所示的203由图3中所示的35来执行。

根据本申请实施例,图3所示的装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于终端设备也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。

基于上述方法实施例以及装置实施例的描述,本申请实施例还提供了一种终端设备的结构示意图,请参见图4,如图4所示,上述终端设备400可以包括:至少一个处理器401,例如cpu,至少一个网络接口404,用户接口403,存储器405,至少一个通信总线402。其中,通信总线402用于实现这些组件之间的连接通信。其中,用户接口403可以包括显示屏(display)、输入设备,可选用户接口403还可以包括标准的有线接口、无线接口。网络接口404可选地可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器405可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器405可选地还可以是至少一个位于远离前述处理器401的存储装置。如图4所示,作为一种计算机存储介质的存储器405中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。

在图4所示的终端400中,网络接口404主要用于连接服务器;而用户接口403主要用于为用户提供输入的接口;而处理器401可以用于调用存储器405中存储的设备控制应用程序,以实现:对原始音频分别做n种不同的音调调整,得到候选音频集合,候选音频集合包含n个候选音频,候选音频集合中的任意两个候选音频的音调相差至少一个半音,原始音频为人演唱的干声和原版伴奏混合处理得到的音频,n为正整数;将候选音频集合中的各个候选音频分别与原版伴奏做对齐处理,得到各个候选音频与原版伴奏的对齐相似度;其中,对齐相似度表征候选音频与原版伴奏对齐的程度;将候选音频集合中与原版伴奏的对齐相似度超过目标阈值的候选音频确定为目标候选音频;对目标候选音频和原版伴奏做合成处理,得到目标音频。

此外,这里需要指出的是:本申请实施例还提供了一种计算机存储介质,且上述计算机存储介质中存储有前文提及的终端设备所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文图1或图2所对应实施例中音频处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本申请提供的实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

相关标签: 指纹阈值分割
tips