playing in both sound cards simultaneously

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear all,

Hello to everyone as this is my first email to the list. I would start with 
some background to the problem first.

Background
-------------

(1) My laptop's sound card has stopped playing from the speakers as well as 
from the headphones due to internal hardware problems. I think it is a 
connection problem from inside as the sound card itself works.

(2) Hence, I have bought a c-media usb sound card with inbuilt FM transmitter 
so that I can play my sound from computer to the receiver which can tune to 
FM frequencies of my choice.

(3) I successfully setup my .asoundrc to use asym to have dmixed output and 
capturing capability from Mic in of my laptop (yes, as I said just laptop 
speaker and headphone jack stopped working). I have defined dsp0 also so that 
the program using oss could also use the sound card. With that setup my 
skype, vmware and everything works as per the expectation.

Problem
---------

(1) Now the problem I am facing is that I would like to record some music 
using audacity. As my USB audio doesn't have any capture device or mixer 
built in, the only option I get to choose is capture devices provided by my 
on-board sound card. But due to my .asoundrc file which uses usb audio as 
actual hardware devices, my onboard sound card doesn't get any sound at all 
and hence no recording possible in Audacity. So, I came up with following 
idea.

(2) I setup a 4 channel virtual device using on-board sound card and usb sound 
card using multi plugin. I have used ttables in such a way that the sound is 
copied to both the devices. The idea worked great. I could listen to the 
music through USB sound card as well as record using audacity. Please look at 
the following piece of settings in .asoundrc just for using multi plugin.
============================
pcm.audacity {
        type plug      
	slave.pcm "multi"
ttable.0.0 1.0
ttable.1.1 1.0
ttable.0.2 1.0
ttable.1.3 1.0
	}


pcm.multi {
	type multi
	slaves.a.pcm "hw:1"
	slaves.a.channels 2
	slaves.b.pcm "hw:0"
	slaves.b.channels 2

	bindings.0.slave a;
    	bindings.0.channel 0;
    	bindings.1.slave a;
    	bindings.1.channel 1;
    	bindings.2.slave b;
    	bindings.2.channel 0;
	bindings.3.slave b;
	bindings.3.channel 1;
}

pcm.!default {
    type plug
    slave.pcm "audacity"
}
ctl.audacity {
    type hw;
    card 0;
}

=======================


The problem with this idea is that I loose the dmixing capabilities on my USB 
sound card. I tried to insert dmix plugin in the above chain. So I wrote 
following .asoundrc.but I get no sound at all using aplay or any other 
application. I have read only one post on this mailing list pointing out the 
same problem but didn't have definite answer at the end that it is not 
possible. I suspected if multi plugin takes any other virtual device other 
than dmix and hence tried to use copy plugin instead of dmix and that also 
doesn't work. However, 
http://alsa.opensrc.org/How_to_use_softvol_to_control_the_master_volume 
describes using virtual devices with multi plugin. Thus, it is not clear why 
multi won't work with dmix or my test with copy plugin in the chain.

(a)	So could someone confirm that multi plugin to dmix chain is broken or I am 
doing something wrong? 
(b) In fact, I can alwasy use working multi plugin .asoundrc before starting 
to play any music which I want to record but you know it is combursome to 
everytime remember to do that 
(c) Can someone point out some alternative to be able to use audacity in my 
setup described above? 

Sorry for the long post.
=========================
pcm.audacity {
        type plug      
	slave.pcm "multi"
ttable.0.0 1.0
ttable.1.1 1.0
ttable.0.2 1.0
ttable.1.3 1.0
	}


pcm.multi {
	type multi
	slaves.a.pcm "dmixer"
	slaves.a.channels 2
	slaves.b.pcm "hw:0"
	slaves.b.channels 2

	bindings.0.slave a;
    	bindings.0.channel 0;
    	bindings.1.slave a;
    	bindings.1.channel 1;
    	bindings.2.slave b;
    	bindings.2.channel 0;
	bindings.3.slave b;
	bindings.3.channel 1;
}

# playback channel
pcm.dmixer  {
    type dmix
    ipc_key 1024
    slave {
        pcm "hw:1,0"
        period_time 0
        period_size 1024
#        preserve true
      
        buffer_size 8192
        #periods 128
        rate 44100
    }
    bindings {
        0 0
        1 1
    }
}
pcm.!default {
    type plug
    slave.pcm "audacity"
}
ctl.audacity {
    type hw;
    card 0;
}
========================


Regards,

kibanadai

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user

[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux