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

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

> That is true for distinguishing it by waveform, but not by amplitude.
> As I mentioned, these transients are objectively tiny.  

*Your* transients may be "tiny" and in any case, it doesn't help if you
don't know the level you're recording at.

I guess I'd be
> curious as to which voice codec applications require no squelch (other
> than trivial examples like push-to-talk interfaces).  Especially in
> the presence of the AGC feature, it seems pretty much required to me.
> (I'll try the svn code, though.  It may be that a better AGC would
> eliminate the need for squelch.)

As surprising as it may sound, I might want this lecture recording to
keep the typing, but remove the ventilation noise! I might even be
interested *only* is some sort of clicks and not the stationary
background noise!

> I'm not saying a general squelch algorithm would be a easy task, just
> that it's (1) important to real world applications (IMHO rather more
> important than spectrum-based denoise or AGC) 

Again your application != what everyone wants.

and (2) not all *that*
> difficult, as evidenced by my really brief experiment. 

Except that your application assumes a certain input level. Try taking
the samples you test on and then apply a gain of 10 and run your magic
algorithm. Then take the original sample and apply a gain of 0.02
instead. Do you always get the same result from your algorithm? What
about also varying the SNR from 0 dB to 30 dB. Still perfect performance
across the range? If so, please submit to


> I guess I don't understand your resistance to squelch, it's a very
> well-tested idiom.  Sure, there are sexier algorithms out there, but
> there's still room for squelch in a modern application.

As I mentioned before, if you find a good algorithm that'll work across
any (or a good range of) input level and SNR, I'll be quite happy to
consider it.


More information about the Speex-dev mailing list