[Speex-dev] Noise suppression less than AGC gain

Thorvald Natvig speex at natvig.com
Tue May 29 08:08:12 PDT 2007


>> Yes, after I stop speaking, the noise slowly starts climbing again, and
>> if I peek at st->agc_gain, that's slowly climbing too. I think part of
>> the trouble is that the noise in here isn't uniform white noise; there's
>> traffic outside the window and people walking in the hallway outside my
>> door. Each little event is enough to cause the AGC to increase a little
>> bit.
> 
> Hmm, I guess it's sort of the expected behaviour. It's pretty hard for
> the AGC to know whether these "events" are desirable or not and whether
> it should adapt to them.

Aye. I have some silent hope that some day a perfect VAD will arrive, 
and then that could be used to adapt the AGC :)

>> Alternately, perhaps it could be made so that noise suppression scales
>> with agc_gain? (IE, if you're multiplying by 10 for the gain, multiply
>> noise reduction by 10 as well).
> 
> Well, you can always force the values yourself. Look for
> SPEEX_PREPROCESS_SET_NOISE_SUPPRESS
> and
> SPEEX_PREPROCESS_SET_AGC_MAX_GAIN
> Both are in dB (integer)

I did that (set noise suppress to -30 and the max gain to 15), and that 
fixes the problem for me. But as this seems to be a fairly common 
environment, I thought perhaps it would make sense to tune the defaults 
slightly.



More information about the Speex-dev mailing list