1# 2# USB-Audio.conf - configuration for USB Audio devices 3# 4# 5# DO NO EDIT; this is an internal ALSA file. 6# If you want to add your own definitions, put them into /etc/asound.conf or 7# ~/.asoundrc, with "cards." before the "USB-Audio", e.g.: 8# 9# cards.USB-Audio.pcm.use_dmix."NoiseBlaster 3000" no 10# 11# If your device requires such a definition to work correctly, please report it 12# to <alsa-devel@alsa-project.org>. 13 14 15# If a device has sample formats not supported by dmix, dmix can be disabled 16# here. 17USB-Audio.pcm.use_dmix { 18 "AudioPhile" no # uses big-endian 24-bit samples 19 "Audiophile USB (tm)" no 20} 21 22# If a device does not have a four-channel mode for the front/rear outputs, 23# other modes can be selected here. 24# six_channels - for devices that route the last two of the four channels 25# to the center/LFE outputs 26# two_stereo_devices - for devices that have two stereo audio interfaces 27USB-Audio.pcm.surround40_type { 28 "AudioPhile" two_stereo_devices 29 "Audiophile USB (tm)" two_stereo_devices 30 "OmniStudio" two_stereo_devices 31 "Quattro" two_stereo_devices 32 "SB Audigy 2 NX" six_channels 33 "USB AudioSport Quattro (tm)" two_stereo_devices 34} 35 36# If a device does not use the first PCM device for digital data, the device 37# number for the iec958 device can be changed here. 38USB-Audio.pcm.iec958_device { 39 # "NoiseBlaster 3000" 42 40 "USB Sound Blaster HD" 1 41 "SB Omni Surround 5.1" 1 42 43 "Xonar U7" 1 44 "Xonar U7 MKII" 1 45 "ASUS XONAR U5" 1 46 "XONAR U5" 1 47 "XONAR SOUND CARD" 1 48 "Xonar SoundCard" 2 49 50 # The below don't have digital in/out, so prevent them from being opened. 51 "Andrea PureAudio USB-SA Headset" 999 52 "Blue Snowball" 999 53 "C-Media USB Headphone Set" 999 54 "Cmedia Audio" 999 55 "DELL PROFESSIONAL SOUND BAR AE5" 999 56 "HP Digital Stereo Headset" 999 57 "GN 9330" 999 58 "Logitech Speaker Lapdesk N700" 999 59 "Logitech G35 Headset" 999 60 "Logitech USB Headset" 999 61 "Logitech USB Headset H540" 999 62 "Logitech Wireless Headset" 999 63 "Plantronics Blackwire 3220 Seri" 999 64 "Plantronics GameCom 780" 999 65 "Plantronics USB Headset" 999 66 "Plantronics Wireless Audio" 999 67 "SB WoW Headset" 999 68 "Scarlett 2i2 USB" 999 69 "Scarlett 2i4 USB" 999 70 "Sennheiser USB headset" 999 71 "SWTOR Gaming Headset by Razer" 999 72 "ThinkStation P620 Main" 999 73 "ThinkStation P620 Rear" 999 74 "Thunderbolt Dock Audio Headset" 999 75 "Thunderbolt Dock Audio Module" 999 76 "USB Device 0x46d_0x821" 999 77 "USB Device 0x46d_0x992" 999 78 "WD15 Dock" 999 79 "WD19 Dock" 999 80} 81 82# Second iec958 device number, if any. 83USB-Audio.pcm.iec958_2_device { 84 "PHIREE U2" 1 # 0 = PCM S/PDIF, 1 = non-PCM S/PDIF 85 "PHIREE U2SX" 1 # 0 = PCM S/PDIF, 1 = non-PCM S/PDIF 86} 87 88 89# If a device requires non-standard definitions for front, default, surround40, 90# surround51, surround71 or iec958, they can be defined here. 91 92# M-Audio AudioPhile USB: 93# device 0: analog output, digital input 94# device 1: digital output, analog input 95USB-Audio."AudioPhile".pcm.default "cards.USB-Audio.Audiophile USB (tm).pcm.default" 96USB-Audio."Audiophile USB (tm)".pcm.default { 97 @args [ CARD ] 98 @args.CARD { type string } 99 type asym 100 playback.pcm { 101 type plug 102 slave.pcm { 103 type hw 104 card $CARD 105 device 0 106 } 107 } 108 capture.pcm { 109 type plug 110 slave.pcm { 111 @func concat 112 strings [ "dsnoop:DEV=1,CARD=" $CARD ] 113 } 114 } 115} 116USB-Audio."AudioPhile".pcm.iec958 "cards.USB-Audio.Audiophile USB (tm).pcm.iec958" 117USB-Audio."Audiophile USB (tm)".pcm.iec958 { 118 @args [ CARD AES0 AES1 AES2 AES3 ] 119 @args.CARD { type string } 120 @args.AES0 { type integer } 121 @args.AES1 { type integer } 122 @args.AES2 { type integer } 123 @args.AES3 { type integer } 124 type asym 125 playback.pcm { 126 type hw 127 card $CARD 128 device 1 129 } 130 capture.pcm { 131 type hw 132 card $CARD 133 device 0 134 } 135} 136 137# For this card we can (and must to get IEC61937) set AES bits 138USB-Audio."MicroII".pcm.iec958 "cards.USB-Audio.Audio Advantage MicroII.pcm.iec958" 139USB-Audio."Audio Advantage MicroII".pcm.iec958 { 140 @args [ CARD AES0 AES1 AES2 AES3 ] 141 @args.CARD { type string } 142 @args.AES0 { type integer } 143 @args.AES1 { type integer } 144 @args.AES2 { type integer } 145 @args.AES3 { type integer } 146 147 type hooks 148 slave.pcm { 149 type hw 150 card $CARD 151 } 152 153 hooks.0 { 154 type ctl_elems 155 hook_args [ 156 { 157 interface PCM 158 name "IEC958 Playback Default" 159 preserve true 160 optional true 161 value [ $AES0 $AES1 $AES2 $AES3 ] 162 } 163 { 164 name "IEC958 Playback Switch" 165 lock true 166 preserve true 167 value 1 168 } 169 ] 170 } 171} 172 173################################################################################ 174 175<confdir:pcm/front.conf> 176 177USB-Audio.pcm.front.0 { 178 @args [ CARD ] 179 @args.CARD { type string } 180 @func refer 181 name { 182 @func concat 183 strings [ 184 "cards.USB-Audio." 185 { @func card_name card $CARD } 186 ".pcm.front:CARD=" $CARD 187 ] 188 } 189 default { 190 # We could use softvol, but the driver might have guessed a 191 # wrong name for the real volume control. 192 type hw 193 card $CARD 194 device 0 195 } 196} 197 198USB-Audio.pcm.default { 199 @args [ CARD ] 200 @args.CARD { type string } 201 @func refer 202 name { 203 @func concat 204 strings [ 205 "cards.USB-Audio." 206 { @func card_name card $CARD } 207 ".pcm.default:CARD=" $CARD 208 ] 209 } 210 default { 211 type asym 212 playback.pcm { 213 type plug 214 slave.pcm { 215 @func refer 216 name { 217 @func concat 218 strings [ 219 "cards.USB-Audio.pcm.default_playback_dmix_" 220 { 221 @func refer 222 name { 223 @func concat 224 strings [ 225 "cards.USB-Audio.pcm.use_dmix." 226 { @func card_name card $CARD } 227 ] 228 } 229 default yes 230 } 231 ":CARD=" $CARD 232 ] 233 } 234 } 235 } 236 capture.pcm { 237 type plug 238 slave.pcm { 239 @func concat 240 strings [ "dsnoop:" $CARD ] 241 } 242 } 243 } 244} 245 246USB-Audio.pcm.default_playback_dmix_yes { 247 @args [ CARD ] 248 @args.CARD { type string } 249 @func concat 250 strings [ "dmix:" $CARD ] 251} 252 253USB-Audio.pcm.default_playback_dmix_no { 254 @args [ CARD ] 255 @args.CARD { type string } 256 type hw 257 card $CARD 258 device 0 259} 260 261<confdir:pcm/surround40.conf> 262 263USB-Audio.pcm.surround40.0 { 264 @args [ CARD ] 265 @args.CARD { type string } 266 @func refer 267 name { 268 @func concat 269 strings [ 270 "cards.USB-Audio." 271 { @func card_name card $CARD } 272 ".pcm.surround40:CARD=" $CARD 273 ] 274 } 275 default { 276 @func refer 277 name { 278 @func concat 279 strings [ 280 "cards.USB-Audio.pcm.surround40_" 281 { 282 @func refer 283 name { 284 @func concat 285 strings [ 286 "cards.USB-Audio.pcm.surround40_type." 287 { @func card_name card $CARD } 288 ] 289 } 290 default default 291 } 292 ":CARD=" $CARD 293 ] 294 } 295 } 296} 297 298USB-Audio.pcm.surround40_default { 299 @args [ CARD ] 300 @args.CARD { type string } 301 type hw 302 card $CARD 303 device 0 304} 305 306USB-Audio.pcm.surround40_six_channels { 307 @args [ CARD ] 308 @args.CARD { type string } 309 type route 310 ttable.0.0 1 311 ttable.1.1 1 312 ttable.2.4 1 313 ttable.3.5 1 314 slave { 315 pcm { 316 type hw 317 card $CARD 318 device 0 319 } 320 channels 6 321 } 322} 323 324USB-Audio.pcm.surround40_two_stereo_devices { 325 @args [ CARD ] 326 @args.CARD { type string } 327 type route 328 ttable.0.0 1 329 ttable.1.1 1 330 ttable.2.2 1 331 ttable.3.3 1 332 slave.pcm { 333 type multi 334 slaves { 335 a { 336 pcm { 337 type hw 338 card $CARD 339 device 0 340 } 341 channels 2 342 } 343 b { 344 pcm { 345 type hw 346 card $CARD 347 device 1 348 } 349 channels 2 350 } 351 } 352 bindings [ 353 { slave a channel 0 } 354 { slave a channel 1 } 355 { slave b channel 0 } 356 { slave b channel 1 } 357 ] 358 } 359} 360 361<confdir:pcm/surround21.conf> 362<confdir:pcm/surround41.conf> 363<confdir:pcm/surround50.conf> 364<confdir:pcm/surround51.conf> 365 366USB-Audio.pcm.surround51.0 { 367 @args [ CARD ] 368 @args.CARD { type string } 369 @func refer 370 name { 371 @func concat 372 strings [ 373 "cards.USB-Audio." 374 { @func card_name card $CARD } 375 ".pcm.surround51:CARD=" $CARD 376 ] 377 } 378 default { 379 type route 380 ttable.0.0 1 381 ttable.1.1 1 382 ttable.2.4 1 383 ttable.3.5 1 384 ttable.4.2 1 385 ttable.5.3 1 386 slave { 387 pcm { 388 type hw 389 card $CARD 390 device 0 391 } 392 channels 6 393 } 394 } 395} 396 397<confdir:pcm/surround71.conf> 398 399USB-Audio.pcm.surround71.0 { 400 @args [ CARD ] 401 @args.CARD { type string } 402 @func refer 403 name { 404 @func concat 405 strings [ 406 "cards.USB-Audio." 407 { @func card_name card $CARD } 408 ".pcm.surround71:CARD=" $CARD 409 ] 410 } 411 default { 412 type route 413 ttable.0.0 1 414 ttable.1.1 1 415 ttable.2.4 1 416 ttable.3.5 1 417 ttable.4.2 1 418 ttable.5.3 1 419 ttable.6.6 1 420 ttable.7.7 1 421 slave { 422 pcm { 423 type hw 424 card $CARD 425 device 0 426 } 427 channels 8 428 } 429 } 430} 431 432<confdir:pcm/iec958.conf> 433 434USB-Audio.pcm.iec958.0 { 435 @args [ CARD AES0 AES1 AES2 AES3 ] 436 @args.CARD { type string } 437 @args.AES0 { type integer } 438 @args.AES1 { type integer } 439 @args.AES2 { type integer } 440 @args.AES3 { type integer } 441 @func refer 442 name { 443 @func concat 444 strings [ 445 "cards.USB-Audio." 446 { @func card_name card $CARD } 447 ".pcm.iec958:CARD=" $CARD 448 ",AES0=" $AES0 ",AES1=" $AES1 ",AES2=" $AES2 ",AES3=" $AES3 449 ] 450 } 451 default { 452 # FIXME: we cannot set the AES parameters 453 type hw 454 card $CARD 455 device { 456 @func refer 457 name { 458 @func concat 459 strings [ 460 "cards.USB-Audio.pcm.iec958_device." 461 { @func card_name card $CARD } 462 ] 463 } 464 default 0 465 } 466 } 467} 468 469USB-Audio.pcm.iec958.1 { 470 @args [ CARD AES0 AES1 AES2 AES3 ] 471 @args.CARD { type string } 472 @args.AES0 { type integer } 473 @args.AES1 { type integer } 474 @args.AES2 { type integer } 475 @args.AES3 { type integer } 476 @func refer 477 name { 478 @func concat 479 strings [ 480 "cards.USB-Audio." 481 { @func card_name card $CARD } 482 ".pcm.iec958_2:CARD=" $CARD 483 ",AES0=" $AES0 ",AES1=" $AES1 ",AES2=" $AES2 ",AES3=" $AES3 484 ] 485 } 486 default { 487 # FIXME: we cannot set the AES parameters 488 type hw 489 card $CARD 490 device { 491 @func refer 492 name { 493 @func concat 494 strings [ 495 "cards.USB-Audio.pcm.iec958_2_device." 496 { @func card_name card $CARD } 497 ] 498 } 499 default 999 500 } 501 } 502} 503 504# vim: ft=alsaconf 505