[Speex-dev] Denoise causing drain pipe effect in audio

John Ridges jridges at masque.com
Fri Jun 4 12:39:46 PDT 2010

Actually, if you have a second microphone that captures just the noise 
(perhaps a directional mic pointed away from the announcer), and the 
sound path between that microphone and the primary microphone is linear, 
then JM has already done the work for you. Just use the AEC and plug the 
"noise" microphone into where you would normally plug in the speaker on 
the AEC (and delay the primary microphone by at least the speed of sound 
time between the two microphones).

John Ridges

Henry Gomersall <whg21 at cam.ac.uk> wrote:

> In general, if you have information about the nature of the noise you
> are trying to suppress, you can do much better than just assuming white
> noise.
> This is a classic example of where a Wiener filter might be useful.
> Typically, you would use a second microphone to capture just the noise,
> and then use that to perform some regularisation on the speech signal -
> you would suppress parts of the signal spectrum where the signal to
> noise ratio is low. The Wiener filter is well studied and understood,
> but only really optimal under the assumption of additive Gaussian noise
> and a Gaussian prior on the signal (which is almost never true!), and is
> easily tractable under even stronger conditions. As a first attempt
> though, I would try the Wiener filter as it may be good enough.
> In answer to your general question, yes, there are ways of doing noise
> suppression, and much can be done with knowledge about the kind of noise
> you are experiencing. Huge swathes of literature are devoted to exactly
> this topic.

More information about the Speex-dev mailing list