WebRTC audio processing continuous: AGC effect optimizing (setting parameter adjustment) 1

After days of working,  all audio processing functions seems are working in the KdvMediaSDK now, and the next step will be getting a proper set for the audio processing algorithms to run under certain environments & circumstance.

I will start it by beginning with AGC module too. Here are the parameters of AGC algorithm.

AGC parameters:
1. Target level DBFS
According to the description of webrtc:
Change of this parameter will set the target peak |level| (or envelope) of the AGC in dBFs (decibels from digital full-scale).
The convention is to use positive values.
For instance, passing in a value of 3 corresponds to -3 dBFs, or a target level 3 dB below full-scale.

Value range: limited to [0, 31].

TODO(ajm): use a negative value here instead, if/when VoE will similarly update its interface.
2. Compression gain DB
Sets the maximum |gain| the digital compression stage may apply, in dB. A
higher number corresponds to greater compression, while a value of 0 will leave the signal uncompressed.

Value range: limited to [0, 90]

3. Enable limiter or not
When enabled, the compression stage will hard limit the signal to the target level. Otherwise, the signal will be compressed but not limited above the target level.

4. Analog level limits
Sets the |minimum| and |maximum| analog levels of the audio capture device.
Must be set if and only if an analog mode is used.

Value range: limited to [0, 65535].

5. Stream saturated or not
Returns true if the AGC has detected a saturation event (period where the signal reaches digital full-scale) in the current frame and the analog level cannot be reduced.
This could be used as an indicator to reduce or disable analog mic gain at the audio HAL.

BTW: Not like the webrtc project, products using KdvMediaSDK are using mixing-audio-on-server mode,  so “target level Dbfs” and “gain DB” will be more important to us.


Leave a comment

Your email address will not be published. Required fields are marked *

One thought on “WebRTC audio processing continuous: AGC effect optimizing (setting parameter adjustment)

  • vist

    I wish to express some thanks to this writer for rescuing me from such a instance. Because of scouting throughout the the web and finding tips which were not productive, I was thinking my life was well over. Existing minus the solutions to the difficulties you’ve sorted out by way of your good short article is a serious case, as well as the ones which might have negatively affected my career if I hadn’t discovered your blog post. Your knowledge and kindness in touching the whole thing was precious. I am not sure what I would have done if I hadn’t encountered such a solution like this. I am able to at this time relish my future. Thanks for your time very much for the specialized and results-oriented guide. I won’t hesitate to endorse your site to anybody who needs to have care on this problem.