From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: echo-cancellation plugin advice? Date: Tue, 08 May 2012 12:38:49 +0200 Message-ID: References: <20120507141506.67270@gmx.net> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by alsa0.perex.cz (Postfix) with ESMTP id D903A24355 for ; Tue, 8 May 2012 12:38:49 +0200 (CEST) In-Reply-To: <20120507141506.67270@gmx.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: alsa-devel-bounces@alsa-project.org Errors-To: alsa-devel-bounces@alsa-project.org To: Max Klein Cc: alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org 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. Takashi