Table of Contents

Hardware - Audio - Soundcards - Linux - ALSA

Advanced Linux Sound Architecture (ALSA) project homepage
Alsa Opensrc Org

Notes

'aplay -l | grep card' output

CardSlot typeChipsetOutputLinux distro/versionRemarks
Audiotrak Prodigy HD2PCIVIA Envy24card 4: ICE1724 [ICEnsemble ICE1724], device 0: ICE1724 [ICE1724]
card 4: ICE1724 [ICEnsemble ICE1724], device 1: ICE1724 IEC958 [ICE1724 IEC958]
Slackware64 14.2Card is recognised, but does not output sound. Only shows S/PDIF options in alsamixer. Setting jumper JP4 on the card to ON (or OFF) and creating /etc/modprobe.d/alsa-base.conf with 'options snd-ice1724 model=prodigyhd2' as suggested here only changes the card name in aplay -l output and provides a Front volume control in alsamixer, but still no sound output. speaker-test -c2 -twav -Dhw:2,0 complains about:
Sample format not available for playback: Invalid argument
Setting of hwparams failed: Invalid argument.
ASTRO Gaming USB MixAmpUSB card 7: MixAmp [ASTRO Gaming USB MixAmp], device 0: USB Audio [USB Audio]Slackware 14.2 (tested with kernel 5.0.17)Works out of the box.

