[alsa-devel] Fw: Using loopback card to Connect GSM two way call to the real sound card UDA1345TS

Srinivasan S srinivasan.s at tataelxsi.co.in
Thu Apr 2 12:36:22 CEST 2015


Thanks a lot for your Prompt responses Clemens

Extremely sorry for my poor understanding,

Could you please clarify the following

1. As per your suggestions below, I didn't understand what is 'two channel devices' does this means do we need to have to real hardware sound card's (ie., two different audio codecs)??? whereas as of now am using only one audio codec( ie., UDA1345TS), if not could you please help me out how to use two channel devices using alsa api's in application or any references for the same???

2. Regarding bindings as you explained"bindings.x y" or "bindings { x y }" maps channel x of this device to
channel y of the slave device.

I didn't understand channel x of this device means is it the real sound card??? which is the current device ie., channel x of this device means???

I didn't understand channel y of the slave device means??..  ie., which is slave device here????

Kindly do the needful as early as possible

Awaiting for your replies

Many Thanks in advance
________________________________________
From: Clemens Ladisch <clemens at ladisch.de>
Sent: Thursday, April 2, 2015 3:13 PM
To: Srinivasan S
Cc: alsa-devel at alsa-project.org; linux-audio-dev at lists.linuxaudio.org
Subject: Re: [alsa-devel] Fw: Using loopback card to Connect GSM two way call   to the real sound card UDA1345TS

Srinivasan S wrote:
> CPU consumption is 18%, with above asound.conf & the app
> alsa_loopback_min_mono.c for establishing my GSM two way call (ie.,
> VINR to VOUTR & VINL to VOUTL) , this is very huge & I want to reduce
> this CPU consumption drastically, Is there any other ways in alsa where
> I can do this two way GSM call (ie., VINR to VOUTR & VINL to VOUTL)
> without using alsa_loopback_min_mono.c application

dmix needs more CPU than dshare because it needs to mix multiple streams
together; if possible, use dshare instead of dmix.

dshare needs more CPU than direct access to the device because the data
needs to be copied and reformatted.  dshare is needed only when the
application(s) cannot handle the format of the actual device; if
possible, change your application to handle the two-channel devices.

> And am hearing echo, when I do GSM calls when using the above attachd
> asound.conf & the app alsa_loopback_min_mono.c, could you please help
> me out is there any options to do echo cancellation in alsa?

ALSA has not built-in echo cancellation.  You have to implement this
yourself, or use some third-party library.

If dmix/dshare alone eats 18 % CPU, it is unlikely that this is feasible
without hardware support.

> Am trying to completely understand the above attched asound.conf, but
> am not still very clear w.r.t the understanding of bindings

"bindings.x y" or "bindings { x y }" maps channel x of this device to
channel y of the slave device.


Regards,
Clemens


More information about the Alsa-devel mailing list