CN106448690A - 一种音频信号的自动增益控制方法和装置 - Google Patents
一种音频信号的自动增益控制方法和装置 Download PDFInfo
- Publication number
- CN106448690A CN106448690A CN201610917321.7A CN201610917321A CN106448690A CN 106448690 A CN106448690 A CN 106448690A CN 201610917321 A CN201610917321 A CN 201610917321A CN 106448690 A CN106448690 A CN 106448690A
- Authority
- CN
- China
- Prior art keywords
- interval
- audio signal
- gain
- current gain
- adjustment
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/003—Changing voice quality, e.g. pitch or formants
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03G—CONTROL OF AMPLIFICATION
- H03G3/00—Gain control in amplifiers or frequency changers without distortion of the input signal
- H03G3/20—Automatic control
- H03G3/30—Automatic control in amplifiers having semiconductor devices
- H03G3/3005—Automatic control in amplifiers having semiconductor devices in amplifiers suitable for low-frequencies, e.g. audio amplifiers
Abstract
本发明实施例公开了一种音频信号的自动增益控制方法和装置。所述方法包括:在待处理音频信号中识别幅值过零点,将相邻过零点之间确定为过零区间;根据所述过零区间确定至少一个增益调整区间;根据所述增益调整区间内的音频信号幅值确定音频信号的有效状态;如果确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定时长,则根据所述当前增益调整区间的音频信号有效状态确定当前增益调整区间的调整增益;根据所述调整增益对所述当前增益调整区间音频信号的幅值进行调整并输出。通过采用上述技术方案,可以在时域中对音频信号进行增益调整的同时,极大程度上降低频域中音频信号的失真度,达到提升用户体验的效果。
Description
技术领域
本发明实施例涉及音频数据处理技术,尤其涉及一种音频信号的自动增益控制方法和装置。
背景技术
当前,语音实时通信已经得到了十分广泛的应用,利用语音通信,不仅可以实现双方通信,还可以进一步实现多方通信。随着语音通信的不断发展,音频数据处理技术在一定程度上也得到了相应的提高。
在现有技术中,为了减小音频信号的不连续性,提升语音通信的服务质量,一般采用自动增益控制方法(Automatic Gain Control,AGC)对音频信号进行处理。其中,自动增益控制方法可以下两种方案包括:(1)以数据帧为分析基础,计算当前帧中各个采样点振幅值绝对值的平均幅值,将当前帧中的目标幅值除以平均幅值后得到当前帧的增益值,然后基于该增益值调整当前帧音频信号的输出幅值,从而实现音量的调整。(2)同样以数据帧为分析基础,分别计算音频信号前后两帧的增益值,并将各帧的增益值平均分配到各采样点中。为了实现前后两帧增益的平滑过渡,通常将前一帧最后一个采样点的增益值作为当前帧第一个采样点的增益值,基于确定的帧增益值调整各帧音频信号的幅值。
现有自动增益控制方法仅是从音频信号在时域中的平滑度进行考虑,虽然可以对音频信号的处理达到了良好的效果,但由于该方法忽略了对信号频域的影响,将会使得频域中的音频信号产生失真现象。例如,图1为现有技术提供的对音频信号增益调整前后示意图。图2为现有技术提供的对音频信号增益调整前后的仿真示意图。如图1和图2所示,若采用上述方案(1)进行增益调整后,音频信号会出现“消顶”失真现象,即当音频信号的幅值经增益放大时,为了防止超出允许的最大音量,会将超出设定幅值的音频信号强制调整幅值为设定值,使其不会继续增长,所以会出现消顶失真现象。再比如,图3为现有技术提供的对音频信号增益调整前后示意图。图4为现有技术提供的对音频信号增益调整前后的仿真示意图。如图3和图4所示,若采用上述方案(2)进行增益调整后,会使得增益调整后的斜率发生改变,进而使得在频域中的音频信号发生失真现象。同时由于人耳对频域中信号的变化非常敏感,稍有差异用户即可分辨出来,因此,将可能带来不好的用户体验。
发明内容
本发明实施例提供一种音频信号的自动增益控制方法和装置,在自动调整音频信号音量幅值的情况下,降低音频信号的失真度。
第一方面,本发明实施例提供了一种音频信号的自动增益控制方法,包括:
在待处理音频信号中识别幅值过零点,将相邻过零点之间确定为过零区间;
根据所述过零区间确定至少一个增益调整区间;
根据所述增益调整区间内的音频信号幅值确定音频信号的有效状态;
如果确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定时长,则根据所述当前增益调整区间的音频信号有效状态确定当前增益调整区间的调整增益;
根据所述调整增益对所述当前增益调整区间音频信号的幅值进行调整并输出。
第二方面,本发明实施例还提供一种音频信号的自动增益控制装置,包括:
过零区间确定模块,用于在待处理音频信号中识别幅值过零点,将相邻过零点之间确定为过零区间;
调整区间确定模块,用于根据所述过零区间确定至少一个增益调整区间;
有效状态确定模块,用于根据所述增益调整区间内的音频信号幅值确定音频信号的有效状态;
第一调整增益确定模块,用于如果确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定时长,则根据所述当前增益调整区间的音频信号有效状态确定当前增益调整区间的调整增益;
幅值调整模块,用于根据所述调整增益对所述当前增益调整区间音频信号的幅值进行调整并输出。
本发明实施例中提供的音频信号的自动增益控制方案,首先在待处理音频信号中识别幅值过零点,并将相邻过零点之间确定为过零区间。然后根据过零区间确定至少一个增益调整区间并根据增益调整区间内的音频信号幅值确定音频信号的有效状态。如果确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定时长,则根据当前增益调整区间的音频信号有效状态确定当前增益调整区间的调整增益。最后根据调整增益对当前增益调整区间音频信号的幅值进行调整并输出。通过采用上述技术方案,由于采用峰值来确定调整增益,因此调整增益可有效匹配最大幅值的音频信号调整,避免了消顶失真现象。同时,每个增益调整区间可单独确定调整增益,使得增益精度提高,也极大程度上降低频域中音频信号的失真度。此外,通过判断当前增益调整区间内的音频信号有效状态是否发生变化且已持续设定时长,可以在音频信号有效状态发生持续变化时进行相应的增益调整,而避免有效状态发生突变时进行误调整,达到提升用户体验的效果。
附图说明
图1为现有技术提供的对音频信号增益调整前后示意图;
图2为现有技术提供的对音频信号增益调整前后的仿真示意图;
图3为现有技术提供的对音频信号增益调整前后示意图;
图4为现有技术提供的对音频信号增益调整前后的仿真示意图;
图5为本发明实施例一提供的一种音频信号的自动增益控制方法的流程示意图;
图6为本发明实施例一提供的对采样点增益调整前后示意图;
图7为本发明实施例二提供的一种音频信号的自动增益控制方法的流程示意图;
图8为本发明实施例三提供的一种音频信号的自动增益控制方法的流程示意图;
图9为本发明实施例四提供的一种音频信号的自动增益控制方法的流程示意图;
图10为本发明实施例五提供的一种音频信号的自动增益控制装置的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图5为本发明实施例一提供的一种音频信号的自动增益控制方法的流程示意图,该方法可以由音频信号的自动增益控制装置来执行,具体包括如下步骤:
步骤101、在待处理音频信号中识别幅值过零点,将相邻过零点之间确定为过零区间;
其中,自动增益控制方法是对音频信号输出音量进行调整的一种控制方法,该方法利用线性放大和压缩的有效组合对输出的音频信号进行动态调整。当弱音频信号输入时,通过增大音频信号的增益可以保证输出音频信号的强度;当所输入的音频信号达到一定强度时,通过减小音频信号的增益可以使输出的音频信号的幅值降低。也就是说,自动增益控制可以通过改变音频信号输入输出幅值的压缩比例来自动调整输出音频信号的幅值。本实施例所提供的自动增益控制方法也是通过调整音频信号幅值的形式实现。
示例性的,本实施例中的音频信号可以为语音实时通信过程中的音频信号,也可以为通过多媒体播放出的音频信号。其中,待处理音频信号可包括有效音频信号,即语音接收端能够接收到的语音发送端所发送的音频信号。示例性的,待处理音频信号也可包括噪音音频信号,即除语音接收端可以接收到发送端所发送的有效音频信号之外的其他所有音频信号。
示例性的,在对音频信号进行处理的过程中,一般可将音频信号按照固定时长分为若干音频帧,其中,固定时长也预先进行设定。对于若干音频帧中的每一帧音频信号都包括若干个采样点,每个采样点分别具有各自的振幅值。具体的,可以将10ms内所采集的样点作为一帧,帧长可由用户自行设定。例如,若在采样频率为16KHz的情况下,一帧10ms可以采集160个样点。在本实施例中,对待处理音频信号的识别过程实际上也就是对若干个音频帧中的各个采样点进行识别的过程。例如,可以从语音发送端所发送的音频信号的数据流中抓取一帧作为当前待处理的音频帧,也可以将音频信号的数据流中的连续几帧作为当前待处理的音频帧。
其中,在待处理音频信号中识别幅值过零点可包括:在所述待处理音频信号中,判断当前采样点幅值与任一相邻的采样点幅值的乘积是否为0,或与所述当前采样点相邻的两个采样点的幅值是否异号;若是,则确定当前采样点为所述待处理音频信号中的幅值过零点。
在本实施例中,在确定出待处理的音频帧后,可以识别出音频帧中幅值过零的采样点,然后将相邻两个零点之间的区间确定为过零区间。对于当前待处理的音频帧,可以确定多个过零区间。值得注意的是,在过零区间确定的过程中,需要保证过零区间的完整性。例如,对于两个采样点,若其中一个采样点的幅值为零,而另一个采样点的幅值不为零,则这两个采样点所形成的区间不能确定为过零区间。示例性的,可以通过编写过零检测的C代码实现对过零点的检测,在识别音频信号幅值过零点的过程中调用该代码即可。通过采用软件编程的方式实现过零点的检测,可以达到降低成本的效果。具体的,C代码可以具体为以下形式:
其中,数组Data的长度为2N,i表示第i个采样点。
步骤102、根据过零区间确定至少一个增益调整区间。
示例性的,在对各个采样点进行增益调整之前,可以首先确定需要进行增益调整的增益调整区间。具体的,可以将每个过零区间确定为一个增益调整区间,也可以将连续的至少两个过零区间确定为一个增益调整区间。可以理解的是,所确定的增益调整区间范围越小,后续对增益调整区间内采样点的幅值调整将越准确。
步骤103、根据增益调整区间内的音频信号幅值确定音频信号的有效状态。
示例性的,音频信号的有效状态可包括有效音频和噪音音频。其中,有效音频可以为语音接收端能够接收到的语音发送端所发送的音频信号。噪音音频可以为语音接收端可以接收到发送端所发送的有效音频信号之外的其他所有音频信号(例如环境声音等)。
示例性的,音频信号的有效状态的确定方式可以有多种,本实施例在此不做具体限定。例如,可以通过语音活动检测算法(Voice Activity Detection,VAD)来确定音频信号的有效状态,以区分有效音频和噪音音频。
步骤104、如果确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定时长,则根据当前增益调整区间的音频信号有效状态确定当前增益调整区间的调整增益。
其中,音频信号的有效状态并不是固定不变的,其可随语音发送端当前的状态或者根据语音发送端所处环境的改变而发生变化。当音频信号的有效状态发生变化且持续设定时长时,当前增益调整区间的调整增益需要根据当前增益调整区间的音频信号有效状态来确定。
示例性的,在一定条件下,有效音频信号可以变为噪音音频信号。具体的,在语音实时通信的过程中,语音信号的变化是一个连续的过程,讲话用户(语音发送端)所发出的字与字的音量并不完全相同。如果由于讲话用户个人原因或外界环境因素,使得用户所讲内容的音量整体较低,同时该内容所占用的时间超过了设定的时长,则可以确定当前增益调整区间的音频信号的有效状态由有效音频变为噪音音频。在上述情况下,当前增益调整区间的调整增益需要根据当前增益调整区间的音频信号有效状态(噪音音频)确定,而不能根据上一增益调整区间的音频信号有效状态(有效音频)来确定。示例性的,在一定条件下,音频信号的有效状态由噪音音频变为有效音频时,当前增益调整区间的调整增益需要根据当前增益调整区间的有效音频信号来确定。通过采用上述设置方式,可以根据当前增益调整区间内音频信号有效状态的实时变化确定出当前增益调整区间的调整增益,以提高增益确定的准确性。
示例性的,如果确定当前增益调整区间的音频信号的有效状态未发生变化,或变化后的有效状态未持续设定时长,则可根据上一增益调整区间的音频信号有效状态确定当前增益调整区间的调整增益。其中,设定时长为在实际操作过程中,经过大量实验统计后所得到的经验值。例如,在实时语音通信的过程中,讲话用户(语音发送端)所发出的字与字之间存在一定的时间间隔。尤其当用户边讲话边思考时,字与字之间的时间间隔可能较长但一般都会小于一定的阈值。或者当用户讲到重点时可能会将重点部分的音量调高以突出重点的内容,当重点讲完之后又恢复到原来的音量。在上述情况下,对于语音接收端来说,语音发送端所发送的音频信号都为有效音频信号。讲话用户所讲内容音量的变化或者所讲内容字与字之间的时间间隔的变化并不影响音频信号有效状态的变化(音频信号未从有效音频变为噪音音频)。此时,当前增益调整区间的调整增益可以根据上一增益调整区间的音频信号有效状态(有效音频)来确定。示例性的,若当前增益调整区间的音频信号的有效状态为噪音音频时,由于噪音音频也可能会存在突发情况(音量的突然提升或下降),但只要噪音音频信号的变化不超过设定的时长,该噪音音频的有效状态则不会被误判为有效音频。此时,基于上一增益调整区间音频信号有效状态(噪音音频)所确定的调整区间的调整增益同样适用于当前增益调整区间。因此,可以将上一增益调整区间的音频信号有效状态(噪音音频)确定当前增益调整区间的调整增益。上述设置方式的好处在于:在确定出当前增益调整区间内的音频信号未发生变化(或变化后的有效状态未持续设定时长)时,不需要再次计算当前增益调整区间的调整增益,进而可以减小计算量。
步骤105、根据调整增益对当前增益调整区间音频信号的幅值进行调整并输出。
示例性的,在确定出当前增益调整区间的调整增益后,可以将当前过零区间(当前增益调整区间)内的采样点的幅值均乘以调整增益进而使得采样点的幅值尽可能地达到目标幅值,从而达到调整音量的效果。在具体实施过程中,可采用如下C代码执行:
FOR j=1:Index[i+1]-Index[i]
Data[Index[i]+j]=Data[Index[i]+j]*Gain;
END
示例性的,若所确定的当前过零区间的调整增益大于1,则当前过零区间中所有采样点的幅值乘以该调整增益后,幅值均会增大,因此输出的音频信号将会被放大,用户所能听到的音量也会相应增大。若所确定的当前过零区间的调整增益小于1,则当前过零区间中所有采样点的幅值乘以该调整增益后,幅值均会减小,因此输出的音频信号将会被压缩,用户所能听到的音量也会相应降低。因此,通过对当前过零区间音频信号的幅值的调整可以达到用户所需要的音量。图6为本发明实施例一提供的对采样点增益调整前后示意图。如图6所示,根据步骤104中所确定的调整增益对当前增益调整区间采样点的幅值进行调整后,可以将大于目标幅值(TargetLevel)的采样点的幅值减小,也可以将大于噪音门限值(NoiseGate)且小于目标幅值(TargetLevel)的有效音频的采样点的幅值增大(尽可能达到目标音量),同时也可将小于噪音门限值(NoiseGate)的噪音音频信号采样点幅值减小(对噪音信号进行抑制)。值得注意的是,在对各个采样点的幅值进行增益调整后,各个采样点之间的斜率未发生很大的改变,因此可以表明,在频域中音频信号未发生明显的失真现象。
所以,通过采用上述方式对当前增益调整区间音频信号的幅值经过调整输出后,语音接收端接收到的音频信号不仅在时域中可以达到所需要的音量,同时也可保证频域中音频信号尽可能少的失真,提升了用户体验。
本发明实施例中提供的一种音频信号的自动增益控制方法,通过采用峰值来确定调整增益,使得调整增益可有效匹配最大幅值的音频信号调整,避免了消顶失真现象。同时,每个增益调整区间可单独确定调整增益,使得增益精度提高,也极大程度上降低频域中音频信号的失真度。此外,通过判断当前增益调整区间内的音频信号有效状态是否发生变化且已持续设定时长,可以在音频信号有效状态发生持续变化时进行相应的增益调整,而避免有效状态发生突变时进行误调整,达到提升用户体验的效果。
实施例二
图7为本发明实施例二提供的一种音频信号的自动增益控制方法的流程示意图。本实施例以上述实施例为基础进行优化,本实施例以上述实施例为基础进行优化,在本实施例中,将步骤“根据当前增益调整区间内的音频信号幅值确定为有效音频”优化为“将当前增益调整区间内的音频信号峰值与噪音门限值进行比较,如果大于噪音门限值,则确定为有效音频;如果小于或等于噪音门限值,则确定为噪音音频”。参照图7,本实施例具体包括如下步骤:
步骤201、在待处理音频信号中识别幅值过零点,将相邻过零点之间确定为过零区间;
步骤202、根据过零区间确定至少一个增益调整区间。
步骤203、判断当前增益调整区间内的音频信号峰值是否大于噪音门限值,若是,则执行步骤204;若否,则执行步骤205。
其中,噪音门限值为实际操作过程中,经过大量实验统计后所得到的经验值。通过噪音门限值的设置可以将有效音频和噪音音频进行有效区分。示例性的,噪音门限值也可通过其他测验或者计算方法进行设置,本实施在此不做具体限定。
在本实施例中,音频信号峰值为在当前增益调整区间内,所有采样点振幅绝对值的最大值。音频信号的峰值可由音频信号的自动增益控制装置默认设定。
本领域技术人员可以理解的是,统计采样点振幅绝对值的最大值的实现方式可以有很多种,本实施例不作具体限定。优选的,可通过编写C代码来获取过零区间内所有采样点的振幅值,然后可以计算所有采样点振幅值的绝对值,并从所有绝对值中获取到绝对值最大值。具体操作如下:
其中,Peak为采样点振幅绝对值的最大值,i表示第i个过零区间。
示例性的,在确定当前增益调整区间内的有效音频信号峰值之后,可以将该峰值与噪音门限值作比较,进而确定出当前增益调整区间内音频信号的有效状态。
步骤204、确定为有效音频。
步骤205、确定为噪音音频。
步骤206、如果确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定时长,则根据当前增益调整区间的音频信号有效状态确定当前增益调整区间的调整增益。
步骤207、根据调整增益对当前增益调整区间音频信号的幅值进行调整并输出。
本实施例在上述实施例的基础上,对上述实施例中的有效状态进行细化。通过噪音门限值的设定,可以将有效音频和噪音音频进行有效区分,进而可以使得下一步过零区间增益的调整更具有针对性。
实施例三
图8为本发明实施例三提供的一种音频信号的自动增益控制方法的流程示意图。本实施例以上述实施例为基础进行优化,本实施例以上述实施例为基础进行优化,在本实施例中,将步骤“确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定时长”优化为“在确定当前增益调整区间的有效状态为有效音频时,识别有效话音保持计数值是否大于或等于有效设定数量值;若是,则确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定数量的增益调整区间;若否,则确定当前增益调整区间的音频信号的有效状态发生变化未持续设定数量的增益调整区间,将有效话音保持计数值加一”以及“在确定当前增益调整区间的有效状态为噪音音频时,识别噪音保持计数值是否等于零;若是,则确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定数量的增益调整区间;若否,则确定当前增益调整区间的音频信号的有效状态发生变化未持续设定数量的增益调整区间,将噪音保持计数值减一”。
上述对有效话音的保持时长和噪音的保持时长控制方案,可以单独采用,也可以结合采用。本实施例将以结合采用的方案为例进行说明。参照图8,本实施例具体包括如下步骤:
步骤301、在待处理音频信号中识别幅值过零点,将相邻过零点之间确定为过零区间。
步骤302、根据过零区间确定至少一个增益调整区间,本实施例中,优选将每个过零区间均作为一个增益调整区间。
步骤303、判断当前增益调整区间内的音频信号峰值是否大于噪音门限值,即Pake>NoiseGate,若是,则执行步骤304;若否,则执行步骤307。
步骤304、识别有效话音保持计数值(CountUp)是否大于或等于有效设定数量值(StartTime),即CountUp≥StartTime,若是,则执行步骤305;否则,执行步骤306。
其中,有效设定数量值为在实际操作过程中经过大量试验得出的经验值。有效话音保持计数值可理解为衡量音频信号有效状态是否发生变化的计数器。如果该计数器所累加的值超过有效设定数量值,则可以表示音频信号的有效状态发生了变化,即从噪音音频变为有效音频,且持续的时间足够长。同时,也可以避免有效音频发生突变,例如在持续的噪音中突然出现短时有效音频时被误判的情况。
步骤305、确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定数量的增益调整区间。此时,设置有效话音保持计数值为有效设定数量值,即CountUp=StartTime,维持有效话音保持计数值不变,不再增长。且同时可以将噪音保持计数值重置为噪音设定数量值,即CountDown=HoldTime,表明无需再持续噪音状态。然后执行步骤310。
其中,设定数量的增益调整区间为经过大量试验所确定的经验值。
步骤306、确定当前增益调整区间的音频信号的有效状态发生变化未持续设定数量的增益调整区间,将有效话音保持计数值加一,然后执行步骤311。
此步骤表明虽然变更为有效话音,但可能是突变,所以仍然执行噪音抑制策略。同时,可以将噪音保持计数值清零,以便短时内再次出现噪音状态时可进行噪音抑制。
示例性的,如果有效话音保持计数值CountUp的初始值为0,有效设定数量值StartTime为3时,如果当前增益调整区间的有效状态为有效音频时,有效音频变化一次(例如音量升高一次)但未持续设定数量的增益调整区间时,有效话音保持计数值加一(此时等于2)。若在设定数量的增益调整区间范围内,随着有效音频状态的持续,CountUp会不断增加。当CountUp增加到3时,表示该有效音频已经持续了设定数量的增益调整区间。
步骤307、识别噪音保持计数值(CountDown)是否等于零,若是,则执行步骤308;否则,执行步骤309。
其中,噪音保持计数值也可理解为衡量音频信号有效状态变为噪音的计数器。该噪音保持计数值的初始值为噪音设定数量值(HoldTime),为非零值。噪音保持计数值降低到零时,表示音频信号的有效状态变化为噪音,并且已持续设定数量的增益调整区间。
步骤308、确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定数量的增益调整区间,将噪音保持计数值保持为零,同时可以将有效话音保持计数值重置为有效设定数量值StartTime,以便在噪音短时出现后再出现有效话音时,能执行有效话音的增益调整策略。然后执行步骤311。
其中,设定数量的增益调整区间以及噪音设定数量值为经过大量试验所确定的经验值。噪音保持计数值和噪音设定数量值的引入可以避免有效音频中突然出现噪音时被误判为噪音的情况,只有持续设定时长的噪音才会进行抑制。
步骤309、确定当前增益调整区间的音频信号的有效状态发生变化未持续设定数量的增益调整区间,将噪音保持计数值减一。然后执行步骤310。
示例性的,若在当前增益调整区间的音频信号的有效状态为有效音频,并且噪音保持计数值为3(不等于0)时,如果变化为噪音音频一次(例如音量突然减小一次)但未持续设定数量的增益调整区间,则噪音保持计数值减一(此时等于2)。若在设定数量的增益调整区间范围内,随着有效音频状态的变化,噪音保持计数值会不断减小。当噪音保持计数值减小到0时,表示该噪音音频已经持续了设定数量的增益调整区间。则此时当前增益调整区间内音频信号的有效状态可确定为噪音音频,需进行抑制。
步骤310、将设定目标幅值除以当前增益调整区间内的音频信号峰值,作为当前增益调整区间的调整增益,而后执行步骤312。
其中,目标幅值与噪音门限值的确定方式类似,也为在实际操作过程中,经过大量实验统计后所得到的经验值。在目标幅值下音频信号的播放效果最好。示例性的,目标幅值也可通过其他测验或者计算方法进行设置,本实施在此不做具体限定。
需要说明的是,由于每个过零区间内音频信号的峰值不一定完全相同,因此,基于音频信号峰值所确定的调整增益只适用于当前过零区间。这样设置的好处在于可以使得音频信号自动增益的调整更加具有针对性,并且可以提高增益精度。
步骤311、将当前增益调整区间的调整增益设置为设定的噪音抑制增益,而后执行步骤312。
其中,设定的噪音抑制增益为在实际操作过程中,经过大量实验统计后所得到的经验值,该经验值大于0且小于1,表示对噪音音频的压缩比例。通过采用该经验值可以使得噪音音频的压缩效果最好。通过采用上述设置方式,可以实现对噪音音频的抑制,进而可以提高语音通信的质量,提升用户体验。
步骤312、根据调整增益对当前增益调整区间音频信号的幅值进行调整并输出。
本实施例三在上述实施例的技术上,通过判断当前增益调整区间的音频信号有效状态是否发生变化且已持续设定时长,可以确定出在不同情况下音频信号发生变化(或未发生变化)时的当前增益调整区间的调整增益,同时也可以防止由于音频信号有效状态的突变(并未持续设定时长)而导致当前音频信号的有效状态被误判等情况的发生。
实施例四
图9为本发明实施例四提供的一种音频信号的自动增益控制方法的流程示意图。本实施例以上述实施例为基础进行优化,参照图9,本实施例具体包括如下步骤:
步骤401、将音频信号数据流中的上一帧音频信号与当前帧音频信号拼合为待处理音频信号。
其中,音频信号数据流中上一帧音频信号表示当前要处理并播放的音频信号。当前帧音频信号表示即将要处理的音频信号。将上一帧音频信号与当前帧音频信号拼合后作为待处理音频信号,可以保证接收端所接收到音频信号的平滑性。由于上一帧音频信号与当前帧音频信号的拼合,将导致待处理的音频信号的帧长度增大。示例性的,若上一帧音频信号和当前帧音频信号的帧长度都为N,则将上一帧音频信号与当前帧音频信号拼合后,当前待处理音频信号的帧长度为N+N=2N。
步骤402、在待处理音频信号中识别幅值过零点,直至当前帧音频信号的第一个过零点。
将上一帧音频信号与当前帧音频信号的拼合后,上一帧音频信号最后一个过零点可以作为当前帧音频信号的第一个过零点。同时,上一帧音频信号的最后一个过零区间也可以作为当前音频信号的第一个过零区间。通过将上一帧音频信号与当前帧音频信号的拼合,也可以保证过零区间的完整性。
步骤403、将相邻过零点之间确定为过零区间。
步骤404、根据过零区间确定至少一个增益调整区间。
步骤405、判断当前增益调整区间内的音频信号峰值是否大于噪音门限值,即Pake>NoiseGate,若是,则执行步骤406;若否,则执行步骤409。
步骤406、识别有效话音保持计数值(CountUp)是否大于或等于有效设定数量值,(StartTime),即CountUp≥StartTime,若是,则执行步骤407;否则,执行步骤408。
步骤407、确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定数量的增益调整区间,此时,设置有效话音保持计数值为有效设定数量值,即CountUp=StartTime,且同时可以将噪音保持计数值重置为噪音设定数量值,即CountDown=HoldTime,然后执行步骤412。
步骤408、确定当前增益调整区间的音频信号的有效状态发生变化未持续设定数量的增益调整区间,将有效话音保持计数值加一,即CountUp++。同时,可以将噪音保持计数值清零,即CountDown=0,然后执行步骤413。
步骤409、识别噪音保持计数值(CountDown)是否等于零,若是,则执行步骤410;否则,执行步骤411。
步骤410、确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定数量的增益调整区间,将噪音保持计数值保持为零,即CountDown=0,同时可以将有效话音保持计数值重置为有效设定数量值StartTime,即CountUp=StartTime。然后执行步骤413。
步骤411、确定当前增益调整区间的音频信号的有效状态发生变化未持续设定数量的增益调整区间,将噪音保持计数值减一,即CountDown--。然后执行步骤412。
步骤412、将设定目标幅值除以当前增益调整区间内的音频信号峰值,作为当前增益调整区间的调整增益Gain,即然后执行步骤414。
步骤413、将当前增益调整区间的调整增益(Gain)设置为设定的噪音抑制增益(Gain_NG),即设置Gain=Gain_NG,其中,Gain_NG<1,然后执行步骤414。
步骤414、根据调整增益对当前增益调整区间音频信号的幅值进行调整并输出。
本实施例四在上述实施例的基础上,通过将音频信号数据流中的上一帧音频信号与当前帧音频信号拼合后,可以保证待处理音频信号中过零区间的完整性,同时也可以实现上一帧音频信号到当前帧音频信号的平滑过渡。
实施例五
图10为本发明实施例五提供的一种音频信号的自动增益控制装置的结构框图。该装置可由软件和/或硬件实现,可执行音频信号的自动增益控制方法。如图10所示,该装置包括:过零区间确定模块501、调整区间确定模块502、有效状态确定模块503、第一调整增益确定模块504和幅值调整模块505。
其中,过零区间确定模块501,用于在待处理音频信号中识别幅值过零点,将相邻过零点之间确定为过零区间;调整区间确定模块502,用于根据所述过零区间确定至少一个增益调整区间;有效状态确定模块503,用于根据所述增益调整区间内的音频信号幅值确定音频信号的有效状态;第一调整增益确定模块504,用于如果确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定时长,则根据所述当前增益调整区间的音频信号有效状态确定当前增益调整区间的调整增益;幅值调整模块505,用于根据所述调整增益对所述当前增益调整区间音频信号的幅值进行调整并输出。
本发明实施例中提供的一种音频信号的自动增益控制装置,通过采用峰值来确定调整增益,使得调整增益可有效匹配最大幅值的音频信号调整,避免了消顶失真现象。同时,每个增益调整区间可单独确定调整增益,使得增益精度提高,也极大程度上降低频域中音频信号的失真度。此外,通过判断当前增益调整区间内的音频信号有效状态是否发生变化且已持续设定时长,可以在音频信号有效状态发生持续变化时进行相应的增益调整,而避免有效状态发生突变时进行误调整,达到提升用户体验的效果。
在上述实施例的基础上,所述调整区间确定模块具体用于:将每个过零区间确定为一个增益调整区间;或将连续的至少两个过零区间确定为一个增益调整区间。
在上述实施例的基础上,该装置还包括:第二调整增益确定模块,用于如果确定当前增益调整区间的音频信号的有效状态未发生变化,或变化后的有效状态未持续设定时长,则根据上一增益调整区间的音频信号有效状态确定当前增益调整区间的调整增益。
在上述实施例的基础上,所述有效状态确定模块具体用于:将所述当前增益调整区间内的音频信号峰值与噪音门限值进行比较;如果大于所述噪音门限值,则确定为有效音频;如果小于或等于所述噪音门限值,则确定为噪音音频。
在上述实施例的基础上,所述第一调整增益确定模块包括:调整增益确定单元,用于如果所述当前增益调整区间的音频信号为有效音频,则根据所述当前增益调整区间内的音频信号峰值确定所述当前增益调整区间的调整增益;噪音抑制增益设定单元,用于如果所述当前增益调整区间的音频信号为噪音音频,将所述当前增益调整区间的调整增益设置为设定的噪音抑制增益。
在上述实施例的基础上,所述调整增益确定单元具体用于:将设定目标幅值除以所述当前增益调整区间内的音频信号峰值,作为所述当前增益调整区间的调整增益。
在上述实施例的基础上,所述过零区间确定模块具体用于:将音频信号数据流中的上一帧音频信号与当前帧音频信号拼合为待处理音频信号;在待处理音频信号中识别幅值过零点,直至当前帧音频信号的第一个过零点;将相邻过零点之间确定为过零区间。
在上述实施例的基础上,所述第一增益调整模块具体用于:在确定当前增益调整区间的有效状态为有效音频时,识别有效话音保持计数值是否大于或等于有效设定数量值;若是,则确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定数量的增益调整区间;若否,则确定当前增益调整区间的音频信号的有效状态发生变化未持续设定数量的增益调整区间,将有效话音保持计数值加一;根据所述当前增益调整区间的音频信号有效状态确定当前增益调整区间的调整增益。
在上述实施例的基础上,所述第一增益调整模块具体用于:在确定当前增益调整区间的有效状态为噪音音频时,识别噪音保持计数值是否等于零;若是,则确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定数量的增益调整区间;若否,则确定当前增益调整区间的音频信号的有效状态发生变化未持续设定数量的增益调整区间,将噪音保持计数值减一;根据所述当前增益调整区间的音频信号有效状态确定当前增益调整区间的调整增益。
上述实施例中提供的音频信号的自动增益控制装置可执行本发明任意实施例所提供的音频信号的自动增益控制方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的音频信号的自动增益控制方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (13)
1.一种音频信号的自动增益控制方法,其特征在于,包括:
在待处理音频信号中识别幅值过零点,将相邻过零点之间确定为过零区间;
根据所述过零区间确定至少一个增益调整区间;
根据所述增益调整区间内的音频信号幅值确定音频信号的有效状态;
如果确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定时长,则根据所述当前增益调整区间的音频信号有效状态确定当前增益调整区间的调整增益;
根据所述调整增益对所述当前增益调整区间音频信号的幅值进行调整并输出。
2.根据权利要求1所述的方法,其特征在于,根据所述过零区间确定至少一个增益调整区间包括:
将每个过零区间确定为一个增益调整区间;或
将连续的至少两个过零区间确定为一个增益调整区间。
3.根据权利要求2所述的方法,其特征在于,还包括:
如果确定当前增益调整区间的音频信号的有效状态未发生变化,或变化后的有效状态未持续设定时长,则根据上一增益调整区间的音频信号有效状态确定当前增益调整区间的调整增益。
4.根据权利要求2所述的方法,其特征在于,根据所述增益调整区间内的音频信号幅值确定音频信号的有效状态包括:
将所述当前增益调整区间内的音频信号峰值与噪音门限值进行比较;
如果大于所述噪音门限值,则确定为有效音频;
如果小于或等于所述噪音门限值,则确定为噪音音频。
5.根据权利要求2所述的方法,其特征在于,根据所述当前增益调整区间的音频信号有效状态确定当前增益调整区间的调整增益包括:
如果所述当前增益调整区间的音频信号为有效音频,则根据所述当前增益调整区间内的音频信号峰值确定所述当前增益调整区间的调整增益;
如果所述当前增益调整区间的音频信号为噪音音频,将所述当前增益调整区间的调整增益设置为设定的噪音抑制增益。
6.根据权利要求5所述的方法,其特征在于,根据所述当前增益调整区间内的音频信号峰值确定所述当前增益调整区间的调整增益包括:
将设定目标幅值除以所述当前增益调整区间内的音频信号峰值,作为所述当前增益调整区间的调整增益。
7.根据权利要求1所述的方法,其特征在于,在待处理音频信号中识别幅值过零点,将相邻过零点之间确定为过零区间包括:
将音频信号数据流中的上一帧音频信号与当前帧音频信号拼合为待处理音频信号;
在待处理音频信号中识别幅值过零点,直至当前帧音频信号的第一个过零点;
将相邻过零点之间确定为过零区间。
8.根据权利要求2所述的方法,其特征在于,确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定时长包括:
在确定当前增益调整区间的有效状态为有效音频时,识别有效话音保持计数值是否大于或等于有效设定数量值;
若是,则确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定数量的增益调整区间;
若否,则确定当前增益调整区间的音频信号的有效状态发生变化未持续设定数量的增益调整区间,将有效话音保持计数值加一。
9.根据权利要求2所述的方法,其特征在于,确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定时长包括:
在确定当前增益调整区间的有效状态为噪音音频时,识别噪音保持计数值是否等于零;
若是,则确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定数量的增益调整区间;
若否,则确定当前增益调整区间的音频信号的有效状态发生变化未持续设定数量的增益调整区间,将噪音保持计数值减一。
10.一种音频信号的自动增益控制装置,其特征在于,包括:
过零区间确定模块,用于在待处理音频信号中识别幅值过零点,将相邻过零点之间确定为过零区间;
调整区间确定模块,用于根据所述过零区间确定至少一个增益调整区间;
有效状态确定模块,用于根据所述增益调整区间内的音频信号幅值确定音频信号的有效状态;
第一调整增益确定模块,用于如果确定当前增益调整区间的音频信号的有效状态发生变化且已持续设定时长,则根据所述当前增益调整区间的音频信号有效状态确定当前增益调整区间的调整增益;
幅值调整模块,用于根据所述调整增益对所述当前增益调整区间音频信号的幅值进行调整并输出。
11.根据权利要求10所述的装置,其特征在于,所述调整区间确定模块具体用于:
将每个过零区间确定为一个增益调整区间;或
将连续的至少两个过零区间确定为一个增益调整区间。
12.根据权利要求11所述的装置,其特征在于,还包括:
第二调整增益确定模块,用于如果确定当前增益调整区间的音频信号的有效状态未发生变化,或变化后的有效状态未持续设定时长,则根据上一增益调整区间的音频信号有效状态确定当前增益调整区间的调整增益。
13.根据权利要求11所述的装置,其特征在于,所述第一调整增益确定模块包括:
调整增益确定单元,用于如果所述当前增益调整区间的音频信号为有效音频,则根据所述当前增益调整区间内的音频信号峰值确定所述当前增益调整区间的调整增益;
噪音抑制增益设定单元,用于如果所述当前增益调整区间的音频信号为噪音音频,将所述当前增益调整区间的调整增益设置为设定的噪音抑制增益。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610917321.7A CN106448690A (zh) | 2016-10-20 | 2016-10-20 | 一种音频信号的自动增益控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610917321.7A CN106448690A (zh) | 2016-10-20 | 2016-10-20 | 一种音频信号的自动增益控制方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106448690A true CN106448690A (zh) | 2017-02-22 |
Family
ID=58176416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610917321.7A Pending CN106448690A (zh) | 2016-10-20 | 2016-10-20 | 一种音频信号的自动增益控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106448690A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019033939A1 (zh) * | 2017-08-18 | 2019-02-21 | Oppo广东移动通信有限公司 | 音量调节方法、装置、终端设备及存储介质 |
CN109584901A (zh) * | 2019-01-29 | 2019-04-05 | 成都德芯数字科技股份有限公司 | 应急广播音频处理方法及装置 |
CN109716432A (zh) * | 2018-11-30 | 2019-05-03 | 深圳市汇顶科技股份有限公司 | 增益处理方法及其装置、电子设备、信号采集方法及其系统 |
CN111161749A (zh) * | 2019-12-26 | 2020-05-15 | 佳禾智能科技股份有限公司 | 可变帧长的拾音方法、电子设备、计算机可读存储介质 |
CN112468935A (zh) * | 2021-02-03 | 2021-03-09 | 深圳市东微智能科技股份有限公司 | 麦克风增益调节方法、系统、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59221017A (ja) * | 1983-05-31 | 1984-12-12 | Nippon Hoso Kyokai <Nhk> | 音声レベル圧縮器 |
CN1790901A (zh) * | 2004-12-13 | 2006-06-21 | 腾讯科技(深圳)有限公司 | 一种自动增益控制方法 |
CN1953488A (zh) * | 2006-11-01 | 2007-04-25 | 华为技术有限公司 | 一种多路语音信号的混音方法及装置 |
CN101447771A (zh) * | 2008-12-24 | 2009-06-03 | 北京中星微电子有限公司 | 一种增益自动控制的方法和系统 |
CN203193577U (zh) * | 2013-01-11 | 2013-09-11 | 安徽工程大学 | 音频处理器 |
CN105225674A (zh) * | 2015-09-25 | 2016-01-06 | 维沃移动通信有限公司 | 一种语音信号处理方法、装置及移动终端 |
-
2016
- 2016-10-20 CN CN201610917321.7A patent/CN106448690A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59221017A (ja) * | 1983-05-31 | 1984-12-12 | Nippon Hoso Kyokai <Nhk> | 音声レベル圧縮器 |
CN1790901A (zh) * | 2004-12-13 | 2006-06-21 | 腾讯科技(深圳)有限公司 | 一种自动增益控制方法 |
CN1953488A (zh) * | 2006-11-01 | 2007-04-25 | 华为技术有限公司 | 一种多路语音信号的混音方法及装置 |
CN101447771A (zh) * | 2008-12-24 | 2009-06-03 | 北京中星微电子有限公司 | 一种增益自动控制的方法和系统 |
CN203193577U (zh) * | 2013-01-11 | 2013-09-11 | 安徽工程大学 | 音频处理器 |
CN105225674A (zh) * | 2015-09-25 | 2016-01-06 | 维沃移动通信有限公司 | 一种语音信号处理方法、装置及移动终端 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019033939A1 (zh) * | 2017-08-18 | 2019-02-21 | Oppo广东移动通信有限公司 | 音量调节方法、装置、终端设备及存储介质 |
CN109716432A (zh) * | 2018-11-30 | 2019-05-03 | 深圳市汇顶科技股份有限公司 | 增益处理方法及其装置、电子设备、信号采集方法及其系统 |
CN109584901A (zh) * | 2019-01-29 | 2019-04-05 | 成都德芯数字科技股份有限公司 | 应急广播音频处理方法及装置 |
CN109584901B (zh) * | 2019-01-29 | 2021-04-23 | 成都德芯数字科技股份有限公司 | 应急广播音频处理方法及装置 |
CN111161749A (zh) * | 2019-12-26 | 2020-05-15 | 佳禾智能科技股份有限公司 | 可变帧长的拾音方法、电子设备、计算机可读存储介质 |
CN112468935A (zh) * | 2021-02-03 | 2021-03-09 | 深圳市东微智能科技股份有限公司 | 麦克风增益调节方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106504765B (zh) | 一种音频信号的自动增益控制方法和装置 | |
CN106448690A (zh) | 一种音频信号的自动增益控制方法和装置 | |
CN106448712A (zh) | 一种音频信号的自动增益控制方法和装置 | |
CN104200810B (zh) | 自动增益控制装置及方法 | |
CN100563287C (zh) | 一种多路语音信号的混音方法及装置 | |
US20100158271A1 (en) | Method for separating source signals and apparatus thereof | |
EP2898510B1 (en) | Method, system and computer program for adaptive control of gain applied to an audio signal | |
CN103124165A (zh) | 自动增益控制 | |
US20030216908A1 (en) | Automatic gain control | |
US20140023219A1 (en) | Method of and hearing aid for enhancing the accuracy of sounds heard by a hearing-impaired listener | |
CN110675887A (zh) | 一种用于会议系统的多麦克风切换方法和系统 | |
CN112242147A (zh) | 一种语音增益控制方法及计算机存储介质 | |
CN105933557A (zh) | 一种同步语音会议中与会人员的音量智能调整方法及系统 | |
CN108231088B (zh) | 一种应用于语音数字信号的快速自动增益控制方法和装置 | |
CN1742322A (zh) | 噪声减小和视听语音活动检测 | |
CN103812462A (zh) | 响度控制方法及装置 | |
CN106505960A (zh) | 一种音频信号的自动增益控制方法和装置 | |
CN101958693A (zh) | 音量调节装置及方法 | |
CN105872752B (zh) | 一种反馈式智能音量调节方法 | |
CN106549954A (zh) | 语音处理方法及装置 | |
CN108804069B (zh) | 音量调节方法及装置、存储介质、电子设备 | |
US11490211B2 (en) | Directivity hearing-aid device and method thereof | |
CN109841223A (zh) | 一种音频信号处理方法、智能终端及存储介质 | |
US20080228477A1 (en) | Method and Device For Processing a Voice Signal For Robust Speech Recognition | |
US11601750B2 (en) | Microphone control based on speech direction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170222 |