You are not logged in.

#1 2026-02-02 20:14:15

ceres
Member
Registered: 2026-02-02
Posts: 2

Audio Playback bleeding into Audio Input on Pipewire

Hi,

First of all I'm new to Arch, so forgive me if this is a stupid question.

I have installed Pipewire as my multimedia framework, and for audio purposes it works flawlessly, bar one problem, the playback channel seems to leak audio into my input channel.

I'm using a Universal Audio Volt 4 audio interface as my audio device, and currently it is the only audio device enabled on my system. The issue persists even accounting for physical audio bleed by unplugging my headphones and checking the input with pavucontrol, so it is something on the system end.

Hoping this is just a simple configuration fix that I haven't accounted for

These are all the packages installed related to Pipewire:

pipewire 1:1.4.10-1
pipewire-alsa 1:1.4.10-1
pipewire-audio 1:1.4.10-1
pipewire-jack 1:1.4.10-1
pipewire-pulse 1:1.4.10-1
wireplumber 0.5.13-1

The only Device, Sink and Source I have are for this interface. I disabled the rest with a config file:

~/.config/wireplumber/wireplumber.conf.d/alsa-device-disable.conf

monitor.alsa.rules = [
  {
    matches = [
      { device.name = "alsa_card.pci-0000_0c_00.1" }
    ]
    actions = {
      update-props = {
        device.disabled = true
      }
    }
  }
  {
    matches = [
      { device.name = "alsa_card.pci-0000_03_00.1" }
    ]
    actions = {
      update-props = {
        device.disabled = true
      }
    }
  }
  {
    matches = [
      { device.name = "alsa_card.usb-Generic_USB_Audio-00"}
    ]
    actions = {
      update-props = {
        device.disabled = true
      }
    }
  }
]

This is the output of wpctl inspect on my Device:

$ wpctl inspect 188
id 188, type PipeWire:Interface:Device
    alsa.card = "5"
    alsa.card_name = "Volt 4"
    alsa.components = "USB2b5a:0028"
    alsa.driver_name = "snd_usb_audio"
    alsa.id = "V4"
    alsa.long_card_name = "Universal Audio Volt 4 at usb-0000:0c:00.4-2, high speed"
    alsa.mixer_name = "USB Mixer"
    api.acp.auto-port = "false"
    api.acp.auto-profile = "false"
    api.alsa.card = "5"
    api.alsa.card.longname = "Universal Audio Volt 4 at usb-0000:0c:00.4-2, high speed"
    api.alsa.card.name = "Volt 4"
    api.alsa.path = "hw:5"
    api.alsa.split-enable = "true"
    api.alsa.use-acp = "true"
    api.dbus.ReserveDevice1 = "Audio5"
    api.dbus.ReserveDevice1.Priority = "-20"
  * client.id = "67"
  * device.api = "alsa"
    device.bus = "usb"
    device.bus-id = "usb-Universal_Audio_Volt_4_22332055009609-00"
    device.bus-path = "pci-0000:0c:00.4-usb-0:2:1.0"
  * device.description = "Volt 4"
    device.enum.api = "udev"
    device.icon-name = "audio-card-analog-usb"
  * device.name = "alsa_card.usb-Universal_Audio_Volt_4_22332055009609-00"
  * device.nick = "Volt 4"
    device.plugged.usec = "9531675482"
    device.product.id = "0x0028"
    device.product.name = "Volt 4"
    device.serial = "Universal_Audio_Volt_4_22332055009609"
    device.string = "5"
    device.subsystem = "sound"
    device.sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:0c:00.4/usb5/5-2/5-2:1.0/sound/card5"
    device.vendor.id = "0x2b5a"
    device.vendor.name = "Universal Audio"
  * factory.id = "15"
  * media.class = "Audio/Device"
    object.path = "alsa:acp:V4"
  * object.serial = "2320"
    spa.object.id = "12"

This is the output of wpctl inspect on my Sink:

$ wpctl inspect 49
id 49, type PipeWire:Interface:Node
    alsa.card = "5"
    alsa.card_name = "Volt 4"
    alsa.class = "generic"
    alsa.components = "USB2b5a:0028"
    alsa.device = "0"
    alsa.driver_name = "snd_usb_audio"
    alsa.id = "V4"
    alsa.long_card_name = "Universal Audio Volt 4 at usb-0000:0c:00.4-2, high speed"
    alsa.mixer_name = "USB Mixer"
    alsa.name = "USB Audio"
    alsa.resolution_bits = "16"
    alsa.subclass = "generic-mix"
    alsa.subdevice = "0"
    alsa.subdevice_name = "subdevice #0"
    alsa.sync.id = "00000000:00000000:00000000:00000000"
    api.alsa.card.longname = "Universal Audio Volt 4 at usb-0000:0c:00.4-2, high speed"
    api.alsa.card.name = "Volt 4"
    api.alsa.headroom = "512"
    api.alsa.path = "surround40:5"
    api.alsa.pcm.card = "5"
    api.alsa.pcm.stream = "playback"
    api.alsa.period-num = "64"
    api.alsa.period-size = "512"
    audio.channels = "4"
    audio.position = "FL,FR,RL,RR"
    card.profile.device = "3"
  * client.id = "67"
    clock.quantum-limit = "8192"
    device.api = "alsa"
    device.bus = "usb"
    device.class = "sound"
    device.icon-name = "audio-card-analog"
  * device.id = "188"
    device.profile.description = "Analog Surround 4.0"
    device.profile.name = "analog-surround-40"
    device.routes = "1"
  * factory.id = "19"
    factory.name = "api.alsa.pcm.sink"
    library.name = "audioconvert/libspa-audioconvert"
  * media.class = "Audio/Sink"
  * node.description = "Volt 4 Analog Surround 4.0 Output"
    node.driver = "true"
    node.loop.name = "data-loop.0"
    node.max-latency = "16384/48000"
  * node.name = "alsa_output.usb-Universal_Audio_Volt_4_22332055009609-00.analog-surround-40"
  * node.nick = "Volt 4"
    node.pause-on-idle = "false"
  * object.path = "alsa:acp:V4:3:playback"
  * object.serial = "2321"
    port.group = "playback"
  * priority.driver = "1109"
  * priority.session = "1109"

And this is the output of wpctl inspect on my Source:

$ wpctl inspect 76
id 76, type PipeWire:Interface:Node
    alsa.card = "5"
    alsa.card_name = "Volt 4"
    alsa.class = "generic"
    alsa.components = "USB2b5a:0028"
    alsa.device = "0"
    alsa.driver_name = "snd_usb_audio"
    alsa.id = "V4"
    alsa.long_card_name = "Universal Audio Volt 4 at usb-0000:0c:00.4-2, high speed"
    alsa.mixer_name = "USB Mixer"
    alsa.name = "USB Audio"
    alsa.resolution_bits = "32"
    alsa.subclass = "generic-mix"
    alsa.subdevice = "0"
    alsa.subdevice_name = "subdevice #0"
    alsa.sync.id = "00000000:00000000:00000000:00000000"
    api.alsa.card.longname = "Universal Audio Volt 4 at usb-0000:0c:00.4-2, high speed"
    api.alsa.card.name = "Volt 4"
    api.alsa.headroom = "128"
    api.alsa.path = "surround40:5"
    api.alsa.pcm.card = "5"
    api.alsa.pcm.stream = "capture"
    api.alsa.period-num = "256"
    api.alsa.period-size = "128"
    audio.channels = "4"
    audio.position = "FL,FR,RL,RR"
    card.profile.device = "2"
  * client.id = "67"
    clock.quantum-limit = "8192"
    device.api = "alsa"
    device.bus = "usb"
    device.class = "sound"
    device.icon-name = "audio-card-analog"
  * device.id = "188"
    device.profile.description = "Analog Surround 4.0"
    device.profile.name = "analog-surround-40"
    device.routes = "1"
  * factory.id = "19"
    factory.name = "api.alsa.pcm.source"
    library.name = "audioconvert/libspa-audioconvert"
  * media.class = "Audio/Source"
  * node.description = "Volt 4 Analog Surround 4.0 Input"
    node.driver = "true"
    node.loop.name = "data-loop.0"
    node.max-latency = "16384/48000"
  * node.name = "alsa_input.usb-Universal_Audio_Volt_4_22332055009609-00.analog-surround-40"
  * node.nick = "Volt 4"
    node.pause-on-idle = "false"
  * object.path = "alsa:acp:V4:2:capture"
  * object.serial = "2322"
    port.group = "capture"
  * priority.driver = "2109"
  * priority.session = "2109"

Just for the sake of listing all non-default configs I have I also have another config which renames the descriptions for the Sink and Source (because otherwise they have the same description):

~/.config/wireplumber/wireplumber.conf.d/device-rename.conf

monitor.alsa.rules = [
  {
    matches = [
	{
	  node.name = "alsa_output.usb-Universal_Audio_Volt_4_22332055009609-00.analog-surround-40"
	}
      ] 
      actions = { 
	update-props = {
	  node.description = "Volt 4 Analog Surround 4.0 Output"
	} 
      }
  } 
  {
    matches = [
      {
        node.name = "alsa_input.usb-Universal_Audio_Volt_4_22332055009609-00.analog-surround-40"
      }
    ]
    actions = {
      update-props = {
        node.description = "Volt 4 Analog Surround 4.0 Input"
      }
    }
  }
]

Any help on this is much appreciated! smile

Offline

#2 2026-02-03 20:35:23

ceres
Member
Registered: 2026-02-02
Posts: 2

Re: Audio Playback bleeding into Audio Input on Pipewire

Hi, quick update with relevant information.

I noticed that my  Input Channel 1 on the interface was producing no input on this system, regardless of what I plugged into it (guitar or microphone). This isn't the case with Input Channel 2 through 4 which can produce an Input, and there is definitely an input there (I can monitor inputs using the Interface itself, and Input 1 works as intended with whatever device I have plugged in there)

This could be a bit of a wild theory, but is this problem being caused by the system somehow using Input 1 as a Source for audio from my Sink?  Unfortunately I can't just reduce the input of Channel 1 and use that as a temp fix until I know a fix for this problem, which sucks hmm

(edit: currently going through the process of splitting up my input channels, might be able to get a closer look at what Input 1 is up to after I finish, will come back with anything I find)

Last edited by ceres (2026-02-03 20:50:18)

Offline

#3 2026-03-14 16:36:43

bzub
Member
Registered: 2013-10-14
Posts: 2

Re: Audio Playback bleeding into Audio Input on Pipewire

Hey ceres. I just wanted to let you know I've been facing this issue as well with the Volt 4-channel interface. I used to be able to work around it (in Ardour) by using ALSA directly but sometimes that doesn't even work. Ideally I'd like it to work with pipewire. I'll post back if I find anything. I appreciate you making this post.

Offline

#4 2026-03-14 16:43:24

bzub
Member
Registered: 2013-10-14
Posts: 2

Re: Audio Playback bleeding into Audio Input on Pipewire

One thing I'm seeing now is that the inputs work as they should on my laptop running cachyos, but not on my workstation running Arch. I have basically the same packages on both, all updated via yay. I haven't done any customization of pipewire/wireplummer.

Update: I realized I had a newer version of Ardour running on my laptop so I updated the ardour-git package on my workstation, now everything works fine? Maybe the issue will come back. I haven't tried to use the inputs of the Volt interface with much other than Ardour.

Update: It seems the issue with input channel 1 sometimes comes up for me but not often. Powercycling the interface sometimes fixes it.

Last edited by bzub (2026-03-14 21:04:07)

Offline

Board footer

Powered by FluxBB