掌桥专利:专业的专利平台
掌桥专利
首页

音频处理方法、装置、计算设备及介质

文献发布时间:2023-06-19 18:37:28


音频处理方法、装置、计算设备及介质

技术领域

本公开的实施方式涉及多媒体数据处理技术领域,更具体地,本公开的实施方式涉及一种音频处理方法、装置、计算设备及介质。

背景技术

本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

随着计算机技术和网络传输技术的不断发展,线上会议、线上教育、互动娱乐等多种类型的应用层出不穷,而为了获得沉浸式的音频收听体验,越来越多的用户倾向于使用耳机进行音频的收听。

但是,由于不同用户之间听音舒适度和倾向的差异,会导致不同用户对于耳机下行听音音量大小和音色的需要不同,因此,亟需一种音频处理方法,以为用户提供自适应和个性化的音频调整方式。

发明内容

鉴于相关技术中不同用户对于耳机下行听音音量大小和音色的需要不同的情况,本公开的实施方式至少提供一种音频处理方法、装置、计算设备及介质。

在本公开实施方式的第一方面中,提供了一种音频处理方法,该方法包括:

响应于针对待处理音频序列的音量调整操作,获取待处理音频序列中目标音频帧对应的当前能量分布信息和历史能量分布信息,目标音频帧为经过音量调整的音频帧中位于预设帧数处的音频帧,当前能量分布信息用于指示目标音频帧在多个频域子带上的能量值,历史能量分布信息用于指示目标音频帧的前一个音频帧在多个频域子带上的能量值;

基于目标音频帧对应的当前能量分布信息和历史能量分布信息,确定目标音频调整信息,目标音频调整信息用于对位于目标音频帧之后的任一音频帧在多个频点上的能量值进行调整;

基于目标音频调整信息,对待处理音频序列中位于目标音频帧之后的每个音频帧在多个频点上的能量值进行调整。

在本公开的一个实施例中,基于目标音频帧对应的当前能量分布信息和历史能量分布信息,确定目标音频调整信息,包括:

基于当前能量分布信息以及历史能量分布信息,确定第一能量分布差异信息,第一能量分布差异信息用于指示当前能量分布信息和历史能量分布信息在多个频域子带上的能量差值;

基于历史音频调整信息和第一能量分布差异信息,确定目标音频调整信息,历史音频调整信息为响应于上一次针对待处理音频序列的音量调整操作所确定出的音频调整信息。

在本公开的一个实施例中,基于历史音频调整信息和第一能量分布差异信息,确定目标音频调整信息,包括:

以第一设定参数对第一能量分布差异信息进行加权处理,并基于加权后的第一能量分布差异信息,以及历史音频调整信息,确定目标音频调整信息。

在本公开的一个实施例中,以第一设定参数对第一能量分布差异信息进行加权处理,并基于加权后的第一能量分布差异信息,以及历史音频调整信息,确定目标音频调整信息,包括:

以第一设定参数作为第一能量分布差异信息的权重,对第一能量分布差异信息进行加权处理,得到加权后的第一能量分布信息;

确定加权后的第一能量分布信息和历史音频调整信息的和值,作为目标音频调整信息。

在本公开的一个实施例中,响应于针对待处理音频序列的音量调整操作,获取待处理音频序列中目标音频帧对应的当前能量分布信息和历史能量分布信息之前,该方法还包括:

每接收到待处理音频序列中的一个音频帧,则确定音频帧在每个频域子带上的能量值以及音频帧的总体能量值;

在所接收到的音频帧的总体能量值大于设定能量阈值的情况下,基于音频帧对应的历史能量分布信息和音频帧在多个频域子带上的能量值,确定音频帧的当前能量分布信息。

在本公开的一个实施例中,确定音频帧在每个频域子带上的能量值以及音频帧的总体能量值,包括:

确定音频帧在每个频域子带上的信号能量值;

对音频帧在各个频域子带上的信号能量值进行求和,得到音频帧的总体能量值。

在本公开的一个实施例中,基于音频帧对应的历史能量分布信息和音频帧在多个频域子带上的能量值,确定音频帧的当前能量分布信息,包括:

以第二设定参数分别对音频帧在多个频域子带上的能量值与历史能量分布信息所指示的对应频域子带上的能量值进行加权处理,并基于加权处理所得到的结果确定第一能量分布信息;

基于第一能量分布信息所指示的多个频域子带上的能量值以及第一能量分布信息所指示的多个频域子带上的能量值之和,确定当前能量分布信息;

其中,第二设定参数基于待处理音频序列的采样率和预设时长确定,预设时长为用于对待处理音频序列中每个音频帧的频谱进行平滑处理所需的时长。

在本公开的一个实施例中,以第二设定参数分别对音频帧在多个频域子带上的能量值与历史能量分布信息所指示的对应频域子带上的能量值进行加权处理,并基于加权处理所得到的结果确定第一能量分布信息,包括:

以第二设定参数作为音频帧在多个频域子带上的能量值的权重,对音频帧在多个频域子带上的能量值进行加权处理,以设定参数值与第二设定参数的差值作为历史能量分布信息的权重,对历史能量分布信息进行加权处理;

确定两次加权处理所得到的结果的和值,作为第一能量分布信息。

在本公开的一个实施例中,响应于针对待处理音频序列的音量调整操作,获取待处理音频序列中目标音频帧对应的当前能量分布信息和历史能量分布信息,包括:

响应于针对待处理音频序列的音量调整操作,在接收到的音频帧的总体能量值大于设定能量阈值的情况下,执行基于音频帧对应的历史能量分布信息和音频帧在多个频域子带上的能量值,确定音频帧的当前能量分布信息的步骤;

在接收到目标音频帧且已确定出目标音频帧的当前能量分布信息的情况下,执行获取待处理音频序列中目标音频帧对应的当前能量分布信息和历史能量分布信息的步骤。

在本公开的一个实施例中,在所接收到的音频帧的总体能量值大于设定能量阈值的情况下,基于音频帧对应的历史能量分布信息和音频帧在多个频域子带上的能量值,确定音频帧的当前能量分布信息之前,该方法还包括:

在未检测到针对待处理音频序列的音量调整操作的情况下,将历史音频调整信息确定为目标音频调整信息。

在本公开的一个实施例中,在未对待处理音频序列进行音量调整操作的情况下,将多个频域子带对应取值均为1的向量曲线作为历史音频调整信息。

在本公开的一个实施例中,该方法还包括:

获取目标音频帧的噪声能量值,噪声能量值由待处理音频序列的发送端基于目标音频帧确定得到;

响应于针对待处理音频序列的音量调整操作,获取待处理音频序列中目标音频帧对应的当前能量分布信息和历史能量分布信息之前,该方法还包括:

在系统音量等级未达到最大音量等级,且噪声能量值不大于第一能量阈值的情况下,执行响应于针对待处理音频序列的音量调整操作,获取待处理音频序列中目标音频帧对应的当前能量分布信息和历史能量分布信息的步骤。

在本公开的一个实施例中,该方法还包括:

在系统音量等级未达到最大音量等级,且噪声能量值大于第一能量阈值小于第二能量阈值的情况下,基于目标音频帧的当前能量分布信息以及目标音频帧所包括的噪声信号的噪声能量分布信息,确定第二能量分布差异信息,噪声能量分布信息用于指示噪声信号在多个频域子带上的能量值,第二能量分布差异信息用于指示能量分布信息和噪声能量分布信息在多个频域子带上的能量差值;

基于第二能量分布差异信息、目标音频帧的总体能量值、噪声能量值和第一能量分布信息,确定目标音频调整信息,第一能量分布信息基于音频帧在多个频域子带上的能量值与历史能量分布信息所指示的对应频域子带上的能量值的加权处理结果确定得到。

在本公开的一个实施例中,该方法还包括:

在系统音量等级未达到最大音量等级,且噪声能量值不小于第二能量阈值且不大于第三能量阈值的情况下,基于目标音频帧的总体能量值以及噪声能量值,确定目标能量差值,目标音频帧的总体能量值为目标音频帧在各个频域子带上的信号能量值之和;

基于目标能量差值、目标音频帧的总体能量值、噪声能量值、第一能量分布信息和第一能量调整信息,确定目标音频调整信息,第一能量调整信息为用于对目标音频帧在各个频点的能量值进行抬升的第一预设能量值。

在本公开的一个实施例中,该方法还包括:

在系统音量等级已达到最大音量等级,且噪声能量值不小于第三能量阈值的情况下,基于目标音频帧的当前能量分布信息以及目标音频帧所包括的噪声信号的噪声能量分布信息,确定第二能量分布差异信息;

基于第二能量分布差异信息、第二能量分布差异信息、目标音频帧的总体能量值、噪声能量值、第一能量分布信息和第二能量调整信息,确定目标音频调整信息,第二能量调整信息为用于对音频帧在各个频点的能量值进行抬升的第二预设能量值。

在本公开的一个实施例中,基于目标音频调整信息,对待处理音频序列中位于目标音频帧之后的音频帧的在多个频点上的能量值进行调整之后,该方法还包括下述至少一项:

在调整后的任一音频帧在任一频点上的能量值大于第一设定阈值的情况下,对音频帧在频点上的能量值进行调整,以使音频帧在频点上的能量值小于或等于第一设定阈值;

在调整后的任一音频帧在任一频点上的能量值小于第二设定阈值的情况下,对音频帧在频点上的能量值进行调整,以使音频帧在频点上的能量值大于或等于第二设定阈值。

在本公开实施方式的第二方面中,提供了一种音频处理装置,该装置包括:

获取模块,用于响应于针对待处理音频序列的音量调整操作,获取待处理音频序列中目标音频帧对应的当前能量分布信息和历史能量分布信息,目标音频帧为经过音量调整的音频帧中位于预设帧数处的音频帧,当前能量分布信息用于指示目标音频帧在多个频域子带上的能量值,历史能量分布信息用于指示目标音频帧的前一个音频帧在多个频域子带上的能量值;

确定模块,用于基于目标音频帧对应的当前能量分布信息和历史能量分布信息,确定目标音频调整信息,目标音频调整信息用于对位于目标音频帧之后的任一音频帧在多个频点上的能量值进行调整;

调整模块,用于基于目标音频调整信息,对待处理音频序列中位于目标音频帧之后的每个音频帧在多个频点上的能量值进行调整。

在本公开的一个实施例中,确定模块,在用于基于目标音频帧对应的当前能量分布信息和历史能量分布信息,确定目标音频调整信息时,用于:

基于当前能量分布信息以及历史能量分布信息,确定第一能量分布差异信息,第一能量分布差异信息用于指示当前能量分布信息和历史能量分布信息在多个频域子带上的能量差值;

基于历史音频调整信息和第一能量分布差异信息,确定目标音频调整信息,历史音频调整信息为响应于上一次针对待处理音频序列的音量调整操作所确定出的音频调整信息。

在本公开的一个实施例中,确定模块,在用于基于历史音频调整信息和第一能量分布差异信息,确定目标音频调整信息时,用于:

以第一设定参数对第一能量分布差异信息进行加权处理,并基于加权后的第一能量分布差异信息,以及历史音频调整信息,确定目标音频调整信息。

在本公开的一个实施例中,确定模块,在用于以第一设定参数对第一能量分布差异信息进行加权处理,并基于加权后的第一能量分布差异信息,以及历史音频调整信息,确定目标音频调整信息时,用于:

以第一设定参数作为第一能量分布差异信息的权重,对第一能量分布差异信息进行加权处理,得到加权后的第一能量分布信息;

确定加权后的第一能量分布信息和历史音频调整信息的和值,作为目标音频调整信息。

在本公开的一个实施例中,确定模块,还用于每接收到待处理音频序列中的一个音频帧,则确定音频帧在每个频域子带上的能量值以及音频帧的总体能量值;

确定模块,还用于在所接收到的音频帧的总体能量值大于设定能量阈值的情况下,基于音频帧对应的历史能量分布信息和音频帧在多个频域子带上的能量值,确定音频帧的当前能量分布信息。

在本公开的一个实施例中,确定模块,在用于确定音频帧在每个频域子带上的能量值以及音频帧的总体能量值时,用于:

确定音频帧在每个频域子带上的信号能量值;

对音频帧在各个频域子带上的信号能量值进行求和,得到音频帧的总体能量值。

在本公开的一个实施例中,确定模块,在用于基于音频帧对应的历史能量分布信息和音频帧在多个频域子带上的能量值,确定音频帧的当前能量分布信息时,用于:

以第二设定参数分别对音频帧在多个频域子带上的能量值与历史能量分布信息所指示的对应频域子带上的能量值进行加权处理,并基于加权处理所得到的结果确定第一能量分布信息;

基于第一能量分布信息所指示的多个频域子带上的能量值以及第一能量分布信息所指示的多个频域子带上的能量值之和,确定当前能量分布信息;

其中,第二设定参数基于待处理音频序列的采样率和预设时长确定,预设时长为用于对待处理音频序列中每个音频帧的频谱进行平滑处理所需的时长。

在本公开的一个实施例中,确定模块,在用于以第二设定参数分别对音频帧在多个频域子带上的能量值与历史能量分布信息所指示的对应频域子带上的能量值进行加权处理,并基于加权处理所得到的结果确定第一能量分布信息时,用于:

以第二设定参数作为音频帧在多个频域子带上的能量值的权重,对音频帧在多个频域子带上的能量值进行加权处理,以设定参数值与第二设定参数的差值作为历史能量分布信息的权重,对历史能量分布信息进行加权处理;

确定两次加权处理所得到的结果的和值,作为第一能量分布信息。

在本公开的一个实施例中,获取模块,在用于响应于针对待处理音频序列的音量调整操作,获取待处理音频序列中目标音频帧对应的当前能量分布信息和历史能量分布信息时,用于:

响应于针对待处理音频序列的音量调整操作,在接收到的音频帧的总体能量值大于设定能量阈值的情况下,执行基于音频帧对应的历史能量分布信息和音频帧在多个频域子带上的能量值,确定音频帧的当前能量分布信息的步骤;

在接收到目标音频帧且已确定出目标音频帧的当前能量分布信息的情况下,执行获取待处理音频序列中目标音频帧对应的当前能量分布信息和历史能量分布信息的步骤。

在本公开的一个实施例中,确定模块,还用于在未检测到针对待处理音频序列的音量调整操作的情况下,将历史音频调整信息确定为目标音频调整信息。

在本公开的一个实施例中,在未对待处理音频序列进行音量调整操作的情况下,将多个频域子带对应取值均为1的向量曲线作为历史音频调整信息。

在本公开的一个实施例中,获取模块,还用于获取目标音频帧的噪声能量值,噪声能量值由待处理音频序列的发送端基于目标音频帧确定得到;

获取模块,还用于在系统音量等级未达到最大音量等级,且噪声能量值不大于第一能量阈值的情况下,执行响应于针对待处理音频序列的音量调整操作,获取待处理音频序列中目标音频帧对应的当前能量分布信息和历史能量分布信息的步骤。

在本公开的一个实施例中,确定模块,还用于在系统音量等级未达到最大音量等级,且噪声能量值大于第一能量阈值小于第二能量阈值的情况下,基于目标音频帧的当前能量分布信息以及目标音频帧所包括的噪声信号的噪声能量分布信息,确定第二能量分布差异信息,噪声能量分布信息用于指示噪声信号在多个频域子带上的能量值,第二能量分布差异信息用于指示能量分布信息和噪声能量分布信息在多个频域子带上的能量差值;

确定模块,还用于基于第二能量分布差异信息、目标音频帧的总体能量值、噪声能量值和第一能量分布信息,确定目标音频调整信息,第一能量分布信息基于音频帧在多个频域子带上的能量值与历史能量分布信息所指示的对应频域子带上的能量值的加权处理结果确定得到。

在本公开的一个实施例中,确定模块,还用于在系统音量等级未达到最大音量等级,且噪声能量值不小于第二能量阈值且不大于第三能量阈值的情况下,基于目标音频帧的总体能量值以及噪声能量值,确定目标能量差值,目标音频帧的总体能量值为目标音频帧在各个频域子带上的信号能量值之和;

确定模块,还用于基于目标能量差值、目标音频帧的总体能量值、噪声能量值、第一能量分布信息和第一能量调整信息,确定目标音频调整信息,第一能量调整信息为用于对目标音频帧在各个频点的能量值进行抬升的第一预设能量值。

在本公开的一个实施例中,确定模块,还用于在系统音量等级已达到最大音量等级,且噪声能量值不小于第三能量阈值的情况下,基于目标音频帧的当前能量分布信息以及目标音频帧所包括的噪声信号的噪声能量分布信息,确定第二能量分布差异信息;

确定模块,还用于第二能量分布差异信息、目标音频帧的总体能量值、噪声能量值、第一能量分布信息和第二能量调整信息,确定目标音频调整信息,第二能量调整信息为用于对音频帧在各个频点的能量值进行抬升的第二预设能量值。

在本公开的一个实施例中,调整模块,还用于在调整后的任一音频帧在任一频点上的能量值大于第一设定阈值的情况下,对音频帧在频点上的能量值进行调整,以使音频帧在频点上的能量值小于或等于第一设定阈值;

调整模块,还用于在调整后的任一音频帧在任一频点上的能量值小于第二设定阈值的情况下,对音频帧在频点上的能量值进行调整,以使音频帧在频点上的能量值大于或等于第二设定阈值。

在本公开实施方式的第三方面中,提供了一种计算设备,计算设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行程序时实现上述第一方面以及第一方面的任意实施例所提供的音频处理方法所执行的操作。

在本公开实施方式的第三方面中,提供了一种计算机可读存储介质,计算机可读存储介质上存储有程序,程序被处理器执行如上述第一方面以及第一方面的任意实施例所提供的音频处理方法所执行的操作。

在本公开实施方式的第五方面中,提供了一种计算机程序产品,包括计算机程序,程序被处理器执行时实现上述第一方面以及第一方面的任意实施例所提供的音频处理方法所执行的操作。

