[Speex-dev] AEC troubleshooting

Justin Karneges justin at affinix.com
Wed Aug 12 09:58:41 PDT 2009

On Wednesday 12 August 2009 00:46:25 Greger Burman wrote:
> First of all, thank you for your input Tim. That is very helpful.
> I would love to hear from other people with experience of AEC and Speex.
> I guess I have to split my question into to parts now.
> 1.
> Is it a fact that using the windows multimedia API (wave audio) for audio
> capture and playback makes it impossible to do echo cancellation with Speex
> AEC or other EC method due to inprecise timing?
> I welcome comments from anyone who has got echo cancellation working when
> recording through WinMM, DirectSound or ASIO.

I've had the Speex AEC working with DirectSound, but admittedly the 
effectiveness is hit and miss.  It seemed to work consistently from a 
VMware'd Windows running on Linux.  However, I've noticed it not working at 
all on actual desktop machines.  Probably my capture/playback synchronization 
is not perfect.

DirectSound has a full duplex mode.  I'd imagine that ought to be pretty well 
synchronized, but I'm not using it yet.

> 2.
> What about the Speex echo cancellor and the different sampling rates. Will
> it only perform well in narrowband mode (8kHz)? Does it not perform well in
> wideband (16kHz) or ultra-wideband (32kHz) mode?

I've noticed that cancellation works better at higher sample rates, but this 
could be because I'm having a hard time synchronizing the streams.  For 
example, 16kHz won't cancel for me, but 22kHz and 44kHz will.


More information about the Speex-dev mailing list