3

I am struggling to persuade ALSA to separate the front and rear outputs of my Native Instruments Traktor Audio 2 external USB soundcard and would really appreciate help.

USB Vendor ID: 17cc, USB Product ID: 1330. Noted as I suspect there are different generations of the card (more in footnote).

Fedora 23.

Relevant ALSA FAQ - splitting front and rear outputs, .asoundrc as per FAQ copied below.

As you'll guess - the problem is that it is not working for me.

I am after any help you can be provide, but the questions that come to mind are:

  1. Is there a way to via logs to debug ALSA's card configuration and read of the .asoundrc?
  2. If I was to start afresh and create a new .asoundrc -- how would I figure out the bindings, ttable, etc, settings?

I know the card can output separately as it is splitable at the pulseaudio level using these instructions.

.asoundrc

    pcm.dshare {
        type dmix
        ipc_key 2048
        slave {
            pcm "hw:0"
            rate 44100
            period_time 0
            period_size 1024
            buffer_size 8192
            channels 4
        }
        bindings {
            0 0
            1 1
            2 2
            3 3
        }
    }
    pcm.frontx {
        type plug
        slave {
            pcm "dshare"
            channels 4
        }
        ttable.0.0 1
        ttable.1.1 1
    }
    pcm.rearx {
        type plug
        slave {
            pcm "dshare"
            channels 4
        }
        ttable.0.2 1
        ttable.1.3 1
    }

aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: ALC892 Analog [ALC892 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: SB [HDA ATI SB], device 1: ALC892 Digital [ALC892 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: MK2 [Traktor Audio 2 MK2], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Adjustments tried...

pcm "hw:0"      to reflect card on "hw:3" - also tried "hw:3,0", "hw:3,0,0" 
pcm "hw:0"      to name rather than number "hw:MK2" - also tried "hw:MK2,0", "hw:MK2,0,0" 
pcm "hw:0"      to plughw rather than hw - "plughw:3" and "plughw:MK2" 

Additional notes on suspicion of older generations with different internals:

  1. Mixxx Wiki page for Traktor Audio 2 with .asoundrc appears to refer to two sub-devices ("hw:TraktorAudio2,0,0" and "hw:TraktorAudio2,0,1"); where as I believe I only have one. I believe this as using these instructions only results in one selectable card named djA in Mixxx and aplay -l states the card only has one sub-device.
  2. udev has a pulseaudio configuration file, native-instruments-traktor-audio2.conf that is referenced from /usr/lib/udev/rules.d/90-pulseaudio.rules if the device's vendor ID is 17cc and product ID 041d. Same vendor, different ID to my card (1330).
  • Show the output of aplay -l. – CL. Mar 31 '16 at 20:36
  • Added to the post with an edit. @CL. – cj.knowles Mar 31 '16 at 21:09
  • hw:3 or hw:MK2 would be correct. What is the error message when you try to use aplay with the frontx/rearx devices? – CL. Apr 1 '16 at 7:17
  • @CL - I'd not tried aplay with frontx and rearx before, and had working on the basis they do not appear as selectable devices in Mixxx. Now that I have tried -- I can output separately to frontx/rearx without error, but with audible clicks/noise, which may be due to the defaults? Additionally the rearx and frontx devices are still not visible in Mixxx. – cj.knowles Apr 1 '16 at 7:44
  • @CL - scratch that. What I do have in Mixxx is the 'dshare' device, that I can select for both Master and Headphones and then select 'Channels 1 - 2' for Master and '3 - 4' for Headphones. I had been expecting rearx and frontx and had not noticed dshare. I am not 100% sure but I think this is it sorted. Thank you CL! – cj.knowles Apr 1 '16 at 8:13
0

These device definitions are correct.

The buffer_size is rather small; consider increasing it to be more safe against underruns (but also with larger latency).

To make a device show up in the device list, it needs a name hint:

pcm.hw_plus {
    type ...
    slave ...
    ...
    hint.description "My little device, with more cowbell"
}
  • I think the device not showing up may have been me -- frontx and rearx are there if I scroll down in the selection box, I just had not noticed the scrollbar in Mixxx's UI! However, when selected there is a problem... I get a very nasty drilling noise from the outputs, no matter which channel selection/combo between 1-4 I try. Additionally, should the 'hint.description' adjust how the pcm appears in the Mixxx list, as I still just get the pcm name? – cj.knowles Apr 1 '16 at 9:02
  • Probably Mixxx does not use these name hints. – CL. Apr 1 '16 at 9:15
  • I think I've found my problem -- a jog wheel on the physical hardware controls the balance of main mixed into the headphone output. Having fiddled, if I take .asoundrc out of the picture and select 'Traktor Audio 2 MK2' and 'Channels 1 - 2' and '3 - 4' in Mixxx, I get the split I am after. The problem in this question -- how to split into two ALSA pcm dev using .asoundrc -- still exists, as I get noise if I use frontx/rearx, but it is not a problem for me if I can split the outputs without it. Unless there is a sound quality benefit of pursuing this further? Appreciate the help @CL. – cj.knowles Apr 1 '16 at 10:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.