[alsa-devel] Application and hw mixing for VoIP (modified)

Takashi Iwai tiwai at suse.de
Tue Sep 22 15:58:52 CEST 2009


At Mon, 21 Sep 2009 15:48:39 +0200,
Fabien COMTE wrote:
> 
> Hi,
> I need some help please.
> I have an application that does VoIP and alsa interface.
> 
> I want to :
> - send through VoIP application a mixed sound from mic and an another
> application (aplay should be ok for testing).
> 
> mic ---------- soundcard 0 ------------->
>                                            mix  ---- alsa interface ----->
> voip application
> application 1 --- alsa interface  ------>
> (aplay)
> 
> - use sound received from VoIP with HP output and an another application
> (arecord should be ok for testing).
> 
>                                                    ----- alsa interface
> ------> application 2 (arecord)
> voip application ----- alsa interface ---->  share
>                                                    ------ soundcard 0
> --------> HP output
> 
> 
> And a little question :
> How to define an application interface in asoundrc ?

Well, this isn't so trivial as it sounds.

If the application 1 (aplay) needs to be output actually, it means to
split the signal to two interfaces, one to voip program, and another
to the output channel.  If app1 doesn't have to be heard, then you can
use a loopback device (snd-aloop driver included in alsa-driver tree)
and bind with the mic device using multi plugin.

The latter case, split from voip to app2 and HP output, can be also
done via multi plugin + aloop device.

But, this kind of infrastructure could be better done with a proper
daemon, such as JACK, I guess...


Takashi


More information about the Alsa-devel mailing list