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).
5
  • Show the output of aplay -l.
    – CL.
    Commented Mar 31, 2016 at 20:36
  • Added to the post with an edit. @CL.
    – cj.knowles
    Commented Mar 31, 2016 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.
    Commented Apr 1, 2016 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
    Commented Apr 1, 2016 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
    Commented Apr 1, 2016 at 8:13

1 Answer 1

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"
}
3
  • 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
    Commented Apr 1, 2016 at 9:02
  • Probably Mixxx does not use these name hints.
    – CL.
    Commented Apr 1, 2016 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
    Commented Apr 1, 2016 at 10:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .