[LAU] Multiple sound cards

ailo ailo.at at gmail.com
Wed Dec 15 22:30:49 UTC 2010


On 12/15/2010 11:15 PM, Paul Davis wrote:
> i think you need to post your ~/.asoundrc file.
>
> AFAIK, any attempt to use an ALSA device, no matter whether its via
> the OSS API, Pulse or JACK, will result in ~/.asoundrc being loaded
> and used to define device names and other miscellania.
>
> its entirely possible to refer to cards by name in ~/.asoundrc as well.


I used the exact same ~/.asoundrc as here 
http://delta.brainiac.com/deltasync.html.

I only have one reservation about that file. Instead of two 
delta-1010's, I use one delta-1010 and one delta-66.
Both have the same chip and present the same number of inputs and 
outputs, even though only a part of them are usable on the delta-66.

cat /proc/asound/cards showed this about the m-audio cards:

0 [M1010LT        ]: ICE1712 - M Audio Delta 1010LT
                       M Audio Delta 1010LT at 0xec00, irq 19
1 [M66            ]: ICE1712 - M Audio Delta 66
                       M Audio Delta 66 at 0xe400, irq 18

I did try changing all instances of hw:0 to hw:M1010LT and all instances 
of hw:1 to hw:M66.

This is the file:

# .asoundrc for two Delta 1010s
#
# Create virtual devices out of multiple soundcards.
# JACK will need MMAP_COMPLEX support to use this.
# ICE1712 chip has 12 capture channels and 10 playback channels.
# No. of channels in slaves must equal 12 for capture and 10 for playback
# otherwise "invalid argument" errors result.

########### Old .asoundrc config
#pcm.ice1712 {
# type hw
# card 0
#}
#
#ctl.ice1712 {
# type hw
# card 0
#}
############

pcm.multi_capture {
type multi
slaves.a.pcm hw:0
slaves.a.channels 12
slaves.b.pcm hw:1
slaves.b.channels 12

# First 8 channels of first soundcard (capture)
bindings.0.slave a
bindings.0.channel 0
bindings.1.slave a
bindings.1.channel 1
bindings.2.slave a
bindings.2.channel 2
bindings.3.slave a
bindings.3.channel 3
bindings.4.slave a
bindings.4.channel 4
bindings.5.slave a
bindings.5.channel 5
bindings.6.slave a
bindings.6.channel 6
bindings.7.slave a
bindings.7.channel 7

# First 8 channels of second soundcard (capture)
bindings.8.slave b
bindings.8.channel 0
bindings.9.slave b
bindings.9.channel 1
bindings.10.slave b
bindings.10.channel 2
bindings.11.slave b
bindings.11.channel 3
bindings.12.slave b
bindings.12.channel 4
bindings.13.slave b
bindings.13.channel 5
bindings.14.slave b
bindings.14.channel 6
bindings.15.slave b
bindings.15.channel 7
}

ctl.multi_capture {
type hw
card 0
}

pcm.multi_playback {
type multi
slaves.a.pcm hw:0
slaves.a.channels 10
slaves.b.pcm hw:1
slaves.b.channels 10

# First 8 channels of first soundcard (playback)
bindings.0.slave a
bindings.0.channel 0
bindings.1.slave a
bindings.1.channel 1
bindings.2.slave a
bindings.2.channel 2
bindings.3.slave a
bindings.3.channel 3
bindings.4.slave a
bindings.4.channel 4
bindings.5.slave a
bindings.5.channel 5
bindings.6.slave a
bindings.6.channel 6
bindings.7.slave a
bindings.7.channel 7

# First 8 channels of second soundcard (playback)
bindings.8.slave b
bindings.8.channel 0
bindings.9.slave b
bindings.9.channel 1
bindings.10.slave b
bindings.10.channel 2
bindings.11.slave b
bindings.11.channel 3
bindings.12.slave b
bindings.12.channel 4
bindings.13.slave b
bindings.13.channel 5
bindings.14.slave b
bindings.14.channel 6
bindings.15.slave b
bindings.15.channel 7
}

ctl.multi_playback {
type hw
card 0
}

-- 
ailo


More information about the Linux-audio-user mailing list