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

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Tue Feb 27 16:01:46 PST 2007

> 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.

No. Active noise cancellation is yet another thing, where you cancel the
noise in the "acoustic world" by destructive interference. Most likely
not what you want.

> Uh, production applications almost always require squelch, no?  

Some do, some don't. In general, distinguishing between a keyboard and a
speech transient is next to impossible based only on a few ms of speech.
I wouldn't be surprised if you algo either 1) adds delay or 2) cuts onsets.

> 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.

If you come up with a general algorithm that works for all cases, I'll
definitely consider it.

>> 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