Midiman Quattro .asoundrc

From the ALSA wiki

Jump to: navigation, search

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;
}

#----

Personal tools