[Speex-dev] RE: Speex-dev Digest, Vol 16, Issue 6

Dario Andrade dario at sinistro.net
Mon Sep 5 14:19:44 PDT 2005

> 2:
> ====================
> -- I read the played packets from DirectSound Buffer
> and use it as echo frame. I have noticed that my echo
> frame is of low amplitude and many values of it are 0
> [zero].

How do you read played audio data from directsound buffer?
You create a primary buffer and read the samples? 
Do they really correspond to what's playing in the machine?

> -- Since the values are small, I applied AGC on echo
> frame with another Speex preprocessor before passing
> it to EC. With this approach and echo tail 400ms, I
> get very good echo cancellation. But some times we get
> distorted audio, sounds like someone speaking in pipe
> or underwater.

> -- Is there any possibility to get distorted audio if
> we apply speex AGC on echo frame before passing it to
> EC?

There is a small "gap" in the preproc agc. I applied a patch that
freezes the gain when voice is not detected. That way,
noise is not amplified too badly.

I can provide you the patch if that's ok with you.

I'd appreciate if you could share how you've managed to
capture playing audio samples.

Dario Andrade

More information about the Speex-dev mailing list