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.