[alsa-devel] echo-cancellation plugin advice?

Takashi Iwai tiwai at suse.de
Tue May 8 12:38:49 CEST 2012

At Mon, 07 May 2012 16:15:06 +0200,
Max Klein wrote:
> > 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.
> Takashi, can you please further explain why asym is not the solution and what you see as a problem?

Well...  Do you understand what asym plugin is supposed to do?

> I am also trying to figure out if it would be possible to create such a plugin for ALSA? I am still searching for some good starting points on how to write an ALSA plugin...
> Jean-Marc Valin (http://lists.linuxaudio.org/pipermail/linux-audio-dev/2005-June/012454.html) already released his work as part of speex but as far I know there is no plugin that has been made out of it?

For a good echo cancellation, you'll need both input and output
streams, i.e. the recording source and the playback stream you are
sending out.  A normal plugin works just like a filter.  Get one
stream, process it, and output.  But, now you need two streams in
different directions in a single plugin instance.

asym doesn't do that.  asym is just to pass through a slave PCM.
The only job of asym plugin is to provide the different pass-thru
slave PCM for each direction (input/output).  Nothing more than that.


More information about the Alsa-devel mailing list