如何让 NI Traktor Audio 2 声卡与 Mixxx 配合使用

Dav*_*lla 6 sound pulseaudio alsa

我有一张 NI Traktor Audio 2 声卡,我想与 Mixxx 一起使用,但到目前为止我似乎没有取得任何成功。该卡似乎在开箱即用的 Ubuntu 中得到支持,它似乎与 ALSA 配合良好,但我无法在 Mixxx 中选择它,我不确定我是否可以做些什么来让它看到它(例如通过) .

因此,出于测试目的,我可以在命令行上执行 aplay 来检查每个频道:

aplay -D plughw:2,0,0 test.wav
Run Code Online (Sandbox Code Playgroud)

aplay -D plughw:2,0,1 test.wav
Run Code Online (Sandbox Code Playgroud)

效果很好:我可以听到每个通道(A 和 B)上的测试声音

此卡使用的相关输出aplay -D是:

hw:CARD=TraktorAudio2,DEV=0
     Traktor Audio 2, Traktor Audio 2
     Direct hardware device without any conversions
plughw:CARD=TraktorAudio2,DEV=0
     Traktor Audio 2, Traktor Audio 2
     Hardware device with all software conversions
Run Code Online (Sandbox Code Playgroud)

从输出中的这 2 项来看,plughw是有效的,而hw无效的。

问题是Mixxx只让我选hw卡,好像不行。我希望能够选择可以使用的plughw卡。

我已尝试按照此问题的建议暂停 Pulse Audio ,但这似乎不起作用。我还使用了一个.asoundrc类似于这个答案中的文件(用于该声卡的旧型号),但也没有成功。

关于如何让 Mixxx 显示正确的卡片(和频道,当我们在做的时候)有什么想法吗?

谢谢!

小智 4

谢谢,这帮助我让我的 TRAKTOR 2 与使用 ALSA 的 Mixxx 一起工作。对于其他主要在 ALSA 之上使用pulseaudio 的应用程序,它过去可以开箱即用。但突然,在一些 ubuntu 更新之后,它停止工作了。

我可以通过向pulseaudio添加配置文件来解决这个问题。

以 root 身份转到 /usr/share/pulseaudio/alsa-mixer/profile-sets。您将看到有用于audio6、audio8等的conf文件,但没有用于audio 2的conf文件。令人惊讶的是,/lib/udev/rules.d/中引用了一个名为native-instruments-traktor-audio2.conf的文件90-pulseaudio.rules 。这就是问题的根源,也许该文件被开发人员遗漏了,pulseaudio 抱怨找不到它。

创建这个文件很容易,我复制了audio6文件并删除了有关输入的所有内容 - 因为audio2只有输出。然后必须准确命名:native-instruments-traktor-audio2.conf

现在它又可以工作了,作为奖励,我可以在通道 A 和 B 之间进行选择。以前,我在pulseaudio 中只能使用通道 A。

这是我的文件,希望它可以帮助别人。我想这个遗漏将在未来的pulseaudio更新中得到修复。

[一般的]
自动配置文件 = 否

[映射模拟-立体声-a]
描述 = 模拟立体声通道 A
设备字符串 = hw:%f,0,0
通道映射=左、右

[映射模拟立体声 b 输出]
描述 = 模拟立体声通道 B(耳机)
设备字符串 = hw:%f,0,1
通道映射=左、右
方向=输出

[配置文件输出:模拟立体声全]
描述 = 模拟立体声双工通道 A、B(耳机)
输出映射 = 模拟立体声 a 模拟立体声 b 输出
优先级 = 3
跳过探测=是

[配置文件输出:模拟立体声-a]
描述 = 模拟立体声输出通道 A
输出映射=模拟立体声-a
优先级 = 1
跳过探测=是

[配置文件输出:模拟立体声-b]
描述 = 模拟立体声输出通道 B(耳机)
输出映射 = 模拟立体声 b 输出
优先级 = 2
跳过探测=是

  • 我已提交 [bug #1269747](https://bugs.launchpad.net/pulseaudio/+bug/1269747) 来跟踪此问题 (2认同)

Dav*_*lla 3

好吧,虽然我仍然不明白为什么 Mixxx 无法选择正确的声卡,但我在 Mixxx wiki 中找到了适合我的解决方案。我.asoundrc从那里稍微修改了文件,以明确我选择的通道,但它本质上是相同的配置。

总之,我所做的就是创建一个名为.asoundrc以下内​​容的文件,并将其放在我的主文件夹中。

什么有效:

  • 我现在可以选择每个单独的通道(A 或 B)作为 Mixxx 中的单独声音设备,声音输出到每个正确的通道

什么不起作用:

  • 通道组合所得的声音设备 ( TraktorAudio2ChannelAB) 输出一些乱码

我还没弄清楚的是:

  • 为什么在 Mixxx 中,对于每个单独的声音设备(例如TraktorAudio2ChannelA),我可以选择 128 个通道(参见下面的屏幕截图),而我只期望“通道 1 - 2”

因此,任何评论或提示表示赞赏!

在此输入图像描述

ALSA 配置文件 (~/.asoundrc)

#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# Native Instruments :: Traktor Audio 2 ALSA Configuration
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#
#    Device                     Channels        Ports
#    ------                     --------        -----
#    TraktorAudio2ChannelA             2         12xx
#    TraktorAudio2ChannelA             2         xx34
#
#    TraktorAudio2ChannelAB            4         1234

#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# TraktorAudio2Channel{A,B} :: Raw 1x1 Stereo Devices
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
pcm.TraktorAudio2ChannelA { type plug; slave.pcm "hw:TraktorAudio2,0,0"; }
pcm.TraktorAudio2ChannelB { type plug; slave.pcm "hw:TraktorAudio2,0,1"; }

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# TraktorAudio2ChannelAB :: Multi 2x2 Stereo Device (Ports 1-4, Channels A+B)
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
pcm.TraktorAudio2ChannelAB {
        type multi

        # Bind hardware devices
        slaves.a.pcm TraktorAudio2ChannelA
        slaves.a.channels 2
        slaves.b.pcm TraktorAudio2ChannelB
        slaves.b.channels 2

        # Bind channels to virtual device
        bindings.0.slave a
        bindings.0.channel 0
        bindings.1.slave a
        bindings.1.channel 1
        bindings.2.slave b
        bindings.2.channel 0
        bindings.3.slave b
        bindings.3.channel 1
}
Run Code Online (Sandbox Code Playgroud)