Pipewire:使用两个设备的多通道音频

Pipewire:使用两个设备的多通道音频

我正在运行完全更新的 Manjaro linux。直到最近,我还有 2 个 Fireface 800,它们是火线,我使用了 jack 和 ffado,它将两个 8 通道设备组合成一个可从 portaudio 使用的虚拟 16 通道设备。当我通过字时钟同步时,漂移不是问题。

作为升级,我购买了两张 RME Fireface UFX + 卡,每张卡都有 8 个模拟通道。我还想切换到 Pipewire,但设置相同:单个 16 通道虚拟设备。为了进行测试,我在另一台带有内置声音芯片和 USB 声卡的机器上,我假设这里的工作配置可以很好地转换为带有 RME 的机器。我正在尝试配置 Pipewire 来执行我想要的操作,我想我已经很接近了,但它工作得不太正常。这是我所做的:

我首先复制了 pipelineconf 文件:

mkdir ~/.config/pipewire
cp /usr/share/pipewire/pipewire.conf ~/.config/pipewire

然后我编辑了配置文件并在 context.modules 中添加了以下代码块:

{   name = libpipewire-module-combine-stream
    args = {
        combine.mode = sink
        node.name = "4_channel_output"
        node.description = "4-channel Output"
        combine.props = {
            audio.position = [ FL FR SL SR ]
        }
        stream.props = {
                stream.dont-remix = true
        }
        stream.rules = [
            {   matches = [
                    {   media.class = "Stream/Output/Audio" #"Audio/Source"
                        node.name = "alsa_output.pci-0000_00_1f.3.analog-stereo"
                    } ]
                actions = { create-stream = {
                        audio.position = [ playback_FL playback_FR ]
                        combine.audio.position = [ FL FR ]
                } } }
            {   matches = [
                    {   media.class = "Stream/Output/Audio" #"Audio/Source"
                        node.name = "alsa_output.usb-TEAC_TEAC_USB_AUDIO_DEVICE-02.analog-stereo"
                    } ]
                actions = { create-stream = {
                        audio.position = [ playback_FL playback_FR ]
                        combine.audio.position = [ SL SR ]
                } } }
        ]
    }
}

然后我重新启动管道:

systemctl --user restart pipewire.service

这已经很接近了。当我在portaudio中选择pipewire设备时,我可以将声音播放到4个通道。但我只能听到 USB (TEAC) 设备发出的声音。 pa_out_ch1 -> usb_ch1; pa_out_ch2 -> usb_ch2; pa_out_ch3 -> usb_ch1; pa_out_ch4 -> usb_ch2。我从板载芯片中听不到任何声音。

我究竟做错了什么?

答案1

我在 Manjaro KDE 和 pipelinewire 中使用多个不同的 USB 接口。我意识到这与您的设置完全不同。不过,我认为您可能会像我一样幸运,安装 pavucontrol 或 pavucontrol-qt(如果是 KDE)。然后从 pavucontrol 应用程序将您的接口设置为“Pro Audio”。

我的 RodeCaster II Pro 仅在 qpwgraph 等中显示 2 个通道,而没有执行此操作。将 pavucontrol 设置为 Pro Audio 后,我可以获得所有 16 个输入和所有 6 个输出。它们功能齐全。

我的 Audient EVO8 上有同样的初始问题和完整解决方案。

相关内容