Midiman Quattro .asoundrc
From the ALSA wiki
Put the following into your .asoundrc file. This includes seperate stereo support and four channel support. Remember that the quattro can only do stereo i/o for 96000hz 24bit, 2i/1o or 1i/2o at 48000hz 24bit, 4i/4o at 48000hz 16bit in windows and mac environments. YMMV in Linux :)
# quattro1 is pcm0 which has a maximum sample rate of 44100 and 16 bit stereo
pcm.quattro1 {
type hw
card 0
device 0
}
ctl.quattro1 {
type hw
card 0
}
# quattro2 is pcm1 which has a maximum sample rate of 96000 and 24 bit stereo
pcm.quattro2 {
type hw
card 0
device 1
}
ctl.quattro2 {
type hw
card 0
}
# quattro2 is pcm2 which has a maximum sample rate of 96000 and 24 bit stereo
pcm.quattro3 {
type hw
card 0
device 2
}
ctl.quattro3 {
type hw
card 0
}
#----
#
# compose 4 channels from two channel x two devices, hw:2,1 and hw:2,2
# assuming that hw:2,1 and hw:2,2 give the same condition, 24_3LE/96k
#
pcm.quattro {
type multi;
slaves.a.pcm "hw:0,1";
slaves.a.channels 2;
slaves.b.pcm "hw:0,2";
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;
}
ctl.quattro {
type hw;
card 0;
}
#
# remap 4 channels as interleaved.
# use plug instead of route here, since 24_3LE is unlikely supported by
# applications.
#
# arecord -r 44100 -c 4 -f s16_le -D q4 -d 5 /home/xxx/q4.wav
pcm.q4 {
type plug;
slave.pcm "quattro";
ttable.0.0 1;
ttable.1.1 1;
ttable.2.2 1;
ttable.3.3 1;
}
ctl.q4 {
type hw;
card 0;
}
#
# Use route plugin for applications that do support 24_3LE
# This lowers latency which the plug plugin introduces due to resampling.
#
# arecord -r 44100 -c 4 -f s16_le -D q41 -d 5 /home/xxx/q41.wav
pcm.q41 {
type route;
slave.pcm "quattro";
ttable.0.0 1;
ttable.1.1 1;
ttable.2.2 1;
ttable.3.3 1;
}
ctl.q41 {
type hw;
card 0;
}
#----

