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

Tom Grandgent tgrand at canvaslink.com
Tue Feb 27 19:55:27 PST 2007

Andy Ross <andy at plausible.org> wrote:
> Tom Grandgent wrote:
> > Andy Ross wrote:
> > > I wrote a trivial squelch feature* in 10 minutes that works
> > > basically 100% of the time.
> >
> > Could you please explain how this differs from VAD?
> Not knowing how VAD works, I can't say for sure.  But enabling
> VAD wasn't catching the existing transients (see original post),
> and this does.  So at the very least it differs in threshold.

Ok, well as far as I can tell, VAD is just a system that detects 
whether or not some audio contains voice (or something else that 
you want to transmit.)  There are different ways to do it but 
those are implementation details.  I also didn't get good results 
with Speex VAD for my VoIP app, so I ended up using a similar 
trivial approach - a threshold based on the power level.  It 
works very well but is still far from perfect.  I fully intend to 
continue to re-evaluate Speex VAD on an ongoing basis.

So I think what you want is more related to VAD than denoise.  
But really, there tend to be relationships between all of the 
algorithms that work on the input audio stream - denoise, VAD, 
AGC, AEC, etc, so it's easy to confuse their responsibilities.

I think Jean-Marc is helping out tremendously by providing 
implementations of these features, but making them work well in 
the general case and handling the huge variety of conditions in 
real-world audio is a tough job which should not be underestimated.


More information about the Speex-dev mailing list