本公开通过响应于针对待处理音频序列的音量调整操作,获取待处理音频序列中目标音频帧对应的当前能量分布信息和历史能量分布信息,从而基于目标音频帧对应的当前能量分布信息和历史能量分布信息,确定目标音频调整信息,以便基于目标音频调整信息,对待处理音频序列中位于目标音频帧之后的每个音频帧在多个频点上的能量值进行调整。由于当前能量分布信息对应于用户正在收听的音频帧,而历史能量分布信息对应于用户过往收听过的音频帧,但无论是用户正在收听的音频帧还是过往收听过的音频帧,都是已经被用户所感知,而且也是已经被用户所接受和认可的(如果不接受、不认可,用户必然会做出调整),从而使得通过当前能量分布信息和历史能量分布信息确定出目标音频调整信息,并基于目标音频调整信息来实现对音频序列的调整,是可以满足用户的个性化听音需求的,进而使得本公开所提供的方案可以为用户提供自适应的个性化音频调整方式。

附图说明

通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:

图1是本公开根据一示例性实施例示出的一种音频处理方法的流程图;

图2是本公开根据一示例性实施例示出的一种音频帧的时域波形图;

图3是本公开根据一示例性实施例示出的一种音频帧的频谱图;

图4是本公开根据一示例性实施例示出的一种音频帧的子带频谱图;

图5是本公开根据一示例性实施例示出的一种根据音频帧的总体能量值进行音频处理过程的流程示意图;

图6是本公开根据一示例性实施例示出的一种音频处理过程的流程示意图;

图7是本公开根据一示例性实施例示出的一种不同情况下的音频调整过程的流程示意图;

图8是本公开根据一示例性实施例示出的一种音频处理装置的框图;

图9是本公开根据一示例性实施例示出的一种计算机可读存储介质的示意图;

图10是本公开根据一示例性实施例示出的一种计算设备的结构示意图;

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

根据本公开的实施方式,提出了一种音频处理方法,用于在接收到待处理音频序列的任一音频帧的情况下,基于所接收到的音频帧进行处理,以实现对各个音频帧的实时音频处理,以优化音频帧的播放效果。

上述音频处理方法可以由计算设备执行,计算设备可以为终端设备,如台式计算机、便携式计算机、智能手机、平板电脑、智能手表、动态影像专家压缩标准音频层面3(Moving Picture Experts Group Audio Layer III,MP3)播放器、动态影像专家压缩标准音频层面4(Moving Picture Experts Group Audio Layer IV,MP4)播放器等,或者,计算设备可以为耳机,如有线耳机、无线耳机(如无线蓝牙耳机)、头戴式耳机等,或者,计算设备可以为助听器,本公开对计算设备的设备类型不加以限定。

以计算设备为终端设备为例,终端设备可以实时接收其他设备发送的音频序列,并将接收到的音频序列作为待处理音频序列,每接收到待处理音频序列中的一个音频帧,终端设备即可通过本公开所提供的方案,对所接收到的音频帧进行处理,以实现对待处理音频序列中各个音频帧的实时处理。需要说明的是,在处理完音频帧后,即可对该音频帧进行播放,可选地,计算设备可以直接通过内置于其中的音频播放组件来对音频帧进行播放,或者,计算设备可以连接有耳机,以通过耳机来对音频帧进行播放。

又例如,以计算设备为耳机为例,耳机可以通过有线或无线的连接方式与终端设备进行通信,终端设备在接收到其他设备发送的音频序列的情况下,即可将所接收到的音频序列发送给与之相连的耳机,以便耳机可以将接收到的音频序列作为待处理音频序列,每接收到待处理音频序列中的一个音频帧,耳机即可通过本公开所提供的方案,对所接收到的音频帧进行处理,以实现对待处理音频序列中各个音频帧的实时处理。需要说明的是,在处理完音频帧后,即可通过耳机来对音频帧进行播放。

需要说明的是,无论是上述哪种实现场景,均会涉及到音频序列的发送端和接收端。对于发送端而言,发送端的音频输入设备所采集到的音频信号可以称为近端信号,而近端信号在经过处理之后,即可被作为上行信号送往通话的另一端或多端;对于接收端而言,通过网络所接收到的音频信号可以称为远端信号,而接收端所接收到的来自远端的信号又可以称为下行信号。

需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制,相反,本公开的实施方式可以应用于适用的任何场景。例如,本公开的实施方式还可以应用于听歌等音乐场景中,本公开对此不加以限定。

下面结合上述有关应用场景的介绍,参考图1来描述根据本公开示例性实施方式所提供的音频处理方法。

参见图1,图1是本公开根据一示例性实施例示出的一种音频处理方法的流程图,该方法包括:

S101、响应于针对待处理音频序列的音量调整操作,获取待处理音频序列中目标音频帧对应的当前能量分布信息和历史能量分布信息,目标音频帧为经过音量调整的音频帧中位于预设帧数处的音频帧,当前能量分布信息用于指示目标音频帧在多个频域子带上的能量值,历史能量分布信息用于指示目标音频帧的前一个音频帧在多个频域子带上的能量值。

可选地,音量调整操作可以包括增大音量操作和减小音量操作。例如,计算设备上可以设置有增大音量按键和减小音量按键,用户可以通过触发增大音量按键,以触发增大音量操作,通过触发减小音量按键,以触发减小音量操作。

需要说明的是,由于待处理音频序列中各个音频帧的接收是实时进行的,而在用户触发了音量调整操作的情况下,计算设备即可响应于用户所触发的音量调整操作,对计算设备的系统音量进行调整,以使音量调整操作被触发之后所接收到的音频帧在播放时所使用的系统音量为按照音量调整操作调整之后的系统音量。

另外,需要说明的是,频域子带可以为根据待处理音频序列的采样率预先划分好的。可选地,可以根据待处理音频序列的采样率,确定要划分的频域子带的子带数量,从而按照所确定出的子带数量以及待处理音频序列的有效带宽(简称带宽),将待处理音频序列划分为符合所确定出的子带数量的多个频域子带,并且,每个频域子带的带宽一致,或者说,每个频域子带所包括的频点数量一致。

一般而言,子带数量与待处理音频序列的采样率这二者之间的差值为设定值,将待处理音频序列的采样率记为fHz,则子带数量可以为[f-n,f+n],n即为设定值,设定值可以为任意正整数值,本公开对此不加以限定。

可选地,设定值可以为4。例如,对于采样率为16千赫兹(kHz)的音频序列,有效带宽一般为8kHz,可以将该音频序列划分为12~20个频域子带;又例如,对于采样率为48kHz的音频序列,有效带宽一般为24kHz,可以将该音频序列划分为20~28个频域子带。

上述仅为划分频域子带的两种示例性方式,在更多可能的实现方式中,可以根据实际技术需求来进行频域子带的划分,本公开对此不加以限定。

一个音频序列中包括多个音频帧,一个音频帧中包括多个频点,通过划分多个频域子带,即可实现音频帧所对应的多个频点的划分,以将不同频点划分到相应频率的频域子带中,可选地,不同频域子带中所包括的频点数量可以相同,也可以不同,本公开对此不加以限定。

可选地,能量分布信息可以为子带频谱曲线。需要说明的是,针对任一音频帧,可以利用快速傅里叶变换(Fast Fourier Transform,FFT)对该音频帧进行分析,以得到关于各频率(频点)成分的信号能量大小,进而根据划分好的频域子带,对属于同一频域子带的频点能量进行求和,以得到各个频域子带对应的信号能量大小,一般可以以曲线的形式来表示各个频域子带对应的信号能量大小,该曲线即为子带频谱曲线(或称子带能量分布曲线)。其中,子带频谱曲线的横轴可以是频域子带所对应的频率区间(如1-2kHz、2-3kHz、3-4kHz、……),纵轴可以是频域子带对应的信号能量值;或者,子带频谱曲线的横轴可以是频域子带标识,纵轴可以是频域子带对应的信号能量值,可选地,可以对已划分的频域子带进行编号,从而将编号得到的结果作为频域子带标识,例如,可以将1-2kHz对应的频域子带编号为1,2-3kHz对应的频域子带编号为2,3-4kHz对应的频域子带编号为3,以此类推,则可以将编号得到的序号作为频域子带标识。

为便于理解,下面以一个示例性的音频帧为例,来对上述划分频域子带的过程进行介绍。参见图2,图2是本公开根据一示例性实施例示出的一种音频帧的时域波形图,按照8kHz的采样率对如图2所示的音频帧进行采样,即可得到如图3所示的频谱图,图3是本公开根据一示例性实施例示出的一种音频帧的频谱图,参见图3,即为如图2所示时域信号在频域上的频谱图(或称频谱曲线),用于指示各个频点对应的幅值。

进一步地,可以基于如图3所示的频谱图来进行频域子带的划分,图3所示的频谱图对应的采样率为8kHz,可以将图3所示的音频帧划分为8个频域子带,参见图4,图4是本公开根据一示例性实施例示出的一种音频帧的子带频谱图,如图4所示,这8个频域子带分别为0-1kHz、1-2kHz、2-3kHz、3-4kHz、4-5kHz、5-6kHz、6-7kHz以及7-8kHz,图4所示即为子带频谱图(或称子带频谱曲线),该子带频谱曲线以频域子带对应的频率区间为横轴、以频域子带对应的信号能量大小为纵轴,用于指示各个频域子带对应的幅值,每个频域子带中均包括对应频率值位于频域子带频率区间内的多个频点。

S102、基于目标音频帧对应的当前能量分布信息和历史能量分布信息,确定目标音频调整信息,目标音频调整信息用于对位于目标音频帧之后的任一音频帧在多个频点上的能量值进行调整。

需要说明的是,通过对音频帧在多个频点上的能量值进行调整,例如,可以对不同频点上的能量值进行不同幅度的调整,即可实现对该音频帧的音色调整。

S103、基于目标音频调整信息,对待处理音频序列中位于目标音频帧之后的每个音频帧在多个频点上的能量值进行调整。

由于当前能量分布信息对应于用户正在收听的音频帧,而历史能量分布信息对应于用户过往收听过的音频帧,但无论是用户正在收听的音频帧还是过往收听过的音频帧,都是已经被用户所感知,而且也是已经被用户所接受和认可的(如果不接受、不认可,用户必然会做出调整),从而使得通过当前能量分布信息和历史能量分布信息确定出目标音频调整信息,并基于目标音频调整信息来实现对音频序列的调整,是可以满足用户的个性化听音需求的,进而使得本公开所提供的方案可以为用户提供自适应的个性化音频调整方式。

在介绍了本公开的基本原理之后,下面具体介绍本公开的各种非限制性实施方式。

需要说明的是,以实时通讯场景为例,用户可以通过实时通讯软件与他人进行通话,在一次通话过程中,计算设备可以实时接收到其他设备发来的音频帧,而在每次通话过程中所接收到的多个音频帧即可作为一个待处理音频序列,从而使得每次通话过程均对应于一个待处理音频序列。

以任一待处理音频序列的处理过程为例,计算设备每接收到待处理音频序列中的一个音频帧,即可确定该音频帧在每个频域子带上的能量值以及该音频帧的总体能量值,从而根据音频帧在每个频域子带上的能量值以及该音频帧的总体能量值,来对该音频帧进行相应处理。

在一种可能的实现方式中,在确定音频帧在每个频域子带上的能量值以及音频帧的总体能量值时,可以通过如下方式实现:

确定音频帧在每个频域子带上的信号能量值,从而对音频帧在各个频域子带上的信号能量值进行求和,得到音频帧的总体能量值。

例如,对于任一频域子带,可以对该频域子带所包括的多个频点的能量值进行求和,以得到音频帧在该频域子带上的信号能量值,以此类推,以得到该音频帧在各个频域子带上的信号能量值,进而对各个频域子带上的信号能量值进行求和,得到音频帧的总体能量值。

在通过上述过程确定出音频帧的总体能量值后,即可基于所确定出的总体能量值,确定该音频帧是否为有效音频信号。其中,有效音频信号即为信号中包括有效人声,而不是仅仅包括环境噪音的音频信号。

在所接收到的音频帧的总体能量值小于等于设定能量阈值的情况下,即可确定该音频帧中不存在有效的语音信号(如人声信号、背景音乐信号等),而可能仅包括一些环境噪音或者不存在任何声音信号,此时则无需对该音频帧进行处理,以避免处理无效音频帧为计算设备带来不必要的计算资源浪费,而且还可以避免因对这些不存在有效语音信号的音频帧进行处理,而导致后续的音频调整过程出现误差,从而保证了音频处理效果。

而在所接收到的音频帧的总体能量值大于设定能量阈值的情况下,即可确定接收到的音频帧中存在有效语音信号,从而即可基于所接收到的音频帧进行处理。

参见图5,图5是本公开根据一示例性实施例示出的一种根据音频帧的总体能量值进行音频处理过程的流程示意图,如图5所示,在接收到待处理音频序列中的音频帧的情况下,判断音频帧的总体能量值是否大于设定能量阈值,在音频帧的总体能量值大于设定能量阈值的情况下,即可基于音频帧的能量分布信息进行分析,以实现目标音频调整信息的确定,而在音频帧的总体能量小于等于设定能量阈值的情况下,无需对当前接收到的音频帧进行处理,继续对接收到的下一个音频帧进行处理即可。

可选地,在所接收到的音频帧的总体能量值大于设定能量阈值的情况下,可以基于音频帧对应的历史能量分布信息和音频帧在多个频域子带上的能量值,确定音频帧的当前能量分布信息,以便基于所确定出的当前能量分布信息进行后续处理过程。

其中,历史能量分布信息用于指示当前正在处理的音频帧的前一个音频帧在多个频域子带上的能量值,可选地,历史能量分布信息可以为历史子带频谱曲线。

在一种可能的实现方式中,在基于音频帧对应的历史能量分布信息和音频帧在多个频域子带上的能量值,确定音频帧的当前能量分布信息时,可以通过如下方式实现:

以第二设定参数分别对音频帧在多个频域子带上的能量值与历史能量分布信息所指示的对应频域子带上的能量值进行加权处理,并基于加权处理所得到的结果确定第一能量分布信息;基于第一能量分布信息所指示的多个频域子带上的能量值以及第一能量分布信息所指示的多个频域子带上的能量值之和,确定当前能量分布信息。

可选地,可以以第二设定参数作为音频帧在多个频域子带上的能量值的权重,对音频帧在多个频域子带上的能量值进行加权处理,以设定参数值与第二设定参数的差值作为历史能量分布信息的权重,对历史能量分布信息进行加权处理;确定两次加权处理所得到的结果的和值,作为第一能量分布信息。

例如,可以通过如下公式(1)进行第一能量分布信息的确定:

BandE{k,n}=(1-α)×Band{k,n-1}+α×E{k,n} (1)

其中,BandE{k,n}表示第一能量分布信息,BandE{k,n-1}表示历史能量分布信息,E{k,n}表示音频帧在多个频域子带上的能量值,k表示频域子带中所包括的任一频点,n表示音频帧标识,α表示第二设定参数,1即为设定参数值。

需要说明的是,第二设定参数可以基于待处理音频序列的采样率和预设时长确定,预设时长可以为用于对待处理音频序列中每个音频帧的频谱进行平滑处理所需的时长,可选地,预设时长可以为相关技术人员根据技术需求预先设置好的时长值,或者,预设时长可以为计算设备基于以往的音频处理过程自适应确定出的时长值。

例如,第二设定参数可以通过如下公式(2)确定:

其中,α表示第二设定参数,f

通过上述过程确定出第一能量分布信息后,即可基于第一能量分布信息所指示的多个频域子带上的能量值以及第一能量分布信息所指示的多个频域子带上的能量值之和,确定当前能量分布信息。

在一种可能的实现方式中,可以将第一能量分布信息所指示的多个频域子带上的能量值以及第一能量分布信息所指示的多个频域子带上的能量值之和这二者的比值,作为当前能量分布信息。

可选地,可以对第一能量分布信息所指示的多个频域子带上的能量值进行求和,以得到第一能量分布信息所指示的多个频域子带上的能量值之和,从而确定每个频域子带上的能量值与该能量值之和的比值,以得到当前能量分布信息。

例如,可以通过如下公式(3)确定当前能量分布信息:

其中,

需要说明的是,上述过程确定每个频域子带上的能量值与多个频域子带上的能量值之和的比值,可以实现类似于归一化处理的处理效果,以消除能量大小对能量分布信息的波形的影响,仅保留音色对能量分布信息的波形的影响,从而使得能量大小不同的两个音频帧的波形可以统一到同一能量范围内,以保证后续音频处理过程的顺利进行。

通过上述过程,可以在每接收到一个音频帧时,即实现对所接收到的音频帧的当前能量分布信息的确定,并对所确定出的当前能量分布信息进行存储,以便在接收到下一个音频帧时,继续确定下一个音频帧的当前能量分布信息,此时,已确定出的音频帧的当前能量分布信息即为历史能量分布信息。因而,在S101中,可以在检测到针对待处理音频序列的音量调整操作时,获取到待处理音频序列中目标音频帧对应的当前能量分布信息和历史能量分布信息。

需要说明的是,由于确定音频帧的能量分布信息的过程是实时进行的,因而,对于S101,在响应于针对待处理音频序列的音量调整操作,获取待处理音频序列中目标音频帧对应的当前能量分布信息和历史能量分布信息时,可以通过如下方式实现:

响应于针对待处理音频序列的音量调整操作,在接收到的音频帧的总体能量值大于设定能量阈值的情况下,基于音频帧对应的历史能量分布信息和音频帧在多个频域子带上的能量值,确定音频帧的当前能量分布信息;在接收到目标音频帧且已确定出目标音频帧的当前能量分布信息的情况下,获取待处理音频序列中目标音频帧对应的当前能量分布信息和历史能量分布信息。

