音频噪声检测方法、计算机设备和计算机程序产品与流程

文档序号:30580965发布日期:2022-06-29 12:10阅读:369来源:国知局
音频噪声检测方法、计算机设备和计算机程序产品与流程

1.本技术涉及音频技术领域,特别是涉及一种音频噪声检测方法、计算机设备和计算机程序产品。


背景技术:

2.随着计算机技术的发展,音乐应用或聊天应用日益普及,用户可以自发进行音频录制。由于用户录音习惯等,录制的音频文件中容易出现噪声,如用户摩擦耳机或录制麦克风会产生噪声(该噪声也被称为click),从而造成人声信号失真。
3.相关技术中,可以基于音频时域信号的幅值或能量,与某个阈值进行对比,对音频中的噪声进行识别,以便优化音频文件质量。但是该方式往往会出现错检或漏检的情况,存在噪声识别准确率低的问题。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高噪声识别准确率的音频噪声检测方法、计算机设备和计算机程序产品。
5.第一方面,本技术提供了一种音频噪声检测方法。所述方法包括:
6.获取待检测的音频信号的多个音频帧;
7.确定所述多个音频帧中每个音频帧的频域能量信息;
8.基于所述音频帧的频域能量信息,获取所述多个音频帧中目标音频帧与所述目标音频帧的相邻音频帧之间的频域能量变化量,所述目标音频帧为所述多个音频帧中的一音频帧;
9.获取所述目标音频帧对应的目标变化量阈值;所述目标变化量阈值基于所述目标音频帧的音频帧类型确定;
10.若所述频域能量变化量大于所述目标变化量阈值,则确定所述目标音频帧存在噪声信号。
11.在其中一个实施例中,所述获取所述目标音频帧对应的目标变化量阈值的步骤包括:
12.获取目标音频帧的音频帧类型;
13.若所述目标音频帧的音频帧类型为边界音频帧或静音音频帧,则调高预设的初始能量变化阈值,得到目标能量变化阈值;其中,所述边界音频帧是所述多个音频帧中人声音频帧与非人声音频帧的切换边界处的音频帧;
14.若所述目标音频帧的音频帧类型非边界音频帧或静音音频帧,则将所述初始能量变化阈值作为目标能量变化阈值。
15.在其中一个实施例中,所述获取目标音频帧的音频帧类型,包括:
16.获取目标音频帧的信号功率;
17.若所述信号功率小于预设的信号功率阈值,则确定所述目标音频帧的音频帧类型
为边界音频帧或静音音频帧;
18.若所述信号功率大于或等于所述信号功率阈值,则确定所述目标音频帧的音频帧类型非边界音频帧或静音音频帧。
19.在其中一个实施例中,所述音频帧的频域能量信息包括所述音频帧中多个频率点对应的幅值,所述基于所述音频帧的频域能量信息,获取目标音频帧与所述目标音频帧的相邻音频帧之间的频域能量变化量,包括:
20.获取目标音频帧中第一频率点的数量;所述第一频率点为所述目标音频帧中幅值变化量超过幅值变化量阈值的频率点,所述幅值变化量为所述目标音频帧与相邻音频帧中对应频率点的幅值之间的变化量;
21.获取所述目标音频帧中第二频率点的数量;所述第二频率点为所述目标音频帧中的幅值大于零的频率点;
22.基于所述第一频率点的数量和所述第二频率点的数量,确定所述目标音频帧与所述目标音频帧的相邻音频帧之间的频域能量变化量。
23.在其中一个实施例中,在所述获取目标音频帧中第一频率点的数量之前,还包括:
24.针对目标音频帧中的每个频率点,从相邻音频帧中确定出所述频率点的参考频率点,所述参考频率点的频率点序号与所述频率点的频率点序号相匹配;
25.获取所述频率点与所述频率点的参考频率点之间的幅值变化量,并将幅值变化量超过幅值变化量阈值的频率点确定为第一频率点。
26.在其中一个实施例中,所述基于所述第一频率点的数量和所述第二频率点的数量,确定所述目标音频帧与所述目标音频帧的相邻音频帧之间的频域能量变化量,包括:
27.获取所述第二频率点的数量和所述第一频率点的数量之间的比值;
28.基于所述比值确定所述目标音频帧与所述相邻音频帧之间的频域能量变化量。
29.在其中一个实施例中,所述确定所述多个音频帧中每个音频帧的频域能量信息,包括:
30.根据所述音频帧的频谱数据,获取所述音频帧的幅度谱;
31.基于所述幅度谱确定所述音频帧的频域能量信息。
32.在其中一个实施例中,所述获取待检测的音频信号的多个音频帧,包括:
33.在采集音频信号的过程中,将当前采集的音频信号作为待检测的音频信号;
34.在所述若所述频域能量变化量大于所述目标变化量阈值,则确定所述目标音频帧存在噪声信号之后,还包括:
35.生成噪声提示信息,并在采集音频信号的过程中输出所述噪声提示信息。
36.第二方面,本技术还提供了一种计算机设备,包括存储器和处理器。所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上任一项所述的方法的步骤。
37.第三方面,本技术还提供了一种计算机程序产品,包括计算机程序。所述计算机程序被处理器执行时实现如上任一项所述的方法的步骤。
38.上述音频噪声检测方法、计算机设备和计算机程序产品可以获取待检测的音频信号的多个音频帧,确定多个音频帧中每个音频帧的频域能量信息;基于音频帧的频域能量信息,获取多个音频帧中目标音频帧与目标音频帧的相邻音频帧之间的频域能量变化量,并获取目标音频帧对应的目标变化量阈值,其中,目标变化量阈值基于目标音频帧的音频
帧类型确定,进而若频域能量变化量大于目标变化量阈值,则确定目标音频帧存在噪声信号。本实施例中,可以利用噪声在频域上能量快速变化的特征进行噪声信号识别,并且,可以结合音频帧类型动态调整阈值,能够适应不同的识别场景,避免错检噪声信号,实现了音频噪声高效准确的识别。
附图说明
39.图1为一个实施例中音频噪声检测方法的流程示意图;
40.图2为一个实施例中语音信号的频谱图;
41.图3为一个实施例中获取音频帧类型的步骤的流程示意图;
42.图4为一个实施例中语音信号的处理结果示意图;
43.图5为一个实施例中确定频域能量变化量的步骤的流程示意图;
44.图6为另一个实施例中音频噪声检测方法的流程示意图;
45.图7为一个实施例中音频噪声检测装置的结构框图;
46.图8为一个实施例中计算机设备的内部结构图;
47.图9为另一个实施例中计算机设备的内部结构图。
具体实施方式
48.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
49.在一个实施例中,如图1所示,提供了一种音频噪声检测方法,本实施例以该方法应用于终端进行举例说明,其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能车载设备等。可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。
50.在本实施例中,该方法包括以下步骤:
51.步骤101,获取待检测的音频信号的多个音频帧。
52.作为一示例,音频信号是记录声音变化情况的信息载体,例如可以是时间与声音振幅的函数。在本实施例中,待检测的音频信号中可以包括人声信号,其中,人声信号可以指由声带震动所产生的音频信号,如在语音通过或录制音频时所记录的人声信号。当然,音频信号中也可以不包括人声信号。
53.在实际应用中,可以获取待检测的音频信号并对该音频信号进行分帧,得到音频信号对应的多个音频帧。
54.步骤102,确定多个音频帧中每个音频帧的频域能量信息。
55.其中,频域能量信息可以是基于频域数据反映语音信号能量大小的信息。
56.声音是由物体振动产生的声波,其本质是一种压力波,具有一定的能量,而音频信号作为记录声音变化情况的信息载体,也可以反映出声音能量的变化。
57.在获取音频信号对应的多个音频帧后,可以确定音频帧对应的频域能量信息。具体实现中,获取到的音频信号可以是时域下的音频信号,则可以对音频帧中的音频信号进
行时频转换,得到该音频帧对应的频谱数据,并通过音频帧的频谱数据确定出多个音频帧中每个音频帧的频域能量信息。
58.步骤103,基于音频帧的频域能量信息,获取多个音频帧中目标音频帧与目标音频帧的相邻音频帧之间的频域能量变化量。
59.其中,为了便于描述,将当前待分析的音频帧称为目标音频帧,目标音频帧可以是多个音频帧中任何一音频帧。相邻音频帧可以是与目标音频帧相邻的音频帧,例如可以是目标音频帧的上一个音频帧,或者,可以将目标音频帧的下一个音频帧作为相邻音频帧。
60.频域能量变化量可以是不同音频帧在频域上的能量差异。
61.在确定音频帧对应的频域能量信息后,可以从多个音频帧中获取目标音频帧,如基于各个音频帧的次序依次确定目标音频帧。在确定目标音频帧后,可以基于已确定的多个音频帧各自的频域能量信息,确定出目标音频帧的频域能量信息,以及,相邻音频帧的频域能量信息,进而可以根据目标音频帧的频域能量信息和相邻音频帧的频域能量信息,确定出目标音频帧与相邻音频帧之间的频域能量变化量。
62.步骤104,获取目标音频帧对应的目标变化量阈值;目标变化量阈值基于目标音频帧的音频帧类型确定。
63.其中,目标变化量阈值可以是用于衡量频域能量变化程度大小的参考值。
64.具体地,可以通过与目标变化量阈值进行比较确定频域能量变量的变化程度大小,目标变化量阈值可以基于目标音频帧的音频帧类型确定,而音频帧类型可以基于音频帧中的语音信号所对应的语音场景确定,语音场景可用于指示音频帧中语音信号被采集时用户的发声状态,示例性地,语音场景可以包括以下至少一种:发声切换场景、静音场景、持续发声场景。可以理解,用户从开始发声到发声结束这一过程中,用户的发声状态可以出现多次变化,发声状态的变化由声带和/或声道的状态变化引起。其中,发声切换场景可以指发出声音与静音之间的切换,例如用户在静默一段时间后开始唱歌;静音场景则可以是不发声的状态;持续发声场景可以指用户持续发音的过程。
65.换句话说,针对不同语音场景可以分别确定出对应的目标变化量阈值。
66.步骤105,若频域能量变化量大于目标变化量阈值,则确定目标音频帧存在噪声信号。
67.作为一示例,噪声信号可以是具有预设的频域能量变化特征的噪声信息,其中,预设的频域能量变化特征可以是频域能量的宽带快速上升且快速衰减。
68.示例性地,本实施例中的噪声信号可以是因敲击或摩擦录音设备而产生的噪声信号,例如用户摩擦耳机或录制麦克风时所产生的噪声信号,该噪声信号的听感近似于“喀呖”或“次啦”的发音,短暂刺耳,也被称为click或喀呖声。
69.在实际应用中,在获取目标变化量阈值后,可以将频域能量变化量与目标变化量阈值进行对比,若频域能量变化量大于目标变化量阈值,则可以确定目标音频帧中存在噪声信号;若频域能量变化量小于或等于目标变化量阈值,则可以确定目标音频帧中不存在噪声信号。
70.具体而言,在对人声信号进行录制时,敲击或摩擦录音设备等操作所产生的噪声信号会被同时录入到音频文件中,通过对包含人声信号和该噪声信号的频谱图进行分析比较,例如图2所示的频谱图,可以发现,人的发声过程具有短时平稳的特点,人声信号主要包
括基波以及分布在基波整倍数频率上的谐波,帧间能量变化平稳;而矩形框中的噪声信号则缺少音调信息,能量的宽带分布在各个频率上,快速上升而后快速下降。
71.利用噪声信号的频域能量变化特征与人声信号的频域能量变化特征的差异,可以对语音信号中的噪声信号进行识别,也即可以判断频域能量变化量是否大于目标变化量阈值,当频域能量变化量大于目标变化量阈值时,可以确定目标音频帧的频域能量相对于相邻音频帧发生明显变化,同时,由于目标变化量阈值是基于目标音频帧的音频帧类型确定的,使得目标变化量阈值可以随音频帧类型的变化而变化,换句话而言,可以随着不同的语音场景相应调整目标变化量阈值,能够快速、准确地检测出噪声信号。可以理解,针对同一待检测的音频信号,其中可以记录有不同语音场景下的语音信号。例如,从t1时刻开始,用户在静默五秒,等待前奏结束后,开始演唱歌曲,并持续演唱了三十秒,此时为t2时刻,若针对t1时刻至t2时刻采集了待检测的音频信号,则针对静默时间的音频帧,其对应的语音场景为静音场景,而用户从静默状态切换为开始演唱的状态,当前的语音场景为发声切换场景,而持续演唱的过程中所采集到的音频帧,其对应的语音场景为持续发声场景。基于此,当接收到待检测的音频信号,并获取到音频信号的多个音频帧时,可以对每个音频帧的语音场景进行识别,并根据识别得到语音场景确定对应的目标变化量阈值。
72.在本实施例中,可以获取待检测的音频信号的多个音频帧,确定多个音频帧中每个音频帧的频域能量信息;基于音频帧的频域能量信息,获取多个音频帧中目标音频帧与目标音频帧的相邻音频帧之间的频域能量变化量,并获取预先确定的目标变化量阈值,其中,目标变化量阈值基于目标音频帧的音频帧类型确定,进而若频域能量变化量大于目标变化量阈值,则确定目标音频帧存在噪声信号。本实施例中,可以利用噪声在频域上能量快速变化的特征进行噪声信号识别,并且,可以结合音频帧类型动态调整阈值,能够适应不同的识别场景,避免错检噪声信号,实现了音频噪声高效准确的识别。
73.在一个实施例中,获取目标音频帧对应的目标变化量阈值的步骤可以包括:
74.获取目标音频帧的音频帧类型;若目标音频帧的音频帧类型为边界音频帧或静音音频,则调高预设的初始能量变化阈值,得到目标能量变化阈值;若目标音频帧的音频帧类型非边界音频帧或静音音频帧,则将初始能量变化阈值作为目标能量变化阈值。
75.其中,边界音频帧是多个音频帧中人声音频帧与非人声音频帧的切换边界处的音频帧。实际应用中,边界音频帧和静音音频帧的频域能量变化特征可以与包含噪声信号的音频帧所对应的频域能量变化特征相似或相同,但边界音频帧和静音音频帧中并不包含噪声信号;人声音频帧可以是指包含人声信号的音频帧,非人声音频帧可以是不包含人声信号的音频帧,静音音频帧可以指语音场景为静音状态的音频帧。
76.初始能量变化阈值可以是一个预先设定好的阈值,可以根据经验值进行设置;目标能量变化阈值也可以称为检测到噪声信息的概率阈值。
77.具体实现中,在发声过程中往往会出现发声状态的切换,例如唱念过程中发声开始时的换气(也称为气口)。在进行发声状态切换时,音频信号在频域上的能量也会产生明显变化,使得发声状态切换时的频域能量变化也存在宽带快速上升和快速衰减的特点。此外,静音状态下获取到的音频帧,其具有的频域能量也很低,在突然检测到声音信号时,也会造成频域能量的显著变化。
78.在对噪声信号进行检测识别时,若按照固定的能量变化阈值进行噪声信号识别则
容易造成错检,尤其是在线上音频录制等复杂场景下,难以在召回率和准确率之间取得平衡。
79.基于此,在从多个音频帧中确定出待分析的目标音频帧时,可以获取目标音频帧所对应的音频帧类型,进一步识别出目标音频帧所对应的语音场景。
80.若目标音频帧的音频帧类型为边界音频帧或静音音频帧,由于边界音频帧或静音音频帧所具有的频域能量变化特征与包含噪声信号的音频帧所具有的频域能量变化特征相似,即相对于相邻音频帧,频域能量发生显著变化,但边界音频帧或静音音频帧的此种频域能量变化特征并非是由于噪声信号的存在而造成的,因此可以对初始能量变化阈值进行动态调整,将初始能量变化阈值进行调高,并基于调高后的初始能量变化阈值,得到目标能量变化阈值,从而在将第一音频帧所对应的频域能量变化量与目标能量变化阈值进行比较时,可以避免将其错误地识别为存在噪声信号的音频帧。具体而言,由于边界音频帧或静音音频帧的频域能量会显著变化,若继续采用初始能量变化阈值进行识别,则容易错误地将其识别为存在噪声信号的音频帧,因此,可以将初始能量变化阈值调高,使边界音频帧或静音音频帧的频域能量变化量低于调高后得到的目标能量变化阈,从而避免错误识别。
81.若确定目标音频帧的音频帧类型非边界音频帧或静音音频帧,则可以继续沿用初始能量变化阈值,将初始能量变化阈值作为目标能量变化阈值。换句话说,在音频噪声的检测过程中,可以根据当前待处理的目标音频帧所对应的音频帧类型,动态地去调整用于评判频域能量变化程度是否明显的目标能量变化阈值。实际应用中,在不同语音场景下,用户发声状态的差异导致音频帧频域能量的变化存在差异,在语音场景为发声切换场景或静音场景下,用户处于刚开始发声或不发声状态,此语音场景下的频域能量虽然可以发生明显变化,但并非噪声信号引起,因此发声切换场景或静音场景则可以设置一个较高的变化量阈值(如大于初始能量变化阈值的阈值k1),而持续发声场景下,此时并不存在发声开始时的气口,若检测到频域能量发生显著变化,则可以确定是由噪声信号引起,为及时识别出噪声信号,则可以一个较低的变化量阈值(如小于或等于初始能量变化阈值的阈值k2),具体实现中,初始能量变化阈值的动态调整策略还可以根据实际情况进行调整变动,如根据实际调整k1/k2与初始能量变化阈值之间的差距,或调整k1与k2之间的差距。通过对目标能量变化阈值进行动态调整,可以准确地从不同语音场景中识别出音频信号是否存在噪声信号。
82.在本实施例中,可以获取目标音频帧的音频帧类型,若目标音频帧的音频帧类型为边界音频帧或静音音频帧,则调高预设的初始能量变化阈值,得到目标能量变化阈值,通过对初始能量变化阈值进行动态调整,获取与音频帧类型相对应的目标能量变化阈值,避免错检;若目标音频帧的音频帧类型非边界音频帧或静音音频帧,则可以将初始能量变化阈值作为目标能量变化阈值,能够在目标音频帧并非发声切换场景或静音场景时,合理沿用原来的初始能量阈值进行噪声信号识别,避免噪声信号的漏检,有效提高音频中噪声信号的识别准确性。
83.在一个实施例中,如图3所示,获取目标音频帧的音频帧类型,可以包括如下步骤:
84.步骤301,获取目标音频帧的信号功率。
85.作为一示例,信号功率可以是目标音频帧中的音频信号的功率。
86.具体实现中,在确定目标音频帧后,可以获取目标音频帧的信号功率。示例性地,
可以获取目标音频帧的幅度平方均值(rms)作为目标音频帧的信号功率,例如具体可以通过如下公式确定:
[0087][0088]
其中,l为目标音频帧的帧长,p(n)为第n帧音频信号对应的信号功率,i为第n帧信号内n个样点从0开始的索引,x为输入信号,即待检测的音频信号,x(ln+i)可以表示在第n帧第i个样点的输入信号,在该公式中,通过“10
·
log
1o”可以进一步计算功率分贝值。
[0089]
步骤302,若信号功率小于预设的信号功率阈值,则确定目标音频帧的音频帧类型为边界音频帧或静音音频帧。
[0090]
步骤303,若信号功率大于或等于信号功率阈值,则确定目标音频帧的音频帧类型非边界音频帧或静音音频帧。
[0091]
在获取到信号功率后,则可以获取预设的信号功率阈值,并将当前获取的信号功率与信号功率阈值进行比较。
[0092]
在比较时,由于静音音频帧以及发声状态切换时的边界音频帧,音频帧中频率点的能量都比较小,例如发声状态切换下频域能量的大小以及静音状态下的频域能量大小都远低于click噪声信号所具有的频域能量大小,因此可以判断当前目标音频帧的信号功率是否小于预设的信号功率阈值。若信号功率小于信号功率阈值,则可以确定目标音频帧的音频帧类型为边界音频帧或静音音频帧;若信号功率大于或等于信号功率阈值,则可以确定目标音频帧的音频帧类型非边界音频帧或静音音频帧。
[0093]
如图4所示,包括待检测的音频信号所对应的噪声信号概率曲线、信号功率曲线和频谱图。
[0094]
具体地,针对每一目标音频帧,在获取到目标音频帧对应的频域能量变化量后,可以将频域能量变化量作为目标音频帧中存在噪声信号的概率,并生成待检测音频信号对应的噪声信号概率曲线;图中的水平虚线为固定的能量变化阈值,也可以称为概率阈值,示例性地,可以取0.75。
[0095]
同时,可以获取各个目标音频帧对应的信号功率,并生成对应的信号功率曲线,图4中包括与噪声信号概率曲线对应的部分信号功率曲线;其中,竖直虚线用于标注出可能存在噪声信号的位置(即噪声信号概率大于概率阈值的位置)。然而通过固定阈值筛选的方式,容易造成错检,例如在1分35秒和1分38秒附近,则为错误识别的噪声信号。
[0096]
在本实施例中,通过获取目标音频帧的信号功率并与信号功率阈值进行比较,可以准确识别出目标音频帧的音频帧类型,为确定是否调整初始能量变化阈值提供参考基础,从而可以有效识别出错检的噪声信号。
[0097]
在一个实施例中,确定多个音频帧中每个音频帧的频域能量信息,可以包括如下步骤:
[0098]
根据音频帧的频谱数据,获取音频帧的幅度谱;基于幅度谱确定音频帧的频域能量信息。
[0099]
在具体实现中,在获取到输入的音频信号后,基于音频信号短时平稳的特性,可以按照预设的帧长和帧移对输入信号分帧,得到多个音频帧,并在时域加窗后,基于加窗后的音频信号确定音频帧的幅度谱。
[0100]
具体地,针对分帧后的每一音频帧,可以采用窗函数对音频帧进行加窗处理,窗函数可以是以下任意一种:汉宁(hanning)窗、矩形窗、三角窗、海明窗、高斯窗。本实施例中以汉宁窗为例介绍获取幅度谱的方式,具体地,汉宁窗的窗函数w(i)具体可以是:
[0101][0102]
其中,n为窗长,i为窗内样点索引。
[0103]
则加窗后的音频信号可以表示为:
[0104]
xwn(i)=x(l
·
n+i)
·
w(i)
[0105]
其中,n表示加窗后的第n帧音频信号,l表示帧长。
[0106]
针对加窗后的音频信号,可以进行傅里叶变换,得到的变换结果可以如下所示:
[0107][0108]
其中,(n,k)表示第n帧音频信号中的第k个频率点,j为虚数单位。
[0109]
基于傅里叶变换结果,待检测音频信号的频谱可表示为以帧序列n为横轴、频点序列k为纵轴的二维频谱分布,即得到该信号的语谱图。通过对上述结果取模(绝对值),可以得到音频帧的幅度谱。幅度谱a(n,k)如下所示:
[0110]
a(n,k)=‖x(n,k)‖
[0111]
在获取到音频帧的幅度谱后,可以根据幅度谱确定各个频率点的幅值,并基于各个频率点的幅值确定音频帧对应的频域能量信息。
[0112]
在本实施例中,可以基于音频帧的幅度谱准确获取目标音频帧在频域上的能量信息,为后续基于频域能量识别出噪声信号提供基础。
[0113]
在一个实施例中,音频帧的频域能量信息可以包括音频帧中多个频率点对应的幅值,如图5所示,基于音频帧的频域能量信息,获取多个音频帧中目标音频帧与目标音频帧的相邻音频帧之间的频域能量变化量,可以包括如下步骤:
[0114]
步骤501,获取目标音频帧中第一频率点的数量。
[0115]
其中,第一频率点为目标音频帧中幅值变化量超过幅值变化量阈值的频率点;幅值变化量为目标音频帧与相邻音频帧中对应频率点的幅值之间的变化量。
[0116]
在实际应用中,在获取目标音频帧后,可以确定目标音频帧中的第一频率点,并获取第一频率点的数量。
[0117]
步骤502,获取目标音频帧中第二频率点的数量。
[0118]
其中,第二频率点为目标音频帧中的幅值大于零的频率点。
[0119]
在实际应用中,可以对目标音频帧中幅值非零的频率点进行统计,具体可以确定目标音频帧中的第二频率点,并获取第二频率点对应的数量。示例性地,可以通过如下公式确定目标音频帧中的第二频率点数量:
[0120]
nv(k)=a(n,k)》zerothr?1:0
[0121]
nc(n)=sum{nv(k)}
[0122]
其中,“nv(k)=a(n,k)》zerothr?1:0”表示判断a(n,k)是否大于非零频点阈值zerothr,若是,则确定第n帧音频信号中的第k个频率点为第二频率点,可以进行记录,nv
(k)赋值为1;若否,则确定第n帧音频信号中的第k个频率点不是第二频率点,不进行记录,nv(k)赋值为0,继而可以通过“nc(n)=sum{nv(k)}”确定出目标音频帧中第二频率点的数量。其中,非零频率点阈值zerothr可以根据实际情况设置,可用于筛选出音频帧中幅值为零或幅值很小的频率点。
[0123]
步骤503,基于第一频率点的数量和第二频率点的数量,确定目标音频帧与目标音频帧的相邻音频帧之间的频域能量变化量。
[0124]
在得到第一频率点的数量和第二频率点的数量后,则可以基于第一频率点的数量和第二频率点的数量,确定目标音频帧中幅值发生明显变化的频率点(即第一频率点)与目标音频帧中非零的频率点(即第二频率点)之间的数量比值,从而可以确定目标音频帧与相邻音频帧之间的频域能量变化量。
[0125]
在本实施例中,通过获取目标音频帧中第一频率点的数量,以及,获取目标音频帧中第二频率点的数量,并基于第一频率点的数量和第二频率点的数量,确定目标音频帧与相邻音频帧之间的频域能量变化量,可以准确地对目标音频帧相对于相邻音频帧的频域能量进行量化。
[0126]
在一个实施例中,在获取目标音频帧中第一频率点的数量之前,还包括:
[0127]
针对目标音频帧中的每个频率点,从相邻音频帧中确定出频率点的参考频率点;获取频率点与频率点的参考频率点之间的幅值变化量,并将幅值变化量超过幅值变化量阈值的频率点,确定为第一频率点。
[0128]
其中,参考频率点的频率点序号与频率点的频率点序号相匹配。
[0129]
作为一种示例,频率点与参考频率点之间的幅值变化量可以是一个描述幅值相对变化情况的信息,从而可以更准确地确定目标音频帧频域能量相对于其相邻音频帧频域能量所发生的变化。
[0130]
在确定目标音频帧后,针对目标音频帧中的各频率点,可以从目标音频帧的相邻音频帧中确定出参考频率点进行比较,。在一实施例中,在进行比较前,可以先判断目标音频帧中当前待分析的频率点所对应的幅值是否大于零,若大于零,则可以进一步获取该频率点的参考频率点,该频率点的幅值等于零,则可以继续获取下一频率点进行分析。在确定目标音频帧中当前待分析的频率点后,可以获取该频率点对应的频率点序号,并从相邻音频帧中,获取频率点序号与该频率点序号相匹配的频率点作为参考频率点,具体地,可以将相邻音频帧中具有相同频率点序号的频率点作为参考频率点。
[0131]
在确定参考频率点后,可以获取频率点与参考频率点之间的幅值变化量,并将幅值变化量超过幅值变化量阈值的频率点,确定为第一频率点。
[0132]
在实际应用中,可以通过如下公式确定目标音频帧中第一频率点的数量c(n):
[0133][0134]
c(n)=sum{v(k)}
[0135]
上述公式表示为,在获取到目标音频帧(第n个音频帧)中第k个频率点时,可以先判断该频率点的幅值是否大于零,若否,则计v(k)=0;若是,则进一步判断频率点的幅值是
否大于阈值zerothr,若是,则确定该频率点为第一频率点,并计v(k)=1。否则,在频率点的幅值大于零且小于阈值zerothr的情况下,则可以在相邻音频帧(第n-1个音频帧)对应的第k个频率点幅值大于阈值zerothr的情况下,判断a(n,k)与a(n-1,k)的比值是否大于阈值thr,若是,确定该频率点为第一频率点,计v(k)=1,若否,则计v(k)=0。进而可以对v(k)求和,得到第一频率点的数量。
[0136]
在本实施例中,针对目标音频帧中的每个频率点,可以从相邻音频帧中确定出频率点的参考频率点,获取频率点与频率点的参考频率点之间的幅值变化量,并将幅值变化量超过幅值变化量阈值的频率点,确定为第一频率点。通过对目标音频帧中每个频率点与相邻音频帧中参考频率点的幅值变化进行比对,可以细致衡量目标音频帧与相邻音频帧之间的幅值变化,提高噪声识别的准确性。
[0137]
在一个实施例中,所述基于第一频率点的数量和第二频率点的数量,确定目标音频帧与目标音频帧的相邻音频帧之间的频域能量变化量,包括:
[0138]
获取第二频率点的数量和第一频率点的数量之间的比值;基于比值确定目标音频帧与相邻音频帧之间的频域能量变化量。
[0139]
在具体实现中,在获取第一频率点的数量和第二频率点的数量后,可以获取第二频率点和第一频率点之间的比值,并将该比值作为目标音频帧与相邻音频帧之间的频域能量变化量。示例性地,该比值也可以作为目标音频帧存在噪声信号的概率,具体可以如下所示:
[0140][0141]
在本实施例中,通过获取第二频率点数量与第一频率点数量的比值,可以准确量化目标音频帧与相邻音频帧之间的频域能量变化,有效提高噪声信号识别准确性。
[0142]
在一个实施例中,所述获取待检测的音频信号的多个音频帧,可以包括如下步骤:
[0143]
在采集音频信号的过程中,将当前采集的音频信号作为待检测的音频信号。
[0144]
在实际应用中,可以在采集音频信号的过程中,将当前实时采集的音频信号作为待检测的音频信号。具体而言,可以实时采集音频信号作为待检测的音频信号,或者,也可以按照预设时间间隔从音频信号中截取一部分音频信号作为待检测的音频信号。
[0145]
在所述若频域能量变化量大于目标变化量阈值,则确定目标音频帧存在噪声信号之后,还可以包括如下步骤:
[0146]
生成噪声提示信息,并在采集音频信号的过程中输出噪声提示信息。
[0147]
作为一示例,噪声提示信息可以用于指示当前采集到的音频信号存在噪声信号。噪声提示信息可以包括以下至少一种类型的信息:图像信息、文字信息,当然,噪声提示信息并不仅仅限于视觉上的提示信息,还可以包括触觉或听觉形式的提示信息,如振动或提示音。噪声提示信息还可以包括噪声产生原因和/或消除噪声的建议,例如提示噪声信号是由于敲击耳机或摩擦麦克风产生的,则噪声提示信息可用于建议用户调整录音设备,以避免敲击或摩擦录音设备。
[0148]
具体地,在采集音频信号的过程中,可以对当前采集到的音频信号进行实时噪声检测,若确定实时采集的音频信号中的目标音频帧存在噪声信号,则可以生成噪声提示信息,并在采集音频信号的过程中及时输出噪声提示信息。例如在进行线上音频录制时(如线
上k歌或虚拟房间中音频/视频的录制),可以通过该方式进行检测和提示。
[0149]
在本实施例中,通过在采集音频信号的过程中,将当前采集的音频信号作为待检测的音频信号,并在识别出存在噪声信号后,生成噪声提示信息,并在采集音频信号的过程中输出噪声提示信息,能够在音频录制过程中,实时、准确地监测音频信号中是否存在噪声信号,并在检测到噪声信号时及时进行提醒,使用户可以快速对录制设备或录制方式进行优化,提升音频录制效果。
[0150]
为了使本领域技术人员能够更好地理解上述步骤,以下通过一个例子对本技术实施例加以示例性说明,但应当理解的是,本技术实施例并不限于此。
[0151]
如图6所示,在音频信号采集过程中,例如用户通过终端进行在线k歌时,终端可以获取输入的音频信号,将该音频信号作为待检测的音频信号,并通过本技术中的音频噪声检测方法,检测该音频信号中是否存在噪声。在检测时,可以由终端进行检测,也可以由终端将待检测的音频信号发送到服务器,通过服务器检测后,将对应的检测结果返回到终端,示例性地,服务器可以仅在检测到音频信号中存在噪声信号时,再向终端进行反馈。
[0152]
在获取输入的音频信号后,可以对音频信号进行分帧。
[0153]
针对分帧后的多个音频帧,一方面,可以计算音频帧的信号功率,例如计算音频帧对应的rms值,并基于音频帧对应的rms值,确定该音频帧的音频帧类型,并根据音频帧类型确定是否调整初始能量变化阈值,并根据判断结果得到对应的目标能量变化阈值。
[0154]
另一方面,可以对分帧后的多个音频帧进行短时傅里叶变换(short-time fourier transform,stft),得到音频帧中多个频率点在频域上的幅值,进而可以根据音频帧中每个频率点(也称为频点)的幅值对频率点进行筛选,即首先确定出音频帧中的非零频率点,即第二频率点,进而确定音频帧中频率幅值相对于相邻音频帧频率点幅值发生变化的频率点,即第一频率点,并基于第二频率点和第一频率点的比值,得到当前音频帧相对于其相邻音频帧在频域能量上发生的变化,并将其作为噪声信号概率。
[0155]
进而可以判断噪声信号概率是否大于动态调整后得到的目标能量变化阈值,并输出当前音频帧对应的噪声信号检测结果。
[0156]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0157]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的音频噪声检测方法的音频噪声检测装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个音频噪声检测装置实施例中的具体限定可以参见上文中对于音频噪声检测方法的限定,在此不再赘述。
[0158]
在一个实施例中,如图7所示,提供了一种音频噪声检测装置700,包括:
[0159]
音频信号获取模块701,用于获取待检测的音频信号的多个音频帧;
[0160]
频域能量获取模块702,用于确定所述多个音频帧中每个音频帧的频域能量信息;
[0161]
频域能量变化识别模块703,用于基于所述音频帧的频域能量信息,获取所述多个音频帧中目标音频帧与所述目标音频帧的相邻音频帧之间的频域能量变化量,所述目标音频帧为所述多个音频帧中的一音频帧;
[0162]
阈值获取模块704,用于获取所述目标音频帧对应的目标变化量阈值;所述目标变化量阈值基于所述目标音频帧的音频帧类型确定;
[0163]
噪声识别模块705,用于若所述频域能量变化量大于所述目标变化量阈值,则确定所述目标音频帧存在噪声信号。
[0164]
在一个实施例中,所述阈值获取模块704具体用于:
[0165]
获取目标音频帧的音频帧类型;
[0166]
若所述目标音频帧的音频帧类型为边界音频帧或静音音频帧,则调高预设的初始能量变化阈值,得到目标能量变化阈值;其中,所述边界音频帧是所述多个音频帧中人声音频帧与非人声音频帧的切换边界处的音频帧;
[0167]
若所述目标音频帧的音频帧类型非边界音频帧或静音音频帧,则将所述初始能量变化阈值作为目标能量变化阈值。
[0168]
在一个实施例中,所述音频帧类型获取模块,具体用于:
[0169]
获取目标音频帧的信号功率;
[0170]
若所述信号功率小于预设的信号功率阈值,则确定所述目标音频帧的音频帧类型为边界音频帧或静音音频帧;
[0171]
若所述信号功率大于或等于所述信号功率阈值,则确定所述目标音频帧的音频帧类型非边界音频帧或静音音频帧。
[0172]
在一个实施例中,所述音频帧的频域能量信息包括所述音频帧中多个频率点对应的幅值,所述频域能量变化识别模块703,包括:
[0173]
第一频点数量确定子模块,用于获取目标音频帧中第一频率点的数量;所述第一频率点为所述目标音频帧中幅值变化量超过幅值变化量阈值的频率点,所述幅值变化量为所述目标音频帧与相邻音频帧中对应频率点的幅值之间的变化量;
[0174]
第二频点数量确定子模块,用于获取所述目标音频帧中第二频率点的数量;所述第二频率点为所述目标音频帧中的幅值大于零的频率点;
[0175]
频域能量变化量确定子模块,用于基于所述第一频率点的数量和所述第二频率点的数量,确定所述目标音频帧与所述相邻音频帧之间的频域能量变化量。
[0176]
在一个实施例中,所述频域能量变化识别模块703,还包括:
[0177]
参考频点确定子模块,用于针对目标音频帧中的每个频率点,从相邻音频帧中确定出所述频率点的参考频率点,所述参考频率点的频率点序号与所述频率点的频率点序号相匹配;
[0178]
第一频点识别子模块,用于获取所述频率点与所述频率点的参考频率点之间的幅值变化量,并将幅值变化量超过幅值变化量阈值的频率点确定为第一频率点。
[0179]
在一个实施例中,所述频域能量变化量确定子模块,具体用于:
[0180]
获取所述第二频率点的数量和所述第一频率点的数量之间的比值;
[0181]
基于所述比值确定所述目标音频帧与所述相邻音频帧之间的频域能量变化量。
[0182]
在一个实施例中,所述频域能量获取模块702,具体用于:
[0183]
根据所述音频帧的频谱数据,获取所述音频帧的幅度谱;
[0184]
基于所述幅度谱确定所述音频帧的频域能量信息。
[0185]
在一个实施例中,所述音频信号获取模块701,具体用于:
[0186]
在采集音频信号的过程中,将当前采集的音频信号作为待检测的音频信号;
[0187]
所述装置还包括:
[0188]
噪声提示模块,用于生成噪声提示信息,并在采集音频信号的过程中输出所述噪声提示信息。
[0189]
上述音频噪声检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0190]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待检测的音频信号。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种音频噪声检测方法。
[0191]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种音频噪声检测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0192]
本领域技术人员可以理解,图8和图9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0193]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0194]
获取待检测的音频信号的多个音频帧;
[0195]
确定所述多个音频帧中每个音频帧的频域能量信息;
[0196]
基于所述音频帧的频域能量信息,获取所述多个音频帧中目标音频帧与所述目标音频帧的相邻音频帧之间的频域能量变化量,所述目标音频帧为所述多个音频帧中的一音频帧;
[0197]
获取所述目标音频帧对应的目标变化量阈值;所述目标变化量阈值基于所述目标
音频帧的音频帧类型确定;
[0198]
若所述频域能量变化量大于所述目标变化量阈值,则确定所述目标音频帧存在噪声信号。
[0199]
在一个实施例中,处理器执行计算机程序时还实现上述其他实施例中的步骤。
[0200]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0201]
获取待检测的音频信号的多个音频帧;
[0202]
确定所述多个音频帧中每个音频帧的频域能量信息;
[0203]
基于所述音频帧的频域能量信息,获取所述多个音频帧中目标音频帧与所述目标音频帧的相邻音频帧之间的频域能量变化量,所述目标音频帧为所述多个音频帧中的一音频帧;
[0204]
获取所述目标音频帧对应的目标变化量阈值;所述目标变化量阈值基于所述目标音频帧的音频帧类型确定;
[0205]
若所述频域能量变化量大于所述目标变化量阈值,则确定所述目标音频帧存在噪声信号。
[0206]
在一个实施例中,计算机程序被处理器执行时还实现上述其他实施例中的步骤。
[0207]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0208]
获取待检测的音频信号的多个音频帧;
[0209]
确定所述多个音频帧中每个音频帧的频域能量信息;
[0210]
基于所述音频帧的频域能量信息,获取所述多个音频帧中目标音频帧与所述目标音频帧的相邻音频帧之间的频域能量变化量,所述目标音频帧为所述多个音频帧中的一音频帧;
[0211]
获取所述目标音频帧对应的目标变化量阈值;所述目标变化量阈值基于所述目标音频帧的音频帧类型确定;
[0212]
若所述频域能量变化量大于所述目标变化量阈值,则确定所述目标音频帧存在噪声信号。
[0213]
在一个实施例中,计算机程序被处理器执行时还实现上述其他实施例中的步骤。
[0214]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
[0215]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,
pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0216]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0217]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1