>
> 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.
Regards,
Dario Andrade