[alsa-devel] echo-cancellation plugin advice?

Takashi Iwai tiwai at suse.de
Tue Aug 28 13:46:20 CEST 2007

At Sun, 26 Aug 2007 18:18:06 -0400,
Robert Brewer wrote:
> I'm writing a small speech input app for my laptop.  My app is
> unusable when other sounds are being generated by the laptop, such as
> from a music playing app.  For this reason, I'd like to have an echo
> cancellation plugin that would cancel out the music played on the
> laptop speakers when it is received by the mic.  I think this should
> be doable since the music is playing through alsa.  I've done some
> poking in the plugin documentation, and it's not clear to me how to
> architect this plugin.  Ideally, I would route all my music playing
> apps through the echo cancelling plugin.  I would also route the mic
> capture stream through the plugin.  So the plugin must handle both
> playback and capture streams.  Does the asym plugin hold the answers I
> need?  Does anyone have any thoughts on how I might do this?  There
> are several open source echo cancellation algorithms available, so I'm
> mainly asking for advice on implementing this as an alsa plugin.

Well, asym wouldn't be the answer.  Basically you'll need to open two
slave PCMs in one plugin.  So, it's no simple filter-type plugin.
It's doable, but not easy as it sounds, I guess.


More information about the Alsa-devel mailing list