| # |
| # USB-Audio.conf - configuration for USB Audio devices |
| # |
| # |
| # DO NO EDIT; this is an internal ALSA file. |
| # If you want to add your own definitions, put them into /etc/asound.conf or |
| # ~/.asoundrc, with "cards." before the "USB-Audio", e.g.: |
| # |
| # cards.USB-Audio.pcm.use_dmix."NoiseBlaster 3000" no |
| # |
| # If your device requires such a definition to work correctly, please report it |
| # to <alsa-devel@alsa-project.org>. |
| |
| |
| # If a device has sample formats not supported by dmix, dmix can be disabled |
| # here. |
| USB-Audio.pcm.use_dmix { |
| "AudioPhile" no # uses big-endian 24-bit samples |
| "Audiophile USB (tm)" no |
| } |
| |
| # If a device does not have a four-channel mode for the front/rear outputs, |
| # other modes can be selected here. |
| # six_channels - for devices that route the last two of the four channels |
| # to the center/LFE outputs |
| # two_stereo_devices - for devices that have two stereo audio interfaces |
| USB-Audio.pcm.surround40_type { |
| "AudioPhile" two_stereo_devices |
| "Audiophile USB (tm)" two_stereo_devices |
| "OmniStudio" two_stereo_devices |
| "Quattro" two_stereo_devices |
| "SB Audigy 2 NX" six_channels |
| "USB AudioSport Quattro (tm)" two_stereo_devices |
| } |
| |
| # If a device does not use the first PCM device for digital data, the device |
| # number for the iec958 device can be changed here. |
| USB-Audio.pcm.iec958_device { |
| # "NoiseBlaster 3000" 42 |
| |
| # The below don't have digital in/out, so prevent them from being opened. |
| "Andrea PureAudio USB-SA Headset" 999 |
| "Blue Snowball" 999 |
| "HP Digital Stereo Headset" 999 |
| "GN 9330" 999 |
| "Logitech Speaker Lapdesk N700" 999 |
| "Logitech G35 Headset" 999 |
| "Logitech USB Headset" 999 |
| "Logitech USB Headset H540" 999 |
| "Logitech Wireless Headset" 999 |
| "Plantronics GameCom 780" 999 |
| "Plantronics USB Headset" 999 |
| "Plantronics Wireless Audio" 999 |
| "SB WoW Headset" 999 |
| "Scarlett 2i2 USB" 999 |
| "Scarlett 2i4 USB" 999 |
| "Sennheiser USB headset" 999 |
| "SWTOR Gaming Headset by Razer" 999 |
| "USB Device 0x46d:0x992" 999 |
| } |
| |
| # Second iec958 device number, if any. |
| USB-Audio.pcm.iec958_2_device { |
| "PHIREE U2" 1 # 0 = PCM S/PDIF, 1 = non-PCM S/PDIF |
| } |
| |
| |
| # If a device requires non-standard definitions for front, surround40, |
| # surround51, surround71 or iec958, they can be defined here. |
| |
| # M-Audio AudioPhile USB: |
| # device 0: analog output, digital input |
| # device 1: digital output, analog input |
| USB-Audio."AudioPhile".pcm.default "cards.USB-Audio.Audiophile USB (tm).pcm.default" |
| USB-Audio."Audiophile USB (tm)".pcm.default { |
| @args [ CARD ] |
| @args.CARD { type string } |
| type asym |
| playback.pcm { |
| type plug |
| slave.pcm { |
| type hw |
| card $CARD |
| device 0 |
| } |
| } |
| capture.pcm { |
| type plug |
| slave.pcm { |
| @func concat |
| strings [ "dsnoop:DEVICE=1,CARD=" $CARD ] |
| } |
| } |
| } |
| USB-Audio."AudioPhile".pcm.iec958 "cards.USB-Audio.Audiophile USB (tm).pcm.iec958" |
| USB-Audio."Audiophile USB (tm)".pcm.iec958 { |
| @args [ CARD AES0 AES1 AES2 AES3 ] |
| @args.CARD { type string } |
| @args.AES0 { type integer } |
| @args.AES1 { type integer } |
| @args.AES2 { type integer } |
| @args.AES3 { type integer } |
| type asym |
| playback.pcm { |
| type hw |
| card $CARD |
| device 1 |
| } |
| capture.pcm { |
| type hw |
| card $CARD |
| device 0 |
| } |
| } |
| |
| # For this card we can (and must to get IEC61937) set AES bits |
| USB-Audio."MicroII".pcm.iec958 "cards.USB-Audio.Audio Advantage MicroII.pcm.iec958" |
| USB-Audio."Audio Advantage MicroII".pcm.iec958 { |
| @args [ CARD AES0 AES1 AES2 AES3 ] |
| @args.CARD { type string } |
| @args.AES0 { type integer } |
| @args.AES1 { type integer } |
| @args.AES2 { type integer } |
| @args.AES3 { type integer } |
| |
| type hooks |
| slave.pcm { |
| type hw |
| card $CARD |
| } |
| |
| hooks.0 { |
| type ctl_elems |
| hook_args [ |
| { |
| interface PCM |
| name "IEC958 Playback Default" |
| preserve true |
| optional true |
| value [ $AES0 $AES1 $AES2 $AES3 ] |
| } |
| { |
| name "IEC958 Playback Switch" |
| lock true |
| preserve true |
| value 1 |
| } |
| ] |
| } |
| } |
| |
| ################################################################################ |
| |
| <confdir:pcm/front.conf> |
| |
| USB-Audio.pcm.front.0 { |
| @args [ CARD ] |
| @args.CARD { type string } |
| @func refer |
| name { |
| @func concat |
| strings [ |
| "cards.USB-Audio." |
| { @func card_name card $CARD } |
| ".pcm.front:CARD=" $CARD |
| ] |
| } |
| default { |
| # We could use softvol, but the driver might have guessed a |
| # wrong name for the real volume control. |
| type hw |
| card $CARD |
| device 0 |
| } |
| } |
| |
| USB-Audio.pcm.default { |
| @args [ CARD ] |
| @args.CARD { type string } |
| type asym |
| playback.pcm { |
| type plug |
| slave.pcm { |
| @func refer |
| name { |
| @func concat |
| strings [ |
| "cards.USB-Audio.pcm.default_playback_dmix_" |
| { |
| @func refer |
| name { |
| @func concat |
| strings [ |
| "cards.USB-Audio.pcm.use_dmix." |
| { @func card_name card $CARD } |
| ] |
| } |
| default yes |
| } |
| ":CARD=" $CARD |
| ] |
| } |
| } |
| } |
| capture.pcm { |
| type plug |
| slave.pcm { |
| @func concat |
| strings [ "dsnoop:" $CARD ] |
| } |
| } |
| } |
| |
| USB-Audio.pcm.default_playback_dmix_yes { |
| @args [ CARD ] |
| @args.CARD { type string } |
| @func concat |
| strings [ "dmix:" $CARD ] |
| } |
| |
| USB-Audio.pcm.default_playback_dmix_no { |
| @args [ CARD ] |
| @args.CARD { type string } |
| type hw |
| card $CARD |
| device 0 |
| } |
| |
| <confdir:pcm/surround40.conf> |
| |
| USB-Audio.pcm.surround40.0 { |
| @args [ CARD ] |
| @args.CARD { type string } |
| @func refer |
| name { |
| @func concat |
| strings [ |
| "cards.USB-Audio." |
| { @func card_name card $CARD } |
| ".pcm.surround40:CARD=" $CARD |
| ] |
| } |
| default { |
| @func refer |
| name { |
| @func concat |
| strings [ |
| "cards.USB-Audio.pcm.surround40_" |
| { |
| @func refer |
| name { |
| @func concat |
| strings [ |
| "cards.USB-Audio.pcm.surround40_type." |
| { @func card_name card $CARD } |
| ] |
| } |
| default default |
| } |
| ":CARD=" $CARD |
| ] |
| } |
| } |
| } |
| |
| USB-Audio.pcm.surround40_default { |
| @args [ CARD ] |
| @args.CARD { type string } |
| type hw |
| card $CARD |
| device 0 |
| } |
| |
| USB-Audio.pcm.surround40_six_channels { |
| @args [ CARD ] |
| @args.CARD { type string } |
| type route |
| ttable.0.0 1 |
| ttable.1.1 1 |
| ttable.2.4 1 |
| ttable.3.5 1 |
| slave { |
| pcm { |
| type hw |
| card $CARD |
| device 0 |
| } |
| channels 6 |
| } |
| } |
| |
| USB-Audio.pcm.surround40_two_stereo_devices { |
| @args [ CARD ] |
| @args.CARD { type string } |
| type route |
| ttable.0.0 1 |
| ttable.1.1 1 |
| ttable.2.2 1 |
| ttable.3.3 1 |
| slave.pcm { |
| type multi |
| slaves { |
| a { |
| pcm { |
| type hw |
| card $CARD |
| device 0 |
| } |
| channels 2 |
| } |
| b { |
| pcm { |
| type hw |
| card $CARD |
| device 1 |
| } |
| channels 2 |
| } |
| } |
| bindings [ |
| { slave a channel 0 } |
| { slave a channel 1 } |
| { slave b channel 0 } |
| { slave b channel 1 } |
| ] |
| } |
| } |
| |
| <confdir:pcm/surround21.conf> |
| <confdir:pcm/surround41.conf> |
| <confdir:pcm/surround50.conf> |
| <confdir:pcm/surround51.conf> |
| |
| USB-Audio.pcm.surround51.0 { |
| @args [ CARD ] |
| @args.CARD { type string } |
| @func refer |
| name { |
| @func concat |
| strings [ |
| "cards.USB-Audio." |
| { @func card_name card $CARD } |
| ".pcm.surround51:CARD=" $CARD |
| ] |
| } |
| default { |
| type route |
| ttable.0.0 1 |
| ttable.1.1 1 |
| ttable.2.4 1 |
| ttable.3.5 1 |
| ttable.4.2 1 |
| ttable.5.3 1 |
| slave { |
| pcm { |
| type hw |
| card $CARD |
| device 0 |
| } |
| channels 6 |
| } |
| } |
| } |
| |
| <confdir:pcm/surround71.conf> |
| |
| USB-Audio.pcm.surround71.0 { |
| @args [ CARD ] |
| @args.CARD { type string } |
| @func refer |
| name { |
| @func concat |
| strings [ |
| "cards.USB-Audio." |
| { @func card_name card $CARD } |
| ".pcm.surround71:CARD=" $CARD |
| ] |
| } |
| default { |
| type route |
| ttable.0.0 1 |
| ttable.1.1 1 |
| ttable.2.4 1 |
| ttable.3.5 1 |
| ttable.4.2 1 |
| ttable.5.3 1 |
| ttable.6.6 1 |
| ttable.7.7 1 |
| slave { |
| pcm { |
| type hw |
| card $CARD |
| device 0 |
| } |
| channels 8 |
| } |
| } |
| } |
| |
| <confdir:pcm/iec958.conf> |
| |
| USB-Audio.pcm.iec958.0 { |
| @args [ CARD AES0 AES1 AES2 AES3 ] |
| @args.CARD { type string } |
| @args.AES0 { type integer } |
| @args.AES1 { type integer } |
| @args.AES2 { type integer } |
| @args.AES3 { type integer } |
| @func refer |
| name { |
| @func concat |
| strings [ |
| "cards.USB-Audio." |
| { @func card_name card $CARD } |
| ".pcm.iec958:CARD=" $CARD |
| ",AES0=" $AES0 ",AES1=" $AES1 ",AES2=" $AES2 ",AES3=" $AES3 |
| ] |
| } |
| default { |
| # FIXME: we cannot set the AES parameters |
| type hw |
| card $CARD |
| device { |
| @func refer |
| name { |
| @func concat |
| strings [ |
| "cards.USB-Audio.pcm.iec958_device." |
| { @func card_name card $CARD } |
| ] |
| } |
| default 0 |
| } |
| } |
| } |
| |
| USB-Audio.pcm.iec958.1 { |
| @args [ CARD AES0 AES1 AES2 AES3 ] |
| @args.CARD { type string } |
| @args.AES0 { type integer } |
| @args.AES1 { type integer } |
| @args.AES2 { type integer } |
| @args.AES3 { type integer } |
| @func refer |
| name { |
| @func concat |
| strings [ |
| "cards.USB-Audio." |
| { @func card_name card $CARD } |
| ".pcm.iec958_2:CARD=" $CARD |
| ",AES0=" $AES0 ",AES1=" $AES1 ",AES2=" $AES2 ",AES3=" $AES3 |
| ] |
| } |
| default { |
| # FIXME: we cannot set the AES parameters |
| type hw |
| card $CARD |
| device { |
| @func refer |
| name { |
| @func concat |
| strings [ |
| "cards.USB-Audio.pcm.iec958_2_device." |
| { @func card_name card $CARD } |
| ] |
| } |
| default 999 |
| } |
| } |
| } |
| |
| # vim: ft=alsaconf |