也即是,在检测到音量调整操作的情况下,计算设备会继续确定所接收到的音频帧的总体能量值,从而基于所确定出的总体能量值,确定所接收到的音频帧中是否存在有效的语音信号,在总体能量值大于设定能量阈值的情况下,即可确定所接收到的音频帧中存在有效的语音信号,从而即可确定该音频帧的当前能量分布信息。其中,确定所接收到的音频帧的总体能量值以及确定该音频帧的当前能量分布信息的过程可以参见上述实施例,此处不再赘述。

上述设定能量阈值可以为任意取值,例如,该设定能量阈值可以为-45dB,可选地,该设定能量阈值还可以为其他取值,本公开对该设定能量阈值的具体取值不加以限定。该设定能量阈值可以通过线下分析大量数据得到,用来确定当前时段所接收到的下行信号是否满足能量要求,以排除一些下行无声段或者能量偏小段的影响,减少计算设备计算资源的浪费,以减小计算设备的处理压力,保证计算设备的处理效率。

需要说明的是,在检测到音量调整操作的情况下,计算设备会实时确定所接收到的音频帧的总体能量值,并确定总体能量值大于设定能量阈值的音频帧的当前能量分布信息,直至确定出目标音频帧的当前能量分布信息,再通过S102,基于目标音频帧对应的当前能量分布信息和历史能量分布信息,来确定目标音频调整信息。

其中,目标音频帧可以为经过音量调整的音频帧中位于预设帧数处的音频帧。在用户触发音量调整操作的情况下,计算设备即可响应于音量调整操作,对音量调整操作被触发的时刻之后所接收到的音频帧的音量进行调整,因而,音量调整操作被触发的时刻之后所接收到的音频帧即为经过音量调整的音频帧,而目标音频帧即为这些经过音量调整的音频帧中位于预设帧数处的音频帧。

可选地,位于预设帧数处的音频帧可以为音量调整操作被触发的时刻之后60秒这一时刻所对应的音频帧,或者,位于预设帧数处的音频帧可以为音量调整操作被触发的时刻之后所接收到的第6000个音频帧,本公开对目标音频帧具体是哪一帧不加以限定。

由于接收到目标音频帧的时刻距离音量调整操作被触发的时刻已经过去了一段时间,而在这段时间内用户并未触发进一步的音量调整操作,也即表示目标音频帧的音量满足用户的听感需求,则通过以目标音频帧对应的当前能量分布信息和历史能量分布信息作为确定目标音频调整信息的依据,可以保证所确定出的目标音频调整信息更加符合用户的听感需求。

在一些实施例中,对于S102,在基于目标音频帧对应的当前能量分布信息和历史能量分布信息,确定目标音频调整信息时,可以通过如下步骤实现:

S1021、基于当前能量分布信息以及历史能量分布信息,确定第一能量分布差异信息,第一能量分布差异信息用于指示当前能量分布信息和历史能量分布信息在多个频域子带上的能量差值。

在一种可能的实现方式中,可以确定当前能量分布信息和历史能量分布信息中对应频域子带上的能量值的差值,以得到当前能量分布信息和历史能量分布信息在多个频域子带上的能量差值,作为第一能量分布差异信息。

例如,可以通过如下公式(4)来确定第一能量分布差异信息:

其中,

S1022、基于历史音频调整信息和第一能量分布差异信息,确定目标音频调整信息,历史音频调整信息为响应于上一次针对待处理音频序列的音量调整操作所确定出的音频调整信息。

在一种可能的实现方式中,可以以第一设定参数对第一能量分布差异信息进行加权处理,并基于加权后的第一能量分布差异信息,以及历史音频调整信息,确定目标音频调整信息。

可选地,可以以第一设定参数作为第一能量分布差异信息的权重,对第一能量分布差异信息进行加权处理,得到加权后的第一能量分布信息;从而确定加权后的第一能量分布信息和历史音频调整信息的和值,作为目标音频调整信息。

例如,可以通过如下公式(5)来确定目标音频调整信息:

其中,EQ{k,l}表示目标音频调整信息,EQ{k,l-1}表示历史音频调整信息,

需要说明的是,无论是目标音频调整信息还是历史音频调整信息,均可以是一个向量曲线,因此,音频调整信息也可以称作调音曲线,不同频点在调音曲线上所对应的取值不同,从而使得基于音频调整信息来对音频帧进行处理时,可以对不同频点的能量值进行不同幅度的调整,从而可以实现对音频帧的音色调整。

可选地,音频调整信息可以为均衡器(Equalizer,EQ)曲线,EQ曲线即可调节音频信号各频率成分的能量大小,以实现音色调整。

需要强调的是,每次在检测到用户的音量调整操作时,均会响应于用户的音量调整操作确定出一个目标音频调整信息,并对所确定出的目标音频调整信息作为历史音频调整信息进行存储,以便后续可以获取到历史音频调整信息。

另外,需要注意的是,在首次检测到音量调整操作的情况下,计算设备以往并未确定过音频调整信息,而为了保证目标音频调整信息可以得到确定,相关技术人员可以配置一个默认的初始音频调整信息,以在用户尚未对待处理音频序列进行音量调整操作的情况下,可以以初始音频调整信息作为历史音频调整信息。

可选地,默认的初始音频调整信息可以为多个频域子带对应取值均为1的向量曲线,也即是,在未对待处理音频序列进行音量调整操作的情况下,可以将多个频域子带对应取值均为1的向量曲线作为历史音频调整信息。

以默认的初始音频调整信息为多个频域子带对应取值均为1的向量曲线为例,初始音频调整信息可以表示为如下公式(6)所示的向量曲线:

EQ(k,0}=1 (6)

其中,EQ(k,0}表示初始音频调整信息,多个频域子带对应取值均为1表示初始阶段对于音频帧的频谱分布不作调整。

上述过程主要介绍了在检测到音量调整操作的情况下,如何确定目标音频信息,而在未检测到针对待处理音频序列的音量调整操作的情况下,可以直接将历史音频调整信息确定为目标音频调整信息,也即是,在未检测到音量调整操作的情况下,无需重新进行音频调整信息的确定,而直接沿用上一次检测到音量调整操作时所确定出的音频调整信息即可。

另外,需要注意的是,在检测到音量调整操作后,计算设备并非直接基于检测到音量调整操作后接收到的第一个音频帧即确定出了目标音频信息,而是基于目标音频帧才确定出了目标音频调整信息,而目标音频帧与检测到音量调整操作后接收到的第一个音频帧之间还间隔着多个音频帧,对于这多个音频帧,仍然可以沿用上一次检测到音量调整操作时所确定出的音频调整信息(也即是历史音频调整信息)作为目标音频调整信息。

本公开所提供的方案,可以在用户调整系统音量时,通过长时统计所接收到的音频帧的能量分布信息,得到更加符合当前用户所倾向的听音音色频响的目标音频调整信息,以基于该目标音频调整信息实现对待处理音频序列的音频处理。而且,通过长时统计能量分布信息以实现目标音频调整信息的确定,也有利于音色的稳定性。

上述实施例主要介绍了根据用户的音量调整操作来对待处理音频序列进行音频处理的过程,而在音频采集过程中必然会采集到一些环境噪音,这些环境噪音可能导致音频的可懂度下降(音频可懂度也即是在给定条件下对语音理解能力的一种度量,一般可以通过计算正确识别的单词或音素的数量来量化可懂度),此时,需要提高计算设备的系统音量,以保证用户可以听到更加清楚的语音信号。

针对噪声场景时,用户对更大下行听音音量的需求,本专利设计如下方案实现下行信号音量和音色的调整,主要依赖于本端上行处理算法估计的噪声量。

在一些实施例中,计算设备可以获取目标音频帧的噪声能量值,噪声能量值由待处理音频序列的发送端基于目标音频帧确定得到。

例如,待处理音频序列的发送端可以在采集到音频信号并生成音频信号对应的音频帧之后,通过上行算法估算音频帧的噪声能量值,并将估算得到的噪声能量值和所生成的音频帧一同发送给作为待处理音频序列的接收端的计算设备。

其中,上行算法指的是处理发送端设备采集到的音频信号的一系列音频处理算法,包括但不限于回声消除算法(Acoustic Echo Cancel)、降噪算法(NoiseSuppression)、自动音量控制(Automatic Gain Control,AGC)和噪声估计算法等。可选地,噪声估计算法可以为传统噪声估计算法中的最小统计法(Minimum Statistics)、改进的最小控制递归法(Improved Minimum Controlled Regressive Averaging)、基于深度神经网络的噪声估计算法中的任一项,或者,噪声估计算法还可以为其他类型的算法,本公开对此不加以限定。

可选地,可以通过噪声估计算法确定目标音频帧中的噪声信号,以得到噪声信号的初始噪声能量分布信息,从而对初始噪声能量分布信息所指示的多个频域子带上的能量值进行求和,以得到初始噪声能量分布信息所指示的多个频域子带上的能量值之和,作为噪声能量值。

在已获取到目标音频帧的噪声能量值的情况下,即可基于所获取到的噪声能量值,采取相应的方式实现目标音频调整信息的确定。