Dolby Headphone button does nothing.
ASUS STRIX RAID DLXPCIe card 4: DLX [STRIX RAID DLX], device 0: USB Audio [USB Audio]
card 4: DLX [STRIX RAID DLX], device 1: USB Audio [USB Audio #1]
card 4: DLX [STRIX RAID DLX], device 2: USB Audio [USB Audio #2]
Slackware64 14.2 (tested with kernel 5.0.20)Works out of the box.
ASUS Xonar D2XPCIeAV200card 0: D2X [Xonar D2X], device 0: Multichannel [Multichannel]
card 0: D2X [Xonar D2X], device 1: Digital [Digital]
Slackware64 14.2
ASUS Xonar Essence STPCIAV100card 4: ST [Xonar ST], device 0: Multichannel [Multichannel]
card 4: ST [Xonar ST], device 1: Digital [Digital]
Slackware64 14.2
Asus Xonar Essence STXPCIeAV100card 1: STX [Xonar STX], device 0: Multichannel [Multichannel]
card 1: STX [Xonar STX], device 1: Digital [Digital]
Slackware64 14.2
Avid Mbox (3) MiniUSB card 11: Mini [Avid Mbox Mini], device 0: USB Audio [USB Audio]Slackware 14.2 (tested with kernel 5.0.20)Works out of the box.
Supported formats:
S16_LE
S24_3LE

On the Mini: Be sure to turn the Mix dial all the way up (clockwise) and then set the headphone/speaker volume to the desired level to get sound on headphones or speakers (speakers not tested).
Behringer UCA200USBCoolaudio V2902 (DAC)card 7: CODEC [USB Audio CODEC], device 0: USB Audio [USB Audio]Slackware64 14.2
Behringer UCA202USBPCM2902C (DAC)card 7: CODEC [USB AUDIO CODEC], device 0: USB Audio [USB Audio]Slackware64 14.2
Club3D Theatron AgrippaPCICMI8770card 3: CMI8762 [C-Media CMI8762], device 0: CMI8738-MC8 [C-Media PCI DAC/ADC]
card 3: CMI8762 [C-Media CMI8762], device 1: CMI8738-MC8 [C-Media PCI 2nd DAC]
card 3: CMI8762 [C-Media CMI8762], device 2: CMI8738-MC8 [C-Media PCI IEC958]
Slackware64 14.2
Creative Sound Blaster EVO ZxRUSB, BluetoothSBAxx1card 9: ZxR [Sound Blaster EVO ZxR], device 0: USB Audio [USB Audio]Slackware64-current (14.2+) (tested with kernel 5.3.3)Only USB connection was tested. Volume control wheel on headphone does not work.
Creative Sound Blaster Recon3DUSBSoundCore3Dcard 5: Recon3D [Sound Blaster Recon3D], device 0: USB Audio [USB Audio]Slackware64 14.2SBX/THX settings not available unless you configured them on a Windows system and saved the profile to the Recon3D USB. Then you can enable/disable them with the THX TruStudio Pro button on the Recon3D USB.
Creative Sound Blaster Tactic3D AlphaUSB card 10: Alpha [Sound Blaster Tactic(3D) Alpha], device 0: USB Audio [USB Audio]Slackware64-current (14.2+) (tested with kernel 5.4.16)
Creative Sound Blaster Tactic3D Rage USBUSB card 4: USB [SB Tactic3D Rage USB], device 0: USB Audio [USB Audio]Slackware 14.2 (tested with kernel 5.2.9)
Creative Sound Blaster X-FiPCI/PCIeEMU20k1
EMU20k2
card 2: XFi [Creative X-Fi], device 0: ctxfi [Front/WaveIn]
card 2: XFi [Creative X-Fi], device 1: ctxfi [Surround]
card 2: XFi [Creative X-Fi], device 2: ctxfi [Center/LFE]
card 2: XFi [Creative X-Fi], device 3: ctxfi [Side]
card 2: XFi [Creative X-Fi], device 4: ctxfi [IEC958 Non-audio]
Slackware64 14.2
Creative Sound Blaster ZPCIeSoundCore3Dcard 2: Creative [HDA Creative], device 0: CA0132 Analog [CA0132 Analog]
card 2: Creative [HDA Creative], device 1: CA0132 Digital [CA0132 Digital]
Slackware64 (tested with kernel 5.0.7)Requires at least kernel 4.18 as Z drivers weren't available in older kernels. All SBX Pro functionality is available via alsamixer. See also:Reddit - r/SoundBlasterOfficial - Sound Blaster R3D/R3Di/Z/ZxR/AE-5 Linux Driver.
Creative Sound Blaster ZxR (with DBpro)PCIeSoundCore3Dcard 0: Creative_1 [HDA Creative], device 0: CA0132 Analog [CA0132 Analog]
card 0: Creative_1 [HDA Creative], device 1: CA0132 Digital [CA0132 Digital]
Slackware64 (tested with kernel 5.0.7)Requires at least kernel 4.18 as ZxR drivers weren't available in older kernels. All SBX Pro functionality is available via alsamixer. See also:Reddit - r/SoundBlasterOfficial - Sound Blaster R3D/R3Di/Z/ZxR/AE-5 Linux Driver.
Creative Sound BlasterX G5USBSBAxx1card 9: G5 [Sound BlasterX G5], device 0: USB Audio [USB Audio]Slackware64-current (14.2+) (tested with kernel 5.3.6)Volume control wheel does not work.
Digidesign MBOX 2 Mini
Digidesign MBOX 2 Micro
USB card 10: M2 [Mbox 2], device 0: USB Audio [USB Audio]Slackware64 14.2 (tested with kernel 5.0.11)The MBOX 2 only supports format S24_3BE. See Hardware - Audio - Sound cards - Digidesign - MBOX 2 Mini - Linux for details and working ~/.asoundrc sample.

On the Mini: Be sure to turn the Mix dial all the way up (clockwise) and then set the headphone/speaker volume to the desired level to get sound on headphones or speakers (speakers not tested).
HyperX AmpUSB card 5: Amp [HyperX Amp], device 0: USB Audio [USB Audio]
card 5: Amp [HyperX Amp], device 1: USB Audio [USB Audio #1]
Slackware64 14.2 (tested with kernel 5.0.7)
HyperX Cloud II Advanced Audio Control BoxUSB card 6: Sound [HyperX Virtual Surround Sound], device 0: USB Audio [USB Audio]Slackware64 14.2
M-Audio Audiophile 192PCIVia Envy24 (ICE1724)card 3: Audiophile192 [M Audio Audiophile192], device 0: ICE1724 [ICE1724]
card 3: Audiophile192 [M Audio Audiophile192], device 1: ICE1724 IEC958 [ICE1724 IEC958]
Slackware64 14.2Card is recognised, but does not output sound via xmms if using ALSA output plugin to hw:X.0 device. Shows PCM volume control and S/PDIF options in alsamixer. speaker-test -c2 -twav -Dhw:2,0 complains about:
Sample format not available for playback: Invalid argument
Setting of hwparams failed: Invalid argument.
It does work in Audacious with ALSA output plugin set to PCM device: sysdefault:CARC=Audiophile192 (…).
M-Audio Fast TrackUSB card 13: Track [Fast Track], device 0: USB Audio [USB Audio]Slackware64 14.2 (tested with kernel 5.1.17) Both the version with the 3 volume dials on top and the silver-grey version with buttons on the front.
Sennheiser GSX 1200 PROUSB card 4: Audio [GSX 1200 Pro Main Audio], device 0: USB Audio [USB Audio]
card 4: Audio [GSX 1200 Pro Main Audio], device 1: USB Audio [USB Audio #1]
Slackware64 14.2Works. See Sennheiser GSX for .asoundrc settings.
Sweex 5.1PCICMI8768card 2: CMI8768 [C-Media CMI8768], device 0: CMI8738-MC8 [C-Media PCI DAC/ADC]
card 2: CMI8768 [C-Media CMI8768], device 1: CMI8738-MC8 [C-Media PCI 2nd DAC]
card 2: CMI8768 [C-Media CMI8768], device 2: CMI8738-MC8 [C-Media PCI IEC958]
Slackware64 14.2
Tascam US-100USB card 8: CODEC [USB Audio CODEC], device 0: USB Audio [USB Audio]Slackware 14.2 (tested with kernel 5.2.9) Same chipset as Behringer UCA200?
Terratec Aureon Xfire8.0 HDUSB card 5: HD [AUREON XFIRE8.0 HD], device 0: USB Audio [USB Audio]
card 5: HD [AUREON XFIRE8.0 HD], device 1: USB Audio [USB Audio #1]
card 5: HD [AUREON XFIRE8.0 HD], device 2: USB Audio [USB Audio #2]
Slackware64 14.2Volume control knob on the unit does not work.
Turtlebeach Ear Force Stealth 450USB card 5: E450 [Ear Force Stealth 450], device 0: USB Audio [USB Audio]Slackware64 14.2 (tested with kernel 5.0.7)
Yamaha UW500USB card 5: UW500 [YAMAHA UW500], device 0: USB Audio [USB Audio]Slackware64-current (14.2+) (tested with kernel 5.4.28)

Play from commandline and provide output device

Using ffmpeg (for most audio formats):

SDL_AUDIODRIVER="alsa" AUDIODEV="hw:0,0" ffplay -nodisp audiofile.flac

Source:Super User - select ffplay audio out device

Using mpg123 (for mp3's only):

mpg123 -a hw:1,0 audiofile.mp3

Dump hardware parameters

For example, to dump the hardware parameters for a Digidesign MBOX 2:

arecord --dump-hw-params -D hw:M2,0
Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
HW Params of device "hw:M2,0":
--------------------
ACCESS:  MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT:  S24_3BE
SUBFORMAT:  STD
SAMPLE_BITS: 24
FRAME_BITS: 48
CHANNELS: 2
RATE: 48000
PERIOD_TIME: [1000 1820438)
PERIOD_SIZE: [48 87381]
PERIOD_BYTES: [288 524286]
PERIODS: [2 1024]
BUFFER_TIME: [2000 3640875]
BUFFER_SIZE: [96 174762]
BUFFER_BYTES: [576 1048572]
TICK_TIME: ALL
--------------------
arecord: set_params:1297: Sample format non available
Available formats:
- S24_3BE

Here you can see the MBOX2 only supports the S24_3BE (signed 24-bit 3bytes Big Endian) format.

Source:SourceForge - ALSA - Mailing Lists - Re: [Alsa-user] arecord: begin_wave:2480: Wave doesn't support S24_3BE format

Midi

Get a list of midi devices:

aplaymidi -l

Example output:

 Port    Client name                      Port name
 14:0    Midi Through                     Midi Through Port-0
 20:0    USB Midi                         USB Midi MIDI 1
 44:0    Mbox 2                           Mbox 2 MIDI 1
 48:0    Mbox 2                           Mbox 2 MIDI 1

DOSbox

To use the midi device named “USB Midi” on port 20:0 in above output in DOSbox, edit the [midi] part in your DOSbox config in ~/.dosbox/dosbox-VERSION.conf (in my case ~/.dosbox/dosbox-0.74-3.conf) to look like this:

[midi]
#     mpu401: Type of MPU-401 to emulate.
#             Possible values: intelligent, uart, none.
# mididevice: Device that will receive the MIDI data from MPU-401.
#             Possible values: default, win32, alsa, oss, coreaudio, coremidi, none.
# midiconfig: Special configuration options for the device driver. This is usually the id of the device you wan
t to use.
#               See the README/Manual for more details.

mpu401=intelligent
mididevice=default
midiconfig=20:0

Test playback

Show all soundcards that are recognised by ALSA:

aplay -l | grep card

Test playback on a specific card:

speaker-test -c2 -twav -Dhw:Creative

Test playback on a specific pcm or dmix device definied in a manually edited .asoundrc:

speaker-test -c2 -twav -Ddmixsoundblasterz

This helps to track down vague error messages in a .asoundrc that sends sound output to multiple soundcards simultaneously.

Route 7.1 channels to 2-channel stereo soundcard

For faking a 7.1 channel setup on a stereo soundcard.

Save the below code to ~/.asoundrc and change the pcm.maudiomicrodac part to match your card (see 'aplay -l | grep card' output):

pcm.!default {
        type asym
        playback.pcm "plug:stereo2quad"
}

pcm.dmixer  {
        type dmix
        ipc_key 1024
        slave {
                pcm "maudiomicrodac"
                period_time 0
                period_size 1024
                buffer_size 4096
                rate 48000
        }
        bindings {
                0 0
                1 1
                2 0
                3 1
                4 0
                5 1
                6 0
                7 1
        }
}

pcm.stereo2quad {
        type route
        slave.pcm "dmixer"
        ttable.0.0 1
        ttable.1.1 1
        ttable.2.2 1
        ttable.3.3 1
        ttable.4.4 1
        ttable.4.5 1
        ttable.5.4 1
        ttable.5.5 1
        ttable.6.6 1
        ttable.7.7 1
}

pcm.maudiomicrodac {
        type hw
        card DAC
        device 0
        channels 2
}

ctl.dmixer {
        type hw
        card 0
}

Sources:

Send output to multiple cards

Send to both onboard and extra HDMI port (HDMI and HDMI_1):

Save the below code to ~/.asoundrc

pcm.!default {
        type asym
        playback.pcm "plug:stereo2quad"
}                                         

pcm.multi {
        type multi;
        slaves.a.pcm dmixHDMI
        slaves.b.pcm dmixHDMI_1
        slaves.a.channels 2;
        slaves.b.channels 2;
        bindings.0 { slave a; channel 0; }
        bindings.1 { slave a; channel 1; }
        bindings.2 { slave b; channel 0; }
        bindings.3 { slave b; channel 1; }
}

pcm.stereo2quad {
        type route
        slave.pcm "multi"
        ttable.0.0 1
        ttable.1.1 1
        ttable.0.2 1
        ttable.1.3 1
}

pcm.dmixHDMI  {
        type dmix
        ipc_key 1024
        slave {
                pcm "HDMI"
                period_time 0
                period_size 1024
                buffer_size 4096
                rate 48000
        }
}

pcm.dmixHDMI_1  {
        type dmix
        ipc_key 1025
        slave {
                pcm "HDMI_1"
                period_time 0
                period_size 1024
                buffer_size 4096
                rate 48000
        }
}

pcm.HDMI {
        type hw
        card HDMI
        device 7
        channels 2
}

pcm.HDMI_1 {
        type hw
        card HDMI_1
        device 7
        channels 2
}

ctl.dmixer {
        type hw
        card HDMI
}

Example of an ~/.asoundrc with even more soundcards, some of them commented out:

pcm.!default {
	type asym
	playback.pcm "plug:stereo2quad"
}

	#capture.pcm "plug:dsnoop:CODEC"
pcm.multi {
	type multi;
	slaves.a.pcm dmixbehringeruca202
	slaves.b.pcm dmixsennheisergsx1200pro
	slaves.c.pcm soundblasteraudigyrx
	slaves.d.pcm dmixsoundblasterz
	slaves.e.pcm dmixfasttrack_1
	slaves.f.pcm dmixonboard
	slaves.g.pcm dmixtascamus100
	slaves.h.pcm dmixsoundblasterrecon3dusb
	slaves.i.pcm dmixmbox3mini
	slaves.j.pcm dmixbehringeruca200
	slaves.k.pcm soundblasterxfi
	slaves.l.pcm plugmbox2_1
	slaves.m.pcm plugmbox2_2
	slaves.a.channels 2;
	slaves.b.channels 2;
	slaves.c.channels 2;
	slaves.d.channels 2;
	slaves.e.channels 2;
	slaves.f.channels 2;
	slaves.g.channels 2;
	slaves.h.channels 2;
	slaves.i.channels 2;
	slaves.j.channels 2;
	slaves.k.channels 2;
	slaves.l.channels 2;
	slaves.m.channels 2;
	bindings.0 { slave a; channel 0; }
	bindings.1 { slave a; channel 1; }
	bindings.2 { slave b; channel 0; }
	bindings.3 { slave b; channel 1; }
	bindings.4 { slave c; channel 0; }
	bindings.5 { slave c; channel 1; }
	bindings.6 { slave d; channel 0; }
	bindings.7 { slave d; channel 1; }
	bindings.8 { slave e; channel 0; }
	bindings.9 { slave e; channel 1; }
	bindings.10 { slave f; channel 0; }
	bindings.11 { slave f; channel 1; }
	bindings.12 { slave g; channel 0; }
	bindings.13 { slave g; channel 1; }
	bindings.14 { slave h; channel 0; }
	bindings.15 { slave h; channel 1; }
	bindings.16 { slave i; channel 0; }
	bindings.17 { slave i; channel 1; }
	bindings.18 { slave j; channel 0; }
	bindings.19 { slave j; channel 1; }
	bindings.20 { slave k; channel 0; }
	bindings.21 { slave k; channel 1; }
	bindings.22 { slave l; channel 0; }
	bindings.23 { slave l; channel 1; }
	bindings.24 { slave m; channel 0; }
	bindings.25 { slave m; channel 1; }
}

pcm.stereo2quad {
	type route
	slave.pcm "multi"
	ttable.0.0 1
	ttable.1.1 1
	ttable.0.2 1
	ttable.1.3 1
	ttable.0.4 1
	ttable.1.5 1
	ttable.0.6 1
	ttable.1.7 1
	ttable.0.8 1
	ttable.1.9 1
	ttable.0.10 1
	ttable.1.11 1
	ttable.0.12 1
	ttable.1.13 1
	ttable.0.14 1
	ttable.1.15 1
	ttable.0.16 1
	ttable.1.17 1
	ttable.0.18 1
	ttable.1.19 1
	ttable.0.20 1
	ttable.1.21 1
	ttable.0.22 1
	ttable.1.23 1
	ttable.0.24 1
	ttable.1.25 1
}

pcm.plugmbox1 {
	type plug
	slave.pcm "dmixmbox1"
}

pcm.plugmbox2_1 {
	type plug
	slave.pcm "dmixmbox2_1"
}

pcm.plugmbox2_2 {
	type plug
	slave.pcm "dmixmbox2_2"
}

pcm.dmixbehringeruca202  {
 	type dmix
 	ipc_key 1024
 	slave {
		pcm "behringeruca202"
		period_time 0
		period_size 1024
		buffer_size 4096
		rate 48000
	}
	bindings {
		0 0
		1 1
	}
}

pcm.dmixsennheisergsx1200pro  {
        type dmix
        ipc_key 1025
        slave {
                pcm "sennheisergsx1200pro"
                period_time 0
                period_size 1024
                buffer_size 4096
		rate 48000
       }
	bindings {
		0 0
		1 1
#		2 2
#		3 3
#		4 4
#		5 5
#		6 6
#		7 7
	}
}

pcm.dmixhyperx  {
 	type dmix
 	ipc_key 1026
 	slave {
		pcm "hyperx"
		period_time 0
		period_size 1024
		buffer_size 4096
		rate 48000
	}
	bindings {
		0 0
		1 1
	}
}

pcm.dmixhyperxamp  {
 	type dmix
 	ipc_key 1027
 	slave {
		pcm "hyperxamp"
		period_time 0
		period_size 1024
		buffer_size 4096
		rate 48000
	}
	bindings {
		0 0
		1 1
	}
}


pcm.dmixonboard  {
 	type dmix
 	ipc_key 1028
 	slave {
		pcm "onboard"
		period_time 0
		period_size 1024
		buffer_size 4096
		rate 48000
	}
	bindings {
		0 0
		1 1
	}
}

pcm.dmixsoundblasterz  {
 	type dmix
 	ipc_key 1029
 	slave {
		pcm "soundblasterz"
		period_time 0
		period_size 1024
		buffer_size 4096
		rate 48000
	}
	bindings {
		0 0
		1 1
	}
}

pcm.dmixsoundblasterzxr  {
 	type dmix
 	ipc_key 1030
 	slave {
		pcm "soundblasterzxr"
		period_time 0
		period_size 1024
		buffer_size 4096
		rate 48000
	}
	bindings {
		0 0
		1 1
	}
}

pcm.dmixsoundblasterrecon3dusb  {
 	type dmix
 	ipc_key 1031
 	slave {
		pcm "soundblasterrecon3dusb"
		period_time 0
		period_size 1024
		buffer_size 4096
		rate 48000
	}
	bindings {
		0 0
		1 1
	}
}

#pcm.dmixturtlebeachearforce450  {
# 	type dmix
# 	ipc_key 1032
# 	slave {
#		pcm "turtlebeachearforce450"
#		period_time 0
#		period_size 1024
#		buffer_size 4096
#		rate 48000
#	}
#	bindings {
#		0 0
#		1 1
#	}
#}

#pcm.dmixmixamp  {
# 	type dmix
# 	ipc_key 1033
# 	slave {
#		pcm "mixamp"
#		period_time 0
#		period_size 1024
#		buffer_size 4096
#		rate 48000
#	}
#	bindings {
#		0 0
#		1 1
#	}
#
#}

pcm.dmixbehringeruca200  {
 	type dmix
 	ipc_key 1034
 	slave {
		pcm "behringeruca200"
		period_time 0
		period_size 1024
		buffer_size 4096
		rate 48000
	}
	bindings {
		0 0
		1 1
	}

}

#pcm.dmixstrixraiddlx  {
# 	type dmix
# 	ipc_key 1035
# 	slave {
#		pcm "strixraiddlx"
#		period_time 0
#		period_size 1024
#		buffer_size 4096
#		rate 48000
#	}
#	bindings {
#		0 0
#		1 1
#	}
#}

pcm.dmixmbox3mini  {
 	type dmix
 	ipc_key 1036
 	slave {
		pcm "mbox3mini"
		period_time 0
		period_size 1024
		buffer_size 4096
		rate 48000
	}
	bindings {
		0 0
		1 1
	}
}

# 2019-06-09
# Added dmix device despite hwmix support as
# periodically I still got "Device or resource busy".
# But the dmix device didn't help...
#pcm.dmixsoundblasterxfi  {
# 	type dmix
# 	ipc_key 1037
# 	slave {
#		pcm "soundblasterxfi"
#		period_time 0
#		period_size 1024
#		buffer_size 4096
#		rate 48000
#	}
#	bindings {
#		0 0
#		1 1
#	}
#}

pcm.dmixmbox2_1  {
 	type dmix
 	ipc_key 1038
 	slave {
		pcm "mbox2_1"
		period_time 0
		period_size 1024
		buffer_size 4096
	}
	bindings {
		0 0
		1 1
	}
}

pcm.dmixmbox1  {
 	type dmix
 	ipc_key 1039
 	slave {
		pcm "mbox1"
		period_time 0
		period_size 1024
		buffer_size 4096
		rate 48000
	}
	bindings {
		0 0
		1 1
	}
}

pcm.dmixfasttrack_1  {
 	type dmix
 	ipc_key 1040
 	slave {
		pcm "fasttrack_1"
		period_time 0
		period_size 1024
		buffer_size 4096
		rate 48000
	}
	bindings {
		0 0
		1 1
	}
}

pcm.dmixfasttrack_2  {
 	type dmix
 	ipc_key 1041
 	slave {
		pcm "fasttrack_2"
		period_time 0
		period_size 1024
		buffer_size 4096
		rate 48000
	}
	bindings {
		0 0
		1 1
	}
}


pcm.dmixmbox2_2  {
 	type dmix
 	ipc_key 1042
 	slave {
		pcm "mbox2_2"
		period_time 0
		period_size 1024
		buffer_size 4096
		rate 48000
	}
	bindings {
		0 0
		1 1
	}
}

pcm.dmixsoundblastertactic3drageusb { 
 	type dmix
 	ipc_key 1043
 	slave {
		pcm "soundblastertactic3drageusb"
		period_time 0
		period_size 1024
		buffer_size 4096
		rate 48000
	}
	bindings {
		0 0
		1 1
	}
}

pcm.dmixsoundblasteraudigyrx { 
 	type dmix
 	ipc_key 1044
 	slave {
		pcm "soundblasteraudigyrx"
		period_time 0
		period_size 1024
		buffer_size 4096
		rate 48000
	}
	bindings {
		0 0
		1 1
	}
}

pcm.dmixtascamus100 { 
 	type dmix
 	ipc_key 1045
 	slave {
		pcm "tascamus100"
		period_time 0
		period_size 1024
		buffer_size 4096
		rate 48000
	}
	bindings {
		0 0
		1 1
	}
}

pcm.behringeruca202 {
	type hw
	card CODEC
	device 0
	channels 2
}

pcm.behringeruca200 {
	type hw
	card CODEC_1
	device 0
	channels 2
}

pcm.fasttrack_1 {
	type hw
	card Track
	device 0
	channels 2
}

pcm.fasttrack_2 {
	type hw
	card Track_1
	device 0
	channels 2
}

pcm.hyperx {
	type hw
	card Sound
	device 0
	channels 2
}

pcm.hyperxamp {
	type hw
	card Amp
	device 0
	channels 2
}

#pcm.mixamp {
#	type hw
#	card MixAmp
#	device 0
#	channels 2
#}

pcm.mbox1 {
	type hw
	card MBox
	device 0
	channels 2
	format S24_3BE
	rate 48000
}


pcm.mbox2_1 {
	type hw
	card M2
	device 0
	channels 2
	format S24_3BE
}

pcm.mbox2_2 {
	type hw
	card M2_1
	device 0
	channels 2
	format S24_3BE
}

pcm.mbox3mini {
	type hw
	card Mini
	device 0
	channels 2
}

pcm.onboard {
	type hw
	card Generic
	device 0
	channels 2
}

pcm.sennheisergsx1200pro {
        type hw
        card Audio
        device 1
        channels 2
}

pcm.soundblasteraudigyrx {
	type hw
	card Audigy2
	device 0
	channels 2
}

pcm.soundblasterrecon3dusb {
	type hw
	card Recon3D
	device 0
	channels 2
}

pcm.soundblastertactic3drageusb {
	type hw
	card USB
	device 0
	channels 2
}

pcm.soundblasterxfi {
	type hw
	card XFi
	device 0
	channels 2
}

pcm.soundblasterzxr {
	type hw
	card Creative_1
	device 0
	channels 2
}

pcm.soundblasterz {
	type hw
	card Creative
	device 0
	channels 2
}

#pcm.strixraiddlx {
#	type hw
#	card DLX
#	device 0
#	channels 2
#}

pcm.tascamus100 {
	type hw
	card CODEC_2
	device 0
	channels 2
}

#pcm.turtlebeachearforce450 {
#	type hw
#	card E450
#	device 0
#	channels 2
#}

ctl.dmixer {
	type hw
	card 1
}

Sources: