[PlanetCCRMA] stream

cwilkers@tulane.edu cwilkers@tulane.edu
Mon Feb 24 18:01:02 2003


Hey Nando,
  On my Quattro I'm getting sound on 2 channels, but seemingly not 4.  snd
record still only gives me options for 2 channels and my /proc/asound/card0 gives:

id  midi0  pcm0c  pcm0p  pcm1c  pcm1p  stream0  stream1

What are the 'streams?'  I looked at them and it seems that they list 4 in's and
out's at 44.1k and only 2 at 96k, which is the way it's supposed to be.  Notice
that I only have two capture and two pcm playback above.  Maybe it's actually
working and I just don't know it.

[root@screwdriver wilkerso]# cat /proc/asound/cards
0 [Quattro        ]: USB-Audio - USB Audio Quattro
                     M Audio USB Audio Quattro at 001/002

I was wondering what the 001/002 means.  I have seen it at 001/004 as well.  

Just in case the modules.conf and asound.conf are below.  Thanks.

Carr

alias parport_lowlevel parport_pc
alias eth0 3c59x
alias usb-controller usb-uhci
alias char-major-195 NVdriver
# --- BEGIN: Generated by ALSACONF, do not edit. ---
# --- ALSACONF verion 0.9.0 ---
alias char-major-116 snd
alias snd-card-0 snd-usb-audio
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
options snd major=116 cards_limit=4 device_mode=0666
# --- END: Generated by ALSACONF, do not edit. ---
# -- Keep modules from being autocleaned
add options -k snd-card-0



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


#----	

#
# 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,0";
        slaves.a.channels 2;
        slaves.b.pcm "hw:0,1";
        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 q4b -d 5 /home/xxx/q41.wav



pcm.q4b {
        type route;
        slave.pcm "quattro";
        ttable.0.0 1;
        ttable.1.1 1;
        ttable.2.2 1;
        ttable.3.3 1;

}

ctl.q4b {
        type hw;
        card 0;
}
#----