在一些实施例中,在系统音量等级未达到最大音量等级,且噪声能量值不大于第一能量阈值的情况下,计算设备即可通过上述实施例所提供的音频处理过程实现目标音频调整信息的确定。

为便于理解,下面以一个具体的实现方案来对上述实施例中所介绍的音频处理过程进行说明。

参见图6,图6是本公开根据一示例性实施例示出的一种音频处理过程的流程示意图,如图6所示,可以通过如下步骤实现目标音频调整信息的确定,进而实现对待处理音频序列的音频调整。

S601、接收待处理音频序列中的音频帧,并获取该音频帧的噪声能量值。

S602、在系统音量等级未达到最大音量等级,且噪声能量值不大于第一能量阈值的情况下,确定该音频帧在每个频域子带上的能量值以及该音频帧的总体能量值。

其中,系统音量也即是计算设备的设备音量,可以通过设置于计算设备上的增大音量按键和减小音量按键,以实现对计算设备的系统音量的调整。

一般而言,计算设备的系统音量可以被分为15个等级,系统音量等级达到最大音量等级,也即是计算设备的设备音量已达到第15个等级。

可选地,第一能量阈值可以为任意取值,本公开对第一能量阈值的具体取值不加以限定。

S603、在该音频帧的总体能量值大于设定能量阈值的情况下,基于该音频帧对应的历史能量分布信息和该音频帧在多个频域子带上的能量值,确定该音频帧的当前能量分布信息。

S604、响应于针对待处理音频序列的音量调整操作,继续按照如上S601至S603的步骤对接收到的音频帧进行处理,直至接收到目标音频帧并确定出目标音频帧的当前能量分布信息。

S605、基于目标音频帧对应的当前能量分布信息和历史能量分布信息,确定目标音频调整信息。

另外,在系统音量等级未达到最大音量等级,且噪声能量值不大于第一能量阈值的情况下,若未检测到针对待处理音频序列的音量调整操作的情况下,则直接将历史音频调整信息确定为目标音频调整信息即可。

S606、基于目标音频调整信息,对待处理音频序列中位于目标音频帧之后的每个音频帧在多个频点上的能量值进行调整。

如图6所示仅为本公开在系统音量等级未达到最大音量等级,且噪声能量值不大于第一能量阈值的情况下的一种可选实施方式,并不构成对具体实施方式的限定,在更多可能的实现方式中,各步骤的顺序可以按照需要进行调整。

上述仅为系统音量等级未达到最大音量等级,且噪声能量值不大于第一能量阈值的情况下确定目标音频调整信息的过程,其他可能情况下确定目标音频调整信息的过程可以参见下述实施例。

在另一些实施例中,在系统音量等级未达到最大音量等级,且噪声能量值大于第一能量阈值小于第二能量阈值的情况下,基于目标音频帧的当前能量分布信息以及目标音频帧所包括的噪声信号的噪声能量分布信息,确定第二能量分布差异信息;从而基于第二能量分布差异信息、目标音频帧的总体能量值和噪声能量值,确定目标音频调整信息。

其中,噪声能量分布信息可以用于指示噪声信号在多个频域子带上的能量值,第二能量分布差异信息可以用于指示能量分布信息和噪声能量分布信息在多个频域子带上的能量差值。需要说明的是,在获取噪声能量分布信息时,可以以噪声信号的子带频谱曲线作为初始噪声能量分布信息,从而将初始噪声能量分布信息所指示的多个频域子带上的能量值以及初始噪声能量分布信息所指示的多个频域子带上的能量值之和这二者的比值,作为该噪声能量分布信息。

可选地,可以对初始噪声能量分布信息所指示的多个频域子带上的能量值进行求和,以得到初始噪声能量分布信息所指示的多个频域子带上的能量值之和,从而确定噪声能量分布信息所指示的每个频域子带上的能量值与该能量值之和的比值,以得到该噪声能量分布信息。

其中,第二能量阈值可以为任意取值,本公开对第二能量阈值的具体取值不加以限定,仅需保证第二能量阈值大于第一能量阈值即可。

在一种可能的实现方式中,在基于目标音频帧的当前能量分布信息以及目标音频帧所包括的噪声信号的噪声能量分布信息,确定第二能量分布差异信息时,可以确定当前能量分布信息和噪声能量分布信息中对应频域子带上的能量值的差值,以得到当前能量分布信息和噪声能量分布信息在多个频域子带上的能量差值,作为第二能量分布差异信息。

而在基于第二能量分布差异信息、目标音频帧的总体能量值、噪声能量值和第一能量分布信息,确定目标音频调整信息时,可以基于第二能量分布差异信息、目标音频帧的总体能量值、噪声能量值和第三设定参数,确定第一目标参数,从而基于第一目标参数、目标音频帧的总体能量值、第一能量分布信息和第四设定参数,确定目标音频调整信息。

可选地,在基于第二能量分布差异信息、目标音频帧的总体能量值、噪声能量值和第三设定参数,确定第一目标参数时,可以通过如下公式(7)实现:

其中,

需要说明的是,在确定目标音频帧的总体能量值时,可以对第一能量分布信息所指示的多个频域子带上的能量值进行求和,以得到第一能量分布信息所指示的多个频域子带上的能量值之和,作为目标音频帧的总体能量值,而噪声能量值的确定过程可以参见上述实施例,此处不再赘述。

另外,需要说明的是,第三设定参数可以是一个标量数据,例如,第三设定参数可以为一个固定数值;或者,第三设定参数可以为一个矢量数据,例如,不同频域子带对应的第三设定参数的取值可以不同,从而使得第三设定参数可以为一个不同频域子带对应不同取值的变化曲线。可选地,可以由相关技术人员通过实验确定第三设定参数的取值,例如,可以由相关技术人员根据人耳听觉特性曲线进行实验,以确定不同频域子带下比较适合人耳听觉特性的信号能量值,从而根据不同频域子带下比较适合人耳听觉特性的信号能量值确定第三设定参数的取值,以保证基于第三设定参数确定出的目标音频调整信息可以给予用户最好的听感。

可选地,在通过上述公式(7)确定第一目标参数时,可以在预设约束条件下进行第一目标参数的求解,可选地,预设约束条件可以为所确定出的第一目标参数的取值在设定取值范围内,例如,预设约束条件可以为a≤x(k,n)≤b,其中,a和b均可以为任意取值,仅需保证a的取值小于b即可。

通过为第一目标参数的求解过程设置约束条件,以保证经过调整之后的音频帧与前一音频帧这二者的音色不会发生突变,从而可以提高待处理音频序列的音频质量。

在通过上述过程确定出第一目标参数值之后,即可通过如下公式(8),以基于第一目标参数、目标音频帧的总体能量值、第一能量分布信息和第四设定参数,确定目标音频调整信息:

其中,α表示目标音频调整信息,x(k,n)表示第一目标参数,BandE

可选地,第四设定参数可以为任意取值,例如,第四设定参数可以为1或略大于1的取值,本公开对第四设定参数的具体取值不加以限定。

在另一些实施例中,在系统音量等级未达到最大音量等级,且噪声能量值不小于第二能量阈值的情况下,基于目标音频帧的总体能量值以及噪声能量值,确定目标能量差值;从而基于目标能量差值、目标音频帧的总体能量值、噪声能量值、第一能量分布信息和第一能量调整信息,确定目标音频调整信息。

其中,确定目标音频帧的总体能量值以及噪声能量值的过程可以参见上述实施例,此处不再赘述。对于基于目标音频帧的总体能量值以及噪声能量值,确定目标能量差值的过程,可以将目标音频帧的总体能量值与噪声能量值之差,作为目标能量差值。

而在基于目标能量差值、目标音频帧的总体能量值、噪声能量值、第一能量分布信息和第一能量调整信息,确定目标音频调整信息时,可以基于总体能量值、目标音频帧的总体能量值、噪声能量值和第三设定参数,确定第一目标参数,从而基于第一目标参数、目标音频帧的总体能量值、第一能量分布信息、第一能量调整信息和第四设定参数,确定目标音频调整信息。

其中,在基于目标能量差值、目标音频帧的总体能量值、噪声能量值和第三设定参数,确定第一目标参数时,可以通过如下公式(9)实现:

其中,BandE

有关确定目标音频帧的总体能量值和噪声能量值的过程、以及有关第三设定参数的介绍可以参见上述实施例,另外,在通过公式(9)求解第一目标参数时也可以为第一目标参数的求解过程设置约束条件,此处不再赘述。

在通过上述过程确定出第一目标参数值之后,即可通过如下公式(10),以基于第一目标参数、目标音频帧的总体能量值、第一能量分布信息、第一能量调整信息和第四设定参数,确定目标音频调整信息:

其中,E

可选地,第四设定参数可以为任意取值,例如,第四设定参数可以为1或略大于1的取值,本公开对第四设定参数的具体取值不加以限定。

需要说明的是,第一能量调整信息为用于对目标音频帧在各个频点的能量值进行抬升的第一预设能量值,可选地,第一预设能量值可以为任意取值,例如,第一预设能量值可以为3dB,或者,第一预设能量值还可以为其他取值,本公开对第一预设能量值的具体取值不加以限定。

