[Speex-dev] Preprocessor denoise. Does it work?

Andy Ross andy at plausible.org
Tue Feb 27 15:52:38 PST 2007

Jean-Marc Valin wrote:
> The noise suppressor will only attempt to remove stationary noise,
> such as thermal noise, fans, ... The AGC can indeed do strange
> things in these cases, but it's been improved in svn (compared to
> 1.2beta1).

OK, then the problem is that I misunderstood the feature.  I assumed
that dynamic squelch was part of it, but it's really something more
along the lines of active noise cancellation.  That's fine, I'll work
on improving my own squelch code.

> Congratulations. If it works better on your data, then use it. It'll
> just fail miserably in other conditions, but you may not care about
> those.

Uh, production applications almost always require squelch, no?  This
is no less true today than it was in the days of analog transmitters.
Note that mobile phones don't transmit low-value transients, even if
I'm typing right next to them.  While it's certainly true that the
fixed-threshold static peak implementation I banged out isn't going to
work everywhere, some more elaborate variation would be really nice to
have in speex.

> Are you using a frame size in the 10-20 ms range?

I'm using the frame size returned from SPEEX_GET_FRAME_SIZE.  It's 640
frames under this implementation, or 20ms.


More information about the Speex-dev mailing list