WebRTC AGC (Automatische Verstärkungsregelung)

Ich teste die WebRTC AGC, aber ich muss etwas falsch machen, weil das Signal nur unverändert durchgeht.

So erstelle und initialisiere ich die AGC:

agcConfig.compressionGaindB = 9;
agcConfig.limiterEnable = 1;
agcConfig.targetLevelDbfs = 9;   /* 9dB below full scale */

WebRtcAgc_Create(&agc);
WebRtcAgc_Init(agc, minLevel, maxLevel, kAgcModeFixedDigital, 8000);
WebRtcAgc_set_config(agc, agcConfig);

Und dann mache ich für jeden 10ms Sample Block folgendes:

WebRtcAgc_Process(agc, micData, NULL, 80, micData, NULL, micLevelIn, &micLevelOut, 0, &saturationWarning);

WomicLevelIn ist auf 0 gesetzt.

Kann mir jemand sagen, was ich falsch mache?

Ich habe erwartet, dass ein voller Sinuston auf den Ziel-DBFS-Pegel gedämpft wird. und ein Sinuston mit niedrigem Pegel (d. h. -30 dBFS) würde verstärkt, um mit dem Ziel-DBFS-Pegel übereinzustimmen. Aber das sehe ich nicht.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage