Webrtc AGC 算法原理介绍(六)(转)

零、前言

本系列介绍Webrtc的agc算法。webrtc的agc算法对各种情况作了较为详尽的考虑,而且使用了的定点数的方法来实现,因此内容比较多。尽量在这几篇文章中描述清楚。

一、WebRtcAgc_ProcessDigital

ProcessDigital是AGC的核心函数,无论什么模式都要调用到。现在来解释一下。
该函数8khz的时候处理80个点的数据,16k处理160个点的数据,32k处理低频160个点的数据。每个处理都是10ms。
WebRtcAgc_ProcessDigital流程图1
1、首先计算了近端信号的VAD参数。并且当远端信号超过10帧(100ms)后,使用远端的VAD参数修正近端VAD,具体方法是:
L=34Lnear14LfarL=34Lnear−14Lfar

Cslow={C2slow+decay,evn[k]<Cslow500(evn[k]Cslow)+Cslow,evn[k]CslowCslow={Cslow2+decay,evn[k]<Cslow500(evn[k]−Cslow)+Cslow,evn[k]≥Cslow在[0.304,1]。
当gate最小的时候为0(语音),gain_adj取到最大,此时不使用gainTable[0]的值作为参考;
当gate最大的时候为2500(噪声),gain_adj取到最小,此时g[k+1]要取到相对于gainTable[0]的值的70%;
当gate处于最大最小值之间,g[k+1]在gainTable[0]和g[k+1]确定的这条直线上移动。
接着再根据信号的大小对gain做一些限制,保证信号不要发生剪切。
WebRtcAgc_ProcessDigital流程图3
6、使用gain
这部分比较简单,对每一块使用不同的gain,其中每个点的gain都在两个gain[k]和gain[k+1]中差值获得。
最后对处理后的信号进行幅度限制。

WebRTC AGC(自适应增益控制)算法是一种音频信号处理算法,用于调节音频输入信号的增益水平,以在通信中实现更好的音质和更高的语音识别准确度。 AGC算法通过监测音频输入信号的强度,并自动调整增益水平,以确保输出信号保持在可接受的范围内,避免声音过高或过低。这种自适应调节可以使通话中的语音更加清晰和稳定,而不会因为某一方的声音过弱或过强而听不清。另外,AGC算法还可以提供麦克风阵列的噪音抑制功能,减少环境噪音对通信质量的影响。 AGC算法的核心思想是根据音频输入信号的能量级别,动态调整增益水平。当输入信号较弱时,AGC会增加增益,以增强信号的强度。而当输入信号较强时,AGC会减小增益,以避免声音失真。这种自动调整可以根据通话环境中的变化进行实时优化,提供更好的音频体验。 WebRTC AGC算法的应用范围广泛,例如语音通信、视频会议、语音识别等领域,都可以受益于AGC算法的应用。通过实时优化音频输入信号的增益,AGC可以提供更好的通话质量和语音识别准确度,提升用户体验并提高通信效率。 总而言之,WebRTC AGC算法是一种音频信号处理算法,通过自适应调整音频输入信号的增益水平,提供清晰稳定的通话音质和更高的语音识别准确度。它在现代通信中发挥重要作用,为用户提供了更好的音频体验和通信效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值