一种音频处理方法、设备及计算机可读存储介质
文献发布时间:2023-06-19 11:17:41
技术领域
本申请涉及音频处理技术领域,更具体地说,涉及一种音频处理方法、系统、设备及计算机可读存储介质。
背景技术
当前,在对音乐、人声等音频的处理过程中,有时需要用到音频的截止频率,截止频率也即包含声音的有效频段的上限频率值,比如可以通过奈奎斯特准则(nyquist)来确定音频的截止频率。在奈奎斯特准则中,认为音频的截止频率为音频采样频率的一半,但由于采样方法或者设备等的限制,实际获得的音频可能并不满足奈奎斯特准则,由此使得根据奈奎斯特准则确定出的截止频率与实际情况可能并不相符,最终影响音频处理的准确性。
综上所述,发明人发现现有技术中至少存在对音频处理准确性差的问题。
发明内容
有鉴于此,本发明的目的在于提供一种音频处理方法、装置、设备及计算机可读存储介质,能够提高音频处理的准确性。其具体方案如下:
第一方面,本申请公开了一种音频处理方法,包括:
获取待处理的目标音频;
计算所述目标音频的功率谱;
确定所述功率谱中存在功率变化幅度最大的待分析频率值,则判断比所述待分析频率值大的频率值对应的所述功率谱是否平稳;
若比所述待分析频率值大的频率值对应的所述功率谱平稳,则将所述待分析频率值确定为所述截止频率,以基于所述截止频率对所述目标音频进行处理。
可选的,还包括:
确定所述功率谱中不存在所述待分析频率值,则将所述目标音频采样频率的一半确定为所述截止频率。
可选的,还包括:
若比所述待分析频率值大的频率值对应的所述功率谱不平稳,则将所述目标音频采样频率的一半确定为所述截止频率。
可选的,确定所述功率谱中是否存在功率变化幅度最大的所述待分析频率值,包括:
计算所述功率谱随频率的差分值;
判断是否存在值最小的所述差分值对应的所述待分析频率值,且所述待分析频率左右两边频率值对应的所述差分值均大于所述待分析频率值对应的所述差分值;
若不存在所述待分析频率值,则确定所述功率谱中不存在所述待分析频率值;
若存在所述待分析频率值,则确定所述功率谱中存在所述待分析频率值。
可选的,所述判断是否存在值最小的所述差分值对应的所述待分析频率值,且所述待分析频率左右两边频率值对应的所述差分值均大于所述待分析频率值对应的所述差分值,包括:
在所述差分值随频率的变化关系中,判断是否存在最小波谷点;
若不存在所述最小波谷点,则判定不存在所述待分析频率值;
若存在所述最小波谷点,则将所述最小波谷点对应的频率确定为所述待分析频率值。
可选的,所述判断比所述待分析频率值大的频率值对应的所述功率谱是否平稳,包括:
在所述功率谱中,判断比所述待分析频率值大的频率值中,是否存在对应功率谱增长的频率值;若不存在所述对应功率谱增长的频率值,则在比所述待分析频率值大的频率值中选取出待运算频率值;若存在所述对应功率谱增长的频率值,则将所述对应功率谱增长的频率值确定为待运算频率值;
计算大于等于所述待运算频率值的频率值对应的功率谱的标准差值;
判断所述标准差值是否小于预设阈值;
若所述标准差值小于所述预设阈值,则确定比所述待分析频率值大的频率值对应的所述功率谱平稳;
若所述标准差值大于等于所述预设阈值,则确定比所述待分析频率值大的频率值对应的所述功率谱不平稳。
可选的,所述计算所述功率谱随频率的差分值,包括:
对所述功率谱进行静音抑制,得到处理功率谱;
计算所述处理功率谱随频率的所述差分值。
可选的,所述对所述功率谱进行静音抑制,得到处理功率谱,包括:
对所述功率谱进行平滑处理,得到平滑功率谱;
对所述平滑功率谱进行所述静音抑制,得到所述处理功率谱。
可选的,所述计算所述目标音频的功率谱,包括:
基于所述目标音频的时域信号能量对所述目标音频进行静音抑制,得到处理音频;
计算所述处理音频的所述功率谱。
可选的,所述计算所述功率谱随频率的差分值,包括:
基于所述功率谱,计算每帧音频的平均功率谱;
计算所有所述音频的所述平均功率谱随频率的所述差分值。
可选的,所述计算每帧音频的平均功率谱,包括:
对于每帧所述音频,在所述音频的预设频率处,获取预设长度的所述功率谱,将获取的所述功率谱的平均值作为所述音频的所述平均功率谱。
可选的,所述计算所述目标音频的功率谱,包括:
计算所述目标音频的对数功率谱。
第二方面,本申请公开了一种音频处理装置,包括:
音频获取模块,用于获取待处理的目标音频;
功率谱计算模块,用于计算所述目标音频的功率谱;
截止频率判断模块,用于确定所述功率谱中存在功率变化幅度最大的待分析频率值,则判断比所述待分析频率值大的频率值对应的所述功率谱是否平稳;若比所述待分析频率值大的频率值对应的所述功率谱平稳,则将所述待分析频率值确定为所述截止频率,以基于所述截止频率对所述目标音频进行处理。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的音频处理方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述公开的音频处理方法。
本申请中,在获取待处理的目标音频之后,需先计算目标音频的功率谱;因为截止频率不是音频采样频率一半的话,截止频率附近的功率谱变化幅度最大,所以需判断功率谱中是否存在功率变化幅度最大的待分析频率值,确定功率谱中存在待分析频率值,则还需进一步对待分析频率值为截止频率的准确性进行判断,因为截止频率之后的功率谱处于平稳状态,所以可以判断比待分析频率值大的频率值对应的功率谱是否平稳;若比待分析频率值大的频率值对应的功率谱平稳,则将待分析频率值确定为截止频率,以得到准确的截止频率,这样基于截止频率对目标音频进行处理的话,可以提高音频处理的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的音频处理所适用的系统框架示意图;
图2为本申请实施例提供的一种音频处理方法流程图;
图3为本申请实施例提供的一种音频处理方法流程图;
图4为一种功率谱及差分值的示意图;
图5为本申请实施例提供的一种音频处理方法流程图;
图6为本申请中功率谱平稳判断方法的流程图;
图7为功率谱的平滑处理示意图;
图8为静音抑制的流程图;
图9为一种目标音频的频率及功率谱信息图;
图10为一种目标音频的频率及功率谱信息图;
图11为一种功率谱及差分值的示意图;
图12为本申请提供的一种音频处理装置结构示意图;
图13为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
当前,在对音乐、人声等音频的处理过程中,有时需要用到音频的截止频率,截止频率也即包含声音的有效频段的上限频率值,比如可以通过奈奎斯特准则(nyquist)来确定音频的截止频率。在奈奎斯特准则中,认为音频的截止频率为音频采样频率的一半,但由于采样方法或者设备等的限制,实际获得的音频可能并不满足奈奎斯特准则,由此使得根据奈奎斯特准则确定出的截止频率与实际情况可能并不相符,最终影响音频处理的准确性。为了克服上述技术问题,本申请提供了一种音频处理方案,能够提高音频处理的准确性。
本申请的音频处理方案中,采用的系统框架具体可以参见图1所示,具体可以包括:后台服务器01和与后台服务器01建立通信连接的若干数量的用户端02。
本申请中,后台服务器01用于执行音频处理步骤,包括获取待处理的目标音频;计算目标音频的功率谱;确定功率谱中存在功率变化幅度最大的待分析频率值,则判断比待分析频率值大的频率值对应的功率谱是否平稳;若比待分析频率值大的频率值对应的功率谱平稳,则将待分析频率值确定为截止频率,以基于截止频率对目标音频进行处理。
进一步的,后台服务器01中还可以设有音频数据库、功率谱数据库以及待分析频率值数据库及截止频率数据库等。其中,音频数据库用于保存各种目标音频,如音乐音频数据、人声音频数据等。功率谱数据库中具体可以用于保存对目标音频计算得到的功率谱数据。待分析频率值数据库则可以用来保存需判断是否为截止频率的待分析频率值。截止频率数据库则可以用来保存目标音频的截止频率。
当然,本申请也可以将上述目标音频数据库设置在第三方的业务服务器中,通过上述业务服务器可以专门收集业务端上传的目标音频数据。如此一来,当后台服务器01需要使用目标音频时,可以通过向上述业务服务器发起相应的目标音频调用请求的方式来获取相应的目标音频。且本申请中,后台服务器01可以对一个或多个用户端02的音频处理请求进行响应等。
图2为本申请实施例提供的一种音频处理方法流程图。参见图2所示,该音频处理方法包括:
步骤S11:获取待处理的目标音频。
本实施例中,待处理的目标音频指的是需要确定截止频率的音频,因为受到音频采集方式及音频采集设备等的影响,目标音频的截止频率可能并非音频采样频率的一半,此时如果直接将目标音频采样频率的一半作为目标音频的截止频率的话,在对目标音频进行处理,比如对目标音频进行时频掩蔽等处理时,会使得截止频率到采样频率的一半间的信号功率(或幅度)为0,此时若作为除数使用的话,会出现异常,即使在处理过程中考虑到该异常,而对该值进行最小值处理的话,因为此时的该值已经不再反映真实的频谱信息,所以会导致对目标音频的处理不准确,因此,为了提高对目标音频的处理准确性,需按照本申请提供的方法来准确确定目标音频的截止频率,以基于截止频率对目标音频进行准确处理。
可以理解的是,目标音频的类型可以根据实际应用场景来确定,本申请在此不做具体限定。
步骤S12:计算目标音频的功率谱。
本实施例中,因为截止频率之后的频率部分不再有音频,所以截止频率前后的功率谱信息的变化幅度最大,所以在确定截止频率的过程中,可以先计算目标音频的功率谱,以借助功率谱对目标音频的截止频率进行判断。
可以理解的是,计算目标音频的功率谱的方法可以根据实际需要确定,比如可以对目标音频进行短时傅里叶变换来得到相应的功率谱,在此过程中,需要对目标音频进行分帧、加窗、离散傅里叶变换、再计算功率谱,且在短时傅里叶变换过程中应用的帧移、帧长等可以根据目标音频或者处理需求等来确定,比如本申请中短时傅里叶变换时应用的帧移可以为20ms,帧长可以为30ms等,则整个短时傅里叶变换过程可以如下:
通过分帧公式x
通过加窗公式xw
通过离散傅里叶变换公式对加窗结果进行变换,离散傅里叶变换公式可以如下:
其中,X(n,k)表示第n帧信号的傅里叶变换结果;k表示频点;N表示傅里叶变换的点数,且当帧长L<N时,需要对xw
通过功率谱计算公式P(n,k)=||X(n,k)||
可以理解的是,在计算目标音频的功率谱的过程中,为了显示或者计算的方便,可以计算目标音频的对数功率谱,比如利用P
步骤S13:确定功率谱中存在功率变化幅度最大的待分析频率值,执行步骤S14。
本实施例中,在计算得到目标音频的功率谱之后,如果确定功率谱中存在功率变化幅度最大的待分析频率值,此时需进一步判断待分析频率值是否为截止频率,因为在待分析频率值并非采样频率一半的情况下,功率谱中也可能存在功率变化幅度最大的待分析频率值。相应的,如果确定确定功率谱中不存在待分析频率值,则可以直接将目标音频采样频率的一半确定为截止频率。
步骤S14:判断比待分析频率值大的频率值对应的功率谱是否平稳;若比待分析频率值大的频率值对应的功率谱平稳,则执行步骤S15。
步骤S15:将待分析频率值确定为截止频率,以基于截止频率对目标音频进行处理。
本实施例中,在功率谱中存在待分析频率值的情况下,对功率谱进行分析可知,截止频率为采样频率的一半、及截止频率并非采样频率的一半的情况下,待分析频率值之后的功率谱的稳定性并不相同,具体的,截止频率为采样频率的一半的情况下,比待分析频率值大的频率值对应的功率谱并不平稳,而在截止频率并非采样频率的一半的情况下,比待分析频率值大的频率值对应的功率谱是平稳的,所以为了准确确定截止频率,还需判断比待分析频率值大的频率值对应的功率谱是否平稳;若比待分析频率值大的频率值对应的功率谱平稳,则可以将待分析频率值确定为截止频率,以基于截止频率对目标音频进行处理,比如在截止频率并非采样频率的一半的情况下,通过对目标音频进行降采样处理来节省音频存储空间或传输字节数等。相应的,如果确定比待分析频率值大的频率值对应的功率谱不平稳,则可以将目标音频采样频率的一半确定为截止频率;
本申请中,在获取待处理的目标音频之后,需先计算目标音频的功率谱;因为截止频率不是音频采样频率一半的话,截止频率附近的功率谱变化幅度最大,所以需判断功率谱中是否存在功率变化幅度最大的待分析频率值,若功率谱中存在待分析频率值,则还需进一步对待分析频率值为截止频率的准确性进行判断,因为截止频率之后的功率谱处于平稳状态,所以可以判断比待分析频率值大的频率值对应的功率谱是否平稳;若比待分析频率值大的频率值对应的功率谱平稳,则将待分析频率值确定为截止频率,以得到准确的截止频率,这样基于截止频率对目标音频进行处理的话,可以提高音频处理的准确性。
图3为本申请实施例提供的一种音频处理方法流程图。参见图3所示,该音频处理方法包括:
步骤S21:获取待处理的目标音频。
步骤S22:计算目标音频的功率谱。
步骤S23:计算功率谱随频率的差分值。
步骤S24:判断是否存在值最小的差分值对应的待分析频率值,且待分析频率左右两边频率值对应的差分值均大于待分析频率值对应的差分值;若不存在待分析频率值,则执行步骤S25;若存在待分析频率值,则执行步骤S26。
本实施例中,因为待分析频率值为功率谱中变化幅度最大的频率值,反映在功率谱的差分值上的话,便是待分析频率值对应的差分值最小,如图4所示,图4中的横坐标表示频率,纵坐标表示功率,且待分析频率左右两边频率值对应的差分值均大于待分析频率值对应的差分值,所以在确定功率谱中是否存在功率变化幅度最大的待分析频率值的过程中,可以计算功率谱随频率的差分值;判断是否存在值最小的差分值对应的待分析频率值,且待分析频率左右两边频率值对应的差分值均大于待分析频率值对应的差分值;若不存在待分析频率值,则确定功率谱中不存在待分析频率值;若存在待分析频率值,则确定功率谱中存在待分析频率值。以便快速判断功率谱中是否存在功率变化幅度最大的待分析频率值。
步骤S25:将目标音频采样频率的一半确定为截止频率。
步骤S26:判断比待分析频率值大的频率值对应的功率谱是否平稳;若比待分析频率值大的频率值对应的功率谱不平稳,则执行步骤S27;若比待分析频率值大的频率值对应的功率谱平稳,则执行步骤S28。
步骤S27:将目标音频采样频率的一半确定为截止频率。
步骤S28:将待分析频率值确定为截止频率,以基于截止频率对目标音频进行处理。
图5为本申请实施例提供的一种音频处理方法流程图。参见图5所示,该音频处理方法包括:
步骤S31:获取待处理的目标音频。
步骤S32:计算目标音频的功率谱。
步骤S33:计算功率谱随频率的差分值。
步骤S34:在差分值随频率的变化关系中,判断是否存在最小波谷点;若不存在最小波谷点,则执行步骤S35;若存在最小波谷点,则执行步骤S36。
本实施例中,对图4进行分析后可知,如果能够得到差分值随频率的变化关系的话,便可以直接根据该变化关系确定出待分析频率值,因为待分析频率值对应的差分值在该变化关系上体现为最小波谷点,所以在判断是否存在值最小的差分值对应的待分析频率值,且待分析频率左右两边频率值对应的差分值均大于待分析频率值对应的差分值的过程中,为了快速确定是否存在待分析频率值,可以在差分值随频率的变化关系中,判断是否存在最小波谷点;若不存在最小波谷点,则判定不存在待分析频率值;若存在最小波谷点,则将最小波谷点对应的频率确定为待分析频率值。
可以理解的是,实际应用中,可以通过下述的最小波谷点确定公式等来快速、方便的确定最小波谷点,进而来确定待分析频率值,最小波谷点确定公式可以为:
Pd
其中,arg表示对函数求参数;k
步骤S35:将目标音频采样频率的一半确定为截止频率。
步骤S36:判断比待分析频率值大的频率值对应的功率谱是否平稳;若比待分析频率值大的频率值对应的功率谱不平稳,则执行步骤S37;若比待分析频率值大的频率值对应的功率谱平稳,则执行步骤S38。
步骤S37:将目标音频采样频率的一半确定为截止频率。
步骤S38:将待分析频率值确定为截止频率,以基于截止频率对目标音频进行处理。
图6为本申请中功率谱平稳判断方法的流程图。参见图6所示,音频处理方法中判断功率谱是否平稳的过程可以包括以下步骤:
步骤S41:在功率谱中,判断比待分析频率值大的频率值中,是否存在对应功率谱增长的频率值;若不存在对应功率谱增长的频率值,则执行步骤S42;若存在对应功率谱增长的频率值,则执行步骤S43;
步骤S42:在比待分析频率值大的频率值中选取出待运算频率值,执行步骤S44。
步骤S43:将对应功率谱增长的频率值确定为待运算频率值,执行步骤S44。
本实施例中,在判断比待分析频率值大的频率值对应的功率谱是否平稳的过程中,因为对应功率谱增长的频率值对功率谱的平稳影响明显,所以为了快速判断功率谱是否平稳,可以先确定出对应功率谱增长的频率值,再根据该频率值判断功率谱是否平稳,也即可以在功率谱中,判断比待分析频率值大的频率值中,是否存在对应功率谱增长的频率值;若不存在对应功率谱增长的频率值,则在比待分析频率值大的频率值中选取出待运算频率值;若存在对应功率谱增长的频率值,则将对应功率谱增长的频率值确定为待运算频率值。
可以理解的是,在不存在对应功率谱增长的频率值的情况下,可以将比待分析频率值大1的频率值作为待运算频率值等;而在存在对应功率谱增长的频率值的情况下,可以将离待分析频率值最近的对应功率谱增长的频率值确定为待运算频率值等;本申请在此不做具体限定。
且在实际应用中,为了便于确定对应功率谱增长的频率值,可以通过下述公式来确定对应功率谱增长的频率值,该公式可以为:
其中,k
步骤S44:计算大于等于待运算频率值的频率值对应的功率谱的标准差值。
步骤S45:判断标准差值是否小于预设阈值;若标准差值小于预设阈值,则执行步骤S46;若标准差值大于等于预设阈值,则执行步骤S47。
步骤S46:确定比待分析频率值大的频率值对应的功率谱平稳。
步骤S47:确定比待分析频率值大的频率值对应的功率谱不平稳。
本实施例中,在确定待运算频率值之后,为了快速根据待运算频率值确定功率谱是否平稳,可以计算大于等于待运算频率值的频率值对应的功率谱的标准差值;判断标准差值是否小于预设阈值;若标准差值小于预设阈值,则确定比待分析频率值大的频率值对应的功率谱平稳;若标准差值大于等于预设阈值,则确定比待分析频率值大的频率值对应的功率谱不平稳。
可以理解的是,预设阈值的大小可以根据实际需要,比如预设阈值可以为0.1等;当然,实际应用中,还可以计算大于等于待运算频率值的频率值对应的功率谱的方差等可以反映功率谱是否平稳的参数,本申请在此不做具体限定。
本公开提供的音频处理方法中,因为目标音频中可能存在静音或者对音频处理来说不必要的音频信息,而这些音频信息对音频处理来说是非必要的,所以为了后续音频处理的方便,在计算功率谱随频率的差分值的过程中,可以对功率谱进行静音抑制(VAD),得到处理功率谱;再计算处理功率谱随频率的差分值。
可以理解的是,对功率谱进行静音抑制的方式可以根据实际需要确定,比如可以设定静音抑制中有效音频的最小功率值和最大功率值,并将功率谱中处于该最小功率值及最大功率值间的功率谱保存下来,对其余的功率谱进行剔除,以得到有效音频的功率谱信息及有效音频;且实际应用中,还可以设置有效音频的长度预设值及相邻距离,在有效音频的长度达不到该长度预设值的情况下,可以将该有效音频剔除,或者在相邻有效音频的间隔小于该相邻距离的情况下,将这相邻的两个有效音频进行拼接来作为一个有效音频等。
本公开提供的音频处理方法中,因为计算得到的功率谱中可能存在噪声信息,如果直接对功率谱进行处理的话,会影响处理准确性,所以为了保证处理准确性,在对功率谱进行静音抑制,得到处理功率谱的过程中,可以对功率谱进行平滑处理,得到平滑功率谱;对平滑功率谱进行静音抑制,得到处理功率谱。
可以理解的是,实际应用中,可以通过卷积操作来对功率谱进行平滑处理,在此过程中所应用的帧信号的时长可以根据实际需要确定,比如该时长为0.400s等,则在上述计算的对数功率谱的基础上,对该对数功率谱进行平滑的过程可以如下:
根据帧移及帧信号的时长确定平滑操作的帧点数M=0.400/0.02=20;
计算
根据M及B确定长度为M+1的平滑核函数S
对S
应用归一化处理后的S
其中,Ps
且在此过程中,为了便于计算,可以将各个频点上的功率谱均值的对数结果作为当前帧的功率值,也即
相应的,在对平滑功率谱进行静音抑制,得到处理功率谱的过程中,可以先根据经验设定有效音频的最小功率值thrL,比如设定thrL=30dB等,再将对数功率值的均值的一半设定为有效音频的最大功率值,也即
步骤S101:初始化n、idx、ns、ne的值为0;
步骤S102:判断n的功率值是否大于最大功率值及ns的值是否为0,若是,则执行步骤S103;若否,则执行步骤S104。
步骤S104:判断n的功率值是否小于最小功率值,若否,则执行步骤S103;若是,则执行步骤S105。
步骤S105:判断n是否大于ns及n
步骤S106:将is的值设为0,执行步骤S103。
步骤S107:将0、(ns-n
步骤S108:判断ne的值是否大于0及ns是否小于ne,若是,则执行步骤S109;若否,则执行步骤S110。
步骤S109:将有效音频的结束帧索引的值设为n-1;执行步骤S111。
步骤S110:将idx的值加1,将有效音频的起始帧位置的值设为ns,将有效音频的结束帧索引的值设为n-1,执行步骤S111。
步骤S111:将n-1的值赋为ne的值,将ns的值设为0,执行步骤S103。
步骤S103:将n的值赋予ns,将n的值加1,执行步骤S112。
步骤S112:判断n是否大于等于T,若否,则返回执行步骤S102;若是,则执行步骤S113。
步骤S113:判断ns的值是否不等于0,若是,则将idx的值加1进行输出,将ns作为有效音频的起始帧位置的值进行输出,将T-1作为有效音频的结束帧索引的值进行输出,并结束;若否,则直接结束。
需要说明的是,本公开提供的音频处理方法中,还可以在计算功率谱之前便对目标音频进行静音抑制,也即在计算目标音频的功率谱的过程中,还可以基于目标音频的时域信号能量对目标音频进行静音抑制,得到处理音频;再计算处理音频的功率谱。
本公开提供的音频处理方法中,为了提升计算速度,可以通过计算每帧音频的平均功率谱来作为整个音频的功率谱信息进行相应计算,也即计算功率谱随频率的差分值的过程中,可以基于功率谱,计算每帧音频的平均功率谱;计算所有音频的平均功率谱随频率的差分值。
本实施例中,在计算每帧音频的平均功率谱的过程中,对于每帧音频,可以在音频的预设频率处,获取预设长度的功率谱,将获取的功率谱的平均值作为音频的平均功率谱。比如可以在音频的0.25、0.5、0.75倍长度位置对应的频率处,各获取0.5s长度的功率谱,再将获取的功率谱的平均值作为该音频的平均功率谱,这样,在以对数功率谱为计算基础的情况下,平均功率谱计算公式可以为:
其中,T
当然,预设频率处、预设长度的值可以根据实际需要确定,本申请在此不做具体限定,比如在已知目标音频分布稳定的前提下,可以根据实际需要以及处理速度考虑随机提取0.5s甚至更短,但最好是大于10帧的时差,即大于0.2s的长度音频功率谱来计算平均功率谱等。
可以理解的是,计算所有音频的平均功率谱随频率的差分值的过程中,还可以对平均功率谱进行平滑处理,平滑处理的相关参数可以参阅上述实施例,再计算平滑后的平均功率谱随频率的差分值,也即可以先计算:
再计算Pd
下面以对某款音乐客户端APP的音频处理过程为例,对本申请中的技术方案进行说明。该过程中可以包括以下步骤:
步骤S201:获取该音乐客户端APP中待处理的目标音频;
步骤S202:计算目标音频的对数功率谱;
具体的,通过分帧公式x
通过加窗公式xw
通过离散傅里叶变换公式对加窗结果进行变换,离散傅里叶变换公式可以如下:
其中,X(n,k)表示第n帧信号的傅里叶变换结果;k表示频点;N表示傅里叶变换的点数,且当帧长L<N时,需要对xw
通过功率谱计算公式P(n,k)=‖X(n,k)||
通过
步骤S203:对对数功率谱进行平滑处理,得到平滑功率谱;
具体的,通过公式
其中,
步骤S204:对平滑功率谱进行静音抑制,得到处理功率谱;
步骤S205:基于对数功率谱,对于每帧音频,在音频的预设频率处,获取预设长度的功率谱,将获取的功率谱的平均值作为音频的平均功率谱;
具体的,通过公式
步骤S206:对平均功率谱进行平滑处理,计算所有音频平滑处理后的平均功率谱随频率的差分值;
具体的,通过公式
步骤S207:在差分值随频率的变化关系中,判断是否存在最小波谷点;若不存在最小波谷点,则将目标音频采样频率的一半确定为截止频率;若存在最小波谷点,则在功率谱中,判断比待分析频率值大的频率值中,是否存在对应功率谱增长的频率值;若不存在对应功率谱增长的频率值,则在比待分析频率值大的频率值中选取出待运算频率值;若存在对应功率谱增长的频率值,则将对应功率谱增长的频率值确定为待运算频率值;
具体的,通过公式
通过公式
步骤S208:计算大于等于待运算频率值的频率值对应的功率谱的标准差值;
具体的,通过公式
步骤S209:判断标准差值是否小于预设阈值;若标准差值小于预设阈值,则将待分析频率值确定为截止频率;若标准差值大于等于预设阈值,则将目标音频采样频率的一半确定为截止频率。
为了便于理解,现假设目标音频的频率及功率谱信息如图9所示,且图中的脉冲代表音频,则按照本申请处理时的相应参数信息可以如图4所示,此时按照本申请的方法可以明确确定截止频率为采样频率的一半;而对于图10所示的目标音频的频率及功率谱信息,按照本申请处理时的相应参数信息可以如11所示,此时按照本申请的方法可以明确确定截止频率为待分析频率值,也即功率谱差分值中的最小波谷点对应的频率值,而这与真实的截止频率值相对应;所以本申请可以准确确定出截止频率,以便准确对音频进行处理。
参见图12所示,本申请实施例还相应公开的一种音频处理装置,应用于后台服务器,包括:
音频获取模块11,用于获取待处理的目标音频;
功率谱计算模块12,用于计算目标音频的功率谱;
截止频率判断模块13,用于确定功率谱中存在功率变化幅度最大的待分析频率值,则判断比待分析频率值大的频率值对应的功率谱是否平稳;若比待分析频率值大的频率值对应的功率谱平稳,则将待分析频率值确定为截止频率,以基于截止频率对目标音频进行处理。
可见,本实施例中,在获取待处理的目标音频之后,需先计算目标音频的功率谱;因为截止频率不是音频采样频率一半的话,截止频率附近的功率谱变化幅度最大,所以需判断功率谱中是否存在功率变化幅度最大的待分析频率值,确定功率谱中存在待分析频率值,则还需进一步对待分析频率值为截止频率的准确性进行判断,因为截止频率之后的功率谱处于平稳状态,所以可以判断比待分析频率值大的频率值对应的功率谱是否平稳;若比待分析频率值大的频率值对应的功率谱平稳,则将待分析频率值确定为截止频率,以得到准确的截止频率,这样基于截止频率对目标音频进行处理的话,可以提高音频处理的准确性。
在一些具体实施例中,截止频率判断模块可以具体用于:确定功率谱中不存在待分析频率值,则将目标音频采样频率的一半确定为截止频率。
在一些具体实施例中,截止频率判断模块可以具体用于:若比待分析频率值大的频率值对应的功率谱不平稳,则将目标音频采样频率的一半确定为截止频率。
在一些具体实施例中,截止频率判断模块可以具体用于:计算功率谱随频率的差分值;判断是否存在值最小的差分值对应的待分析频率值,且待分析频率左右两边频率值对应的差分值均大于待分析频率值对应的差分值;若不存在待分析频率值,则确定功率谱中不存在待分析频率值;若存在待分析频率值,则确定功率谱中存在待分析频率值。
在一些具体实施例中,截止频率判断模块可以具体用于:在差分值随频率的变化关系中,判断是否存在最小波谷点;若不存在最小波谷点,则判定不存在待分析频率值;若存在最小波谷点,则将最小波谷点对应的频率确定为待分析频率值。
在一些具体实施例中,截止频率判断模块可以具体用于,在功率谱中,判断比待分析频率值大的频率值中,是否存在对应功率谱增长的频率值;若不存在对应功率谱增长的频率值,则在比待分析频率值大的频率值中选取出待运算频率值;若存在对应功率谱增长的频率值,则将对应功率谱增长的频率值确定为待运算频率值;计算大于等于待运算频率值的频率值对应的功率谱的标准差值;判断标准差值是否小于预设阈值;若标准差值小于预设阈值,则确定比待分析频率值大的频率值对应的功率谱平稳;若标准差值大于等于预设阈值,则确定比待分析频率值大的频率值对应的功率谱不平稳。
在一些具体实施例中,截止频率判断模块可以具体用于:对功率谱进行静音抑制,得到处理功率谱;计算处理功率谱随频率的差分值。
在一些具体实施例中,截止频率判断模块可以具体用于:对功率谱进行平滑处理,得到平滑功率谱;对平滑功率谱进行静音抑制,得到处理功率谱。
在一些具体实施例中,功率谱计算模块可以具体用于:基于目标音频的时域信号能量对目标音频进行静音抑制,得到处理音频;计算处理音频的功率谱。
在一些具体实施例中,截止频率判断模块可以具体用于:基于功率谱,计算每帧音频的平均功率谱;计算所有音频的平均功率谱随频率的差分值。
在一些具体实施例中,截止频率判断模块可以具体用于:对于每帧音频,在音频的预设频率处,获取预设长度的功率谱,将获取的功率谱的平均值作为音频的平均功率谱。
在一些具体实施例中,功率谱计算模块可以具体用于:计算目标音频的对数功率谱。
进一步的,本申请实施例还提供了一种电子设备。图13是根据一示例性实施例示出的电子设备20结构图,图中的内容不能被认为是对本申请的使用范围的任何限制。
图13为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的音频处理方法中的相关步骤。另外,本实施例中的电子设备20具体可以为服务器。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及视频数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量视频数据223的运算与处理,其可以是WindowsServer、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的音频处理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223可以包括电子设备20收集到的各种视频数据。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的音频处理方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
- 音频处理方法和装置、音频模型训练方法和装置、电子设备及计算机可读存储介质
- 音频数据处理方法、装置、计算机设备和计算机可读存储介质