Multiple USB sound card Alsa/Jack

Hello,
The context :

I have two USB sound card :

**** List of PLAYBACK Hardware Devices ****
card 0: Audio4DJ [Audio 4 DJ], device 0: Audio 4 DJ [Audio 4 DJ]
  Subdevices: 0/2
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
card 1: default [USB Audio CODEC ], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Jack Works with this .asoundrc :

pcm.AUDIO4DJ {
    type multi;
    # bind hardware devices
    slaves.a.pcm "hw:0,0,0"
    slaves.a.channels 2
    slaves.b.pcm "hw:0,0,1"
    slaves.b.channels 2
    # bind channels to virtual device
    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
}

# JACK will be unhappy if there is no mixer to talk to, so we set
# this to card 0. This could be any device but 0 is easy.
#note that audio4dj is actually card 1 -- we are faking mixer elements so JACK is happy:

ctl.AUDIO4DJ {
        type hw;
        card 1;
}

and also works with the second USB sound card :

pcm.multi {
    type multi;
    slaves.a.pcm hw:0;
    slaves.a.channels 2;
    bindings.4.slave a;
    bindings.4.channel 0;
    bindings.5.slave a;
    bindings.5.channel 1;
}

ctl.multi {
    type hw;
    card 0;
}

I want to combine the two sound cards but Jack refuses to start :

pcm.multi {
type multi;
# bind hardware devices
slaves.a.pcm “hw:0,0,0”
slaves.a.channels 2
slaves.b.pcm “hw:0,0,1”
slaves.b.channels 2
slaves.c.pcm “hw:0”
slaves.c.channels 3
# bind channels to virtual device
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
bindings.4.slave c
bindings.4.channel 0
bindings.5.slave c
bindings.5.channel 1
}

JACK will be unhappy if there is no mixer to talk to, so we set

this to card 0. This could be any device but 0 is easy.

#note that audio4dj is actually card 1 – we are faking mixer elements so JACK is happy:

ctl.multi {
type hw;
card 1;
}

It’s really a shame :’( … Have you any idea? Sorry for my bad English. I’m French …

Jean

Hello Jean,

you wrote this post almost one year ago, but i hope the following link will still be useful to you

[ubuntu] Jack with multiple sound cards? - Ubuntu Forums](http://ubuntuforums.org/showthread.php?t=1128748)

basically theraìe are a couple of tools that should solve your problem

  • alsa_in shows the inputs o an additional audio card in the jack patch bay

  • alsa_out: shows outputs of an additional audio card in the jack patch bay

when you start jack daemon you have to declare what audio card you whant to use, but when jackd is up and running you can add additional audio cards with alsa_in and alsa_out

Bye Bya …and …HAPPY NEW YEAR!!!