在另一些实施例中,在系统音量等级已达到最大音量等级,且噪声能量值不小于第三能量阈值且不大于第三能量阈值的情况下,基于目标音频帧的当前能量分布信息以及目标音频帧所包括的噪声信号的噪声能量分布信息,确定第二能量分布差异信息;从而基于第二能量分布差异信息、目标音频帧的总体能量值、噪声能量值、第一能量分布信息和第二能量调整信息,确定目标音频调整信息。

其中,第三能量阈值可以为任意取值,本公开对第三能量阈值的具体取值不加以限定,仅需保证第三能量阈值大于第二能量阈值即可。确定目标音频帧的总体能量值、噪声能量值以及第二能量分布差异信息的过程可以参见上述实施例,此处不再赘述。

而在基于第二能量分布差异信息、目标音频帧的总体能量值、噪声能量值、第一能量分布信息和第二能量调整信息,确定目标音频调整信息时,可以基于第二能量分布差异信息、目标音频帧的总体能量值、噪声能量值和第三设定参数,确定第一目标参数,从而基于第一目标参数、目标音频帧的总体能量值、第一能量分布信息、第二能量调整信息和第四设定参数,确定目标音频调整信息。

其中,在基于第二能量分布差异信息、目标音频帧的总体能量值、噪声能量值和第三设定参数,确定第一目标参数的过程可以参见上述实施例,此处不再赘述。

在确定出第一目标参数值之后,即可通过如下公式(11),以基于第一目标参数、目标音频帧的总体能量值、第一能量分布信息、第一能量调整信息和第四设定参数,确定目标音频调整信息:

其中,E

可选地,第四设定参数可以为任意取值,例如,第四设定参数可以为1或略大于1的取值,本公开对第四设定参数的具体取值不加以限定。

需要说明的是,第二能量调整信息为用于对音频帧在各个频点的能量值进行抬升的第二预设能量值,可选地,第二预设能量值可以为任意取值,本公开对第二预设能量值的具体取值不加以限定。

为便于理解,下面通过图7所示的流程图,来对不同情况下的音频处理方式进行说明。参见图7,图7是本公开根据一示例性实施例示出的一种不同情况下的音频调整过程的流程示意图,如图7所示,在接收到下行信号以及下行信号的噪声能量值时,在系统音量等级未达到最大音量等级,且噪声能量值不大于第一能量阈值的情况下,基于目标音频帧对应的当前能量分布信息和历史能量分布信息,确定目标音频调整信息;在系统音量等级未达到最大音量等级,且噪声能量值大于第一能量阈值小于第二能量阈值的情况下,基于第二能量分布差异信息、目标音频帧的总体能量值和噪声能量值,确定目标音频调整信息;在系统音量等级未达到最大音量等级,且噪声能量值不小于第二能量阈值的情况下,基于目标能量差值、目标音频帧的总体能量值、噪声能量值、第一能量分布信息和第一能量调整信息,确定目标音频调整信息;在系统音量等级已达到最大音量等级,且噪声能量值不小于第三能量阈值且不大于第三能量阈值的情况下,基于第二能量分布差异信息、目标音频帧的总体能量值、噪声能量值、第一能量分布信息和第二能量调整信息,确定目标音频调整信息。通过上述任一种方式确定出目标音频调整信息后,即可基于目标音频调整信息,对待处理音频序列进行音频处理。

在通过上述实施例中所提供的任一种方式确定出音频调整信息后,即可基于已确定出的音频调整信息,即可通过S103,基于目标音频调整信息,对待处理音频序列中位于目标音频帧之后的每个音频帧在多个频点上的能量值进行调整。

在一种可能的实现方式中,在基于目标音频调整信息,对待处理音频序列中位于目标音频帧之后的每个音频帧在多个频点上的能量值进行调整时,可以以目标音频调整信息的取值作为对应频点上能量值的权重,以实现对位于目标音频帧之后的每个音频帧在多个频点上的能量值的调整。

由于目标音频调整信息是综合了包括音频帧的总体能量值、噪声能量值、当前能量分布信息、历史能量分布信息等多方面的内容所确定出来的,从而使得目标音频调整信息能更加全面地满足用户在多方面的听感需求,从而使得基于目标音频调整信息处理得到的音频序列也更加满足用户的听感需求,提高了待处理音频序列的音频处理效果。

可选地,在基于所述目标音频调整信息,对待处理音频序列中位于目标音频帧之后的音频帧的在多个频点上的能量值进行调整之后,还可以对调整后的音频帧进行防削波处理。

在一种可能的实现方式中,在调整后的任一音频帧在任一频点上的能量值大于第一设定阈值的情况下,对音频帧在频点上的能量值进行调整,以使音频帧在频点上的能量值小于或等于第一设定阈值。

在另一种可能的实现方式中,在调整后的任一音频帧在任一频点上的能量值小于第二设定阈值的情况下,对音频帧在频点上的能量值进行调整,以使音频帧在频点上的能量值大于或等于第二设定阈值。

其中,第一设定阈值和第二设定阈值均可以为任意取值,本公开对第一设定阈值和第二设定阈值的取值不加以限定,仅需保证第二设定阈值小于第一设定阈值即可。

通过上述过程即可实现将每个音频帧中各个频点的能量值控制在第二设定阈值和第二设定阈值所组成的取值区间内,能量值在第二设定阈值和第二设定阈值所组成的取值区间内时音频效果较佳,从而可以进一步提高待处理音频序列的音频处理效果。

例如,可以在基于所述目标音频调整信息,对待处理音频序列中位于目标音频帧之后的任一音频帧的在多个频点上的能量值进行调整之后,获取该音频帧在每个频点上经过调整的能量值,在任一频点上的能量值大于第一设定阈值时,即可以将该频点上的能量值调整为第一设定阈值,以使该频点上的能量值位于第二设定阈值和第二设定阈值所组成的取值区间;此外,在任一频点上的能量值小于第二设定阈值时,即可以将该频点上的能量值调整为第二设定阈值,以使该频点上的能量值位于第二设定阈值和第二设定阈值所组成的取值区间。

通过本公开所提供的方案,可以根据外界环境(主要是噪声大小)和用户对系统音量的操作自动选择确定音频调整信息的方式,从而使得当外界环境或者系统音量发生变化时,所采用的确定音频调整信息的方式也是随之变化的,基于此,本公开可以在系统音量等级及噪声能量值不同的多种情形下,均可以实现对于正在实施的处理方案中所产生的中间变量和历史结果的保存,以便后续系统音量等级调整或噪声能量值变化之后可以直接获取到相关中间变量和历史结果,以保证较好的、连续的用户体验。

可选地,可以通过软件提供本公开所提供的音频处理功能,例如,可以通过一种基于实时通讯的服务软件,来提供本公开所提供的音频处理功能。可选地,可以将软件布局在计算设备上,以使计算设备可以通过本公开所提供的音频处理方法来对待处理音频序列进行音频处理。

布局在计算设备上的软件可以提供多种类型的功能按钮供用户根据自己的使用需求对相应功能进行设置和调节,例如,该软件可以提供供用户设置是否启用音频自适应调整功能的按钮,在通过该按钮确认启用音频自适应调整功能的情况下,软件内部算法即可通过计算和调优进行相关处理,以保证后续用户在播放音频时,可以根据用户的设置和习惯提供更优的听感和可懂度体验。

可选地,为了保证软件使用过程中的安全性和灵活性,可以为各个用户配置用户标识(Identity,ID),用户可以基于用户ID登录软件,以保证同一台设备、同一个软件可以为不同的用户提供使用功能,以使同一台设备、同一个软件可以根据不同的用户设置提供对应的听力辅助/听感优化效果。

在介绍了本公开示例性实施方式的音频处理方法之后,接下来,对本公开示例性实施方式的音频处理装置以及用于实现音频处理方法的计算设备、计算机可读存储介质的结构进行说明。

参见图8,图8是本公开根据一示例性实施例示出的一种音频处理装置的框图,该装置包括:

获取模块801,用于响应于针对待处理音频序列的音量调整操作,获取待处理音频序列中目标音频帧对应的当前能量分布信息和历史能量分布信息,目标音频帧为经过音量调整的音频帧中位于预设帧数处的音频帧,当前能量分布信息用于指示目标音频帧在多个频域子带上的能量值,历史能量分布信息用于指示目标音频帧的前一个音频帧在多个频域子带上的能量值;

确定模块802,用于基于目标音频帧对应的当前能量分布信息和历史能量分布信息,确定目标音频调整信息,目标音频调整信息用于对位于目标音频帧之后的任一音频帧在多个频点上的能量值进行调整;

调整模块808,用于基于目标音频调整信息,对待处理音频序列中位于目标音频帧之后的每个音频帧在多个频点上的能量值进行调整。

在本公开的一个实施例中,确定模块802,在用于基于目标音频帧对应的当前能量分布信息和历史能量分布信息,确定目标音频调整信息时,用于:

基于当前能量分布信息以及历史能量分布信息,确定第一能量分布差异信息,第一能量分布差异信息用于指示当前能量分布信息和历史能量分布信息在多个频域子带上的能量差值;

基于历史音频调整信息和第一能量分布差异信息,确定目标音频调整信息,历史音频调整信息为响应于上一次针对待处理音频序列的音量调整操作所确定出的音频调整信息。

在本公开的一个实施例中,确定模块802,在用于基于历史音频调整信息和第一能量分布差异信息,确定目标音频调整信息时,用于:

以第一设定参数对第一能量分布差异信息进行加权处理,并基于加权后的第一能量分布差异信息,以及历史音频调整信息,确定目标音频调整信息。

在本公开的一个实施例中,确定模块802,在用于以第一设定参数对第一能量分布差异信息进行加权处理,并基于加权后的第一能量分布差异信息,以及历史音频调整信息,确定目标音频调整信息时,用于:

以第一设定参数作为第一能量分布差异信息的权重,对第一能量分布差异信息进行加权处理,得到加权后的第一能量分布信息;

确定加权后的第一能量分布信息和历史音频调整信息的和值,作为目标音频调整信息。

在本公开的一个实施例中,确定模块802,还用于每接收到待处理音频序列中的一个音频帧,则确定音频帧在每个频域子带上的能量值以及音频帧的总体能量值;

确定模块802,还用于在所接收到的音频帧的总体能量值大于设定能量阈值的情况下,基于音频帧对应的历史能量分布信息和音频帧在多个频域子带上的能量值,确定音频帧的当前能量分布信息。

在本公开的一个实施例中,确定模块802,在用于确定音频帧在每个频域子带上的能量值以及音频帧的总体能量值时,用于:

确定音频帧在每个频域子带上的信号能量值;

对音频帧在各个频域子带上的信号能量值进行求和,得到音频帧的总体能量值。

在本公开的一个实施例中,确定模块802,在用于基于音频帧对应的历史能量分布信息和音频帧在多个频域子带上的能量值,确定音频帧的当前能量分布信息时,用于:

以第二设定参数分别对音频帧在多个频域子带上的能量值与历史能量分布信息所指示的对应频域子带上的能量值进行加权处理,并基于加权处理所得到的结果确定第一能量分布信息;

基于第一能量分布信息所指示的多个频域子带上的能量值以及第一能量分布信息所指示的多个频域子带上的能量值之和,确定当前能量分布信息;

其中,第二设定参数基于待处理音频序列的采样率和预设时长确定,预设时长为用于对待处理音频序列中每个音频帧的频谱进行平滑处理所需的时长。

在本公开的一个实施例中,确定模块802,在用于以第二设定参数分别对音频帧在多个频域子带上的能量值与历史能量分布信息所指示的对应频域子带上的能量值进行加权处理,并基于加权处理所得到的结果确定第一能量分布信息时,用于:

以第二设定参数作为音频帧在多个频域子带上的能量值的权重,对音频帧在多个频域子带上的能量值进行加权处理,以设定参数值与第二设定参数的差值作为历史能量分布信息的权重,对历史能量分布信息进行加权处理;

确定两次加权处理所得到的结果的和值,作为第一能量分布信息。

在本公开的一个实施例中,获取模块801,在用于响应于针对待处理音频序列的音量调整操作,获取待处理音频序列中目标音频帧对应的当前能量分布信息和历史能量分布信息时,用于:

响应于针对待处理音频序列的音量调整操作,在接收到的音频帧的总体能量值大于设定能量阈值的情况下,执行基于音频帧对应的历史能量分布信息和音频帧在多个频域子带上的能量值,确定音频帧的当前能量分布信息的步骤;

在接收到目标音频帧且已确定出目标音频帧的当前能量分布信息的情况下,执行获取待处理音频序列中目标音频帧对应的当前能量分布信息和历史能量分布信息的步骤。

在本公开的一个实施例中,确定模块802,还用于在未检测到针对待处理音频序列的音量调整操作的情况下,将历史音频调整信息确定为目标音频调整信息。

在本公开的一个实施例中,在未对待处理音频序列进行音量调整操作的情况下,将多个频域子带对应取值均为1的向量曲线作为历史音频调整信息。

在本公开的一个实施例中,获取模块801,还用于获取目标音频帧的噪声能量值,噪声能量值由待处理音频序列的发送端基于目标音频帧确定得到;

获取模块801,还用于在系统音量等级未达到最大音量等级,且噪声能量值不大于第一能量阈值的情况下,执行响应于针对待处理音频序列的音量调整操作,获取待处理音频序列中目标音频帧对应的当前能量分布信息和历史能量分布信息的步骤。

在本公开的一个实施例中,确定模块802,还用于在系统音量等级未达到最大音量等级,且噪声能量值大于第一能量阈值小于第二能量阈值的情况下,基于目标音频帧的当前能量分布信息以及目标音频帧所包括的噪声信号的噪声能量分布信息,确定第二能量分布差异信息,噪声能量分布信息用于指示噪声信号在多个频域子带上的能量值,第二能量分布差异信息用于指示能量分布信息和噪声能量分布信息在多个频域子带上的能量差值;

确定模块802,还用于基于第二能量分布差异信息、目标音频帧的总体能量值、噪声能量值和第一能量分布信息,确定目标音频调整信息,第一能量分布信息基于音频帧在多个频域子带上的能量值与历史能量分布信息所指示的对应频域子带上的能量值的加权处理结果确定得到。

在本公开的一个实施例中,确定模块802,还用于在系统音量等级未达到最大音量等级,且噪声能量值不小于第二能量阈值且不大于第三能量阈值的情况下,基于目标音频帧的总体能量值以及噪声能量值,确定目标能量差值,目标音频帧的总体能量值为目标音频帧在各个频域子带上的信号能量值之和;

确定模块802,还用于基于目标能量差值、目标音频帧的总体能量值、噪声能量值、第一能量分布信息和第一能量调整信息,确定目标音频调整信息,第一能量调整信息为用于对目标音频帧在各个频点的能量值进行抬升的第一预设能量值。

在本公开的一个实施例中,确定模块802,还用于在系统音量等级已达到最大音量等级,且噪声能量值不小于第三能量阈值的情况下,基于目标音频帧的当前能量分布信息以及目标音频帧所包括的噪声信号的噪声能量分布信息,确定第二能量分布差异信息;

确定模块802,还用于第二能量分布差异信息、目标音频帧的总体能量值、噪声能量值、第一能量分布信息和第二能量调整信息,确定目标音频调整信息,第二能量调整信息为用于对音频帧在各个频点的能量值进行抬升的第二预设能量值。

在本公开的一个实施例中,调整模块808,还用于在调整后的任一音频帧在任一频点上的能量值大于第一设定阈值的情况下,对音频帧在频点上的能量值进行调整,以使音频帧在频点上的能量值小于或等于第一设定阈值;

调整模块808,还用于在调整后的任一音频帧在任一频点上的能量值小于第二设定阈值的情况下,对音频帧在频点上的能量值进行调整,以使音频帧在频点上的能量值大于或等于第二设定阈值。

应当注意,尽管在上文详细描述中提及了音频处理装置的若干模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。此外,需要说明的是,由于装置实施例和方法实施例相对应,因而,装置实施例中各个模块的功能和作用的实现过程具体可以详见上述方法中对应步骤的实现过程,在此不再赘述。

本公开实施例还提供了一种计算机可读存储介质。图9是本公开根据一示例性实施例示出的一种计算机可读存储介质的示意图,如图9所示,该存储介质上存储有计算机程序901,该计算机程序901被处理器执行时可以执行本公开任一实施例所提供的音频处理方法。

本公开实施例还提供了一种计算设备,该计算设备可以包括存储器、处理器,该存储器用于存储可在处理器上运行的计算机指令,该处理器用于在执行该计算机指令时实现本公开任一实施例所提供的音频处理方法。参见图10,图10是本公开根据一示例性实施例示出的一种计算设备的结构示意图,该计算设备1000可以包括但不限于:处理器1010、存储器1020、连接不同系统组件(包括存储器1020和处理器1010)的总线1030。

其中,存储器1020存储有计算机指令,该计算机指令可以被处理器1010执行,使得处理器1010能够执行本公开任一实施例所提供的音频处理方法。存储器1020可以包括随机存取存储单元RAM1021、高速缓存存储单元1022和/或只读存储单元ROM1023。该存储器1020还可以包括:具有一组程序模块1024的程序工具1025,该程序模块1024包括但不限于:操作系统、一个或多个应用程序、其他程序模块和程序数据,这些程序模块一种或多种组合可以包含网络环境的实现。

总线1030例如可以包括数据总线、地址总线和控制总线等。该计算设备1000还可以通过I/O接口1040与外部设备1050通信,该外部设备1050例如可以是键盘、蓝牙设备等。该计算设备1000还可以通过网络适配器1060与一个或多个网络通信,例如,该网络可以是局域网、广域网、公共网络等。如图10所示,该网络适配器1060还可以通过总线1030与计算设备1000的其他模块进行通信。

本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,程序被计算设备1000的处理器1010执行时,可以实现本公开任一实施例所提供的音频处理方法。

此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

技术分类

06120115629052