r/pipewire

▲ 6 r/pipewire+2 crossposts

What audio processing software do you use?

Hello. Geeting crispy audio quality on any computer has always been my thing. This for both the output (speakers or headphones) or input through my microphone. The microphone one has always been a big one for me: I do a lot of meeting/calls and people being able to hear you in good quality is a godsend.

Since I migrated to Pipewire (like so many years ago), I have been using EasyEffects for this purpose. I used it on both my desktop PC (Arch) and laptops (Debian and Arch). I am happy with it overall: incredible program!

On my laptops, I sometimes experience some problems when switching audio sources, especially when it comes to Bluetooth sources (ugh, I know...). Then I have to restart EasyEffects or even sometimes the whole audio stack. Not great when I am doing a meeting. This is the only weak spot of EasyEffects for me.

I never really tried anything else. I looked at JACK in the past before Pipewire was even a thing but that looked daunting. I looked that something called Carla is supposed to be more reliable when it comes to Bluetooth but it looks quite overkill for my requirements.

Anyways, just curious: what do you guys use for audio processing on Linux?

reddit.com
u/GSquad934 — 8 hours ago
▲ 4 r/pipewire+1 crossposts

App request: Aggregate device setup app like macos

I want an easy app for creating aggregate devices (using two audio interfaces at once) with linux audio. The current patchbay method is hell and is so annoying and complected that I give up and stop making music on my computer. Check out Macos vs Linux aggregate devices below:

Macos: Simple, checkbox gui for which devices you want to use in the aggregate device

https://preview.redd.it/aonetw5or8wg1.png?width=1302&format=png&auto=webp&s=e1275c41659f009e7fcca586ef71c34821f5bafc

Linux: Hell

https://preview.redd.it/1l7fder1s8wg1.png?width=1080&format=png&auto=webp&s=48b069545a8453b57abaaba56af6578df3549de1

Please, someone, make an easy gui for creating aggregate devices in linux.

reddit.com
u/That_Possibility_601 — 4 days ago

flat-volumes

PORTUGUÊS - BR:

Atualmente vejo um problema no pipewire na parte de separação do áudio, vou tentar explicar o que ocorre.

Explicação:

Antigamente eu usava Windows 10, e no meu uso, eu definia o volume do youtube para 100% e depois controlava o resto pelo som do navegador no sistema. Quando tento fazer o mesmo no linux (já testei em várias distros, como o Fedora KDE, CachyOs com o plasma, Tuxedo OS) o pipewire simplesmente acaba sendo controlado pelo volume do youtube.

Explicando melhor:

Quando altero o volume do youtube, o volume do navegador no sistema também é alterado, o áudio fica sicronizado, já quando altero o volume do navegador no sistema, o volume inicialmente é alterado, mas é resetado para o volume do youtube quando o vídeo atualiza (ou quando adianto, retrocedo ou troco de vídeo). Notei que isso ocorre com a maioria das aplicações, como o firefox, o spotify e o discord (deve ter outras, mas só cheguei a testar essas), no entanto no brave (que tem a base chromium) isso não ocorreu, pois ele tem uma filtragem que deixa o som do youtube dentro do navegador, dessa forma não afetando o volume do navegador no sistema. Ou seja, a maioria das aplicações enviam um sinal para o pipewire alterar o volume e ele obedece, criando essa sicronia desagradável. Já tentei forçar para isso não ocorrer, mas não adianta.

OBS.: Não sou um expert, então posso ter cometido alguns erros na minha explicação, então peço desculpas, e espero que tenham entendido o que eu tentei explicar.

Link de um vídeo demonstrando o que ocorre: https://youtu.be/kcZWHjr4G3M

ENGLISH:

I am currently experiencing an issue with audio separation in PipeWire, and I’ll try to explain what’s happening.

Explanation:

Back when I used Windows 10, I would set the YouTube player volume to 100% and then control the actual output level via the browser's volume slider in the system mixer. However, on Linux (I’ve tested several distributions like Fedora KDE, CachyOS with Plasma, and Tuxedo OS), PipeWire seems to be controlled directly by the YouTube volume slider.

To explain further:

When I change the volume on the YouTube website, the browser's system volume changes along with it—the two are synchronized. Conversely, when I change the browser's volume in the system mixer, it changes initially but resets back to the YouTube player's level whenever the video updates (e.g., when I skip forward, rewind, or change videos).

I noticed this happens with most applications, including Firefox, Spotify, and Discord. Interestingly, this does not happen with Brave (Chromium-based), likely because it handles audio filtering internally, preventing the YouTube slider from affecting the system-level browser volume.

In short: most applications send a signal to PipeWire to change the system volume, and PipeWire obeys, creating this unpleasant synchronization. I’ve tried to force this to stop, but without success.

Note: I am not an expert, so please excuse any technical inaccuracies in my explanation. I hope I managed to convey the issue clearly.

Video demonstrating the issue: https://youtu.be/kcZWHjr4G3M

u/Felipe_fgaf — 4 days ago

Customising configuration lookup environment variables

The man page for pipewire.conf mentions the following environment variables:

  • PIPEWIRE_CONFIG_DIR
  • PIPEWIRE_CONFIG_PREFIX
  • PIPEWIRE_CONFIG_NAME

But it doesn't actually mention what they do, or provide any examples for how they impact configuration lookup. Is anyone able to shed some light on how they impact configuration lookup (ideally with examples)?

reddit.com
u/djmattyg007 — 1 day ago

How to use several USB instruments without going insane?

Hi! Pipewire's features seem incredible but I have not been able to make it work for my setup so far.

I use an Arch-based distro, an ancient but rock-solid Edirol UA-25EX soundcard and Reaper as my DAW. Due to a poorly suppressed gear acquisition syndrome, I also have a SP-404 MKII and a CK-61 keyboard that I wish to use mostly via USB since it's more convenient than audio cables.

Normal use works without issue: Firefox, Spotify, etc. is played perfectly through my soundcard. I can see changes I make in pipewire.conf on my soundcard in pw-top and coppwr. However, my sampler and keyboard sound like a circuit-bent Atari 2600 whenever I play in my DAW.

When Reaper is open, pw-top shows that both instruments have a QUANT of zero and my guess is that it's the most likely cause of my problems. No matter what I try to modify, QUANT stays at zero for these devices.

Each device also have a different bitrate and samplerate combination, another possible problem (UA-25EX: 24bit/48000, SP: 16bit:48000, CK-61: 16bit/41000).

So...I'm not sure what to do next. Is there a way to make these three USB connexions work together with Pipewire? I'd be happy to sacrifice some audio quality for complete compatibility, like setting everything to 16bit 41000.

Thank you all for your help!

reddit.com
u/BicameralTeddyRuxpin — 8 days ago
▲ 4 r/pipewire+1 crossposts

Jack and possibly Pipewire changes samplerate dynamicly,how to fix?

Hi all!
I have my different desktops apps running through multiple sinks/sources then reaper and out of it to my soundcard and other sinks/sources(see attached pictures of qjackctl and qpwgraph).

https://preview.redd.it/58wpd3v0gzug1.png?width=1912&format=png&auto=webp&s=e1d5090970424a8d9143a0392f86a48b4d615d5a

My problem is the following : when playing music from QBZ (no DAC Passthrough or nor Exclusive mode) Reaper (through jack) changes sample rate automaticly.

I have tried the following Wireplumber conf:

monitor.alsa.rules = [

{

matches = [

{

device.name = "alsa_card.usb-Focusrite_Scarlett_2i2_USB-00"

}

]

actions = {

update-props = {

priority.session = 10000,

audio.format= "S24LE"

audio.rate = 96000

api.alsa.period-size = 256

}

}

}

]

Any idea how to lock the sample rate ? Will signals automatically be resampled to match? (I know some people want bit perfect audio, but it is not what I'm looking for, I just want to route my audio through reaper)

reddit.com
u/obiatch_kenbobi — 10 days ago

How to dynamically create loopback devices after Pipewire starts

I'm looking to dynamically create loopback devices after Pipewire starts (meaning I can't just use a config file, and I'm in a situation where I can't restart Pipewire).

I can successfully create a loopback device with `pw-loopback`, or `pw-cli --monitor load-module libpipewire-module-loopback`. However, these commands stay alive, and destroy the loopback device they created when the program terminates. This isn't ideal.

How can I create a loopback device such that it stays alive after the command used to create it terminates? I want the Pipewire daemon to take ownership of the device as soon as it's created.

reddit.com
u/djmattyg007 — 17 days ago

Looking to create a specific aggregate audio device

I mainly want to know if you believe what I'm trying to do is possible before I spend a lot of time trying to do it. I'm a relatively new Linux user but I'm learning.

I'm a bedroom producer. I have Tascam Model 12 (12 in, 12 out) and Expert Sleepers ES-9 (14 in, 12 out) audio interfaces. I would like to combine them into a single device driven by ALSA (PulseAudio is incompatible with VCVRack, my preferred "DAW"). Furthermore, I want the Model 12 to occupy IOs 1-16 (with 4 dummy IOs) and the ES-9 to occupy IOs 17-32.

Currently, the generic ALSA device can handle one or the other interface, but not both at once.

Any hints toward a solution (e.g. how to start crafting an aggregate interface) would be greatly appreciated!

reddit.com
u/HoyerHoppes — 11 days ago

[help] virtual output with everything besides one application?

I want to add cava (audio visualizer) to my rice but i don't like that it also responses to noices in discord.

cava supports specifying the output device that schould be monitored so i thought i could make a virtual audio device that plays everything besides discord. how can i do that? is there a better approach?

reddit.com
u/Blablabla_3012 — 4 days ago

HDMI sound issue with UGREEN usb-c

Hello,

I have an issue on my archlinux where the sound from the HDMI port isn't played on the tv speaker

uname -a
Linux computer 6.18.21-1-lts #1 SMP PREEMPT_DYNAMIC Thu, 02 Apr 2026 15:44:36 +0000 x86_64 GNU/Linux

I have only one sink listed

pactl list short sinks
471     alsa_output.pci-0000_00_1f.3.hdmi-stereo        PipeWire        s32le 2ch 48000Hz       RUNNING

While the HDMI is detected

But still the sound doesn't come up in the speakers

cat /proc/asound/card0/eld\#2.16
monitor_present         1
eld_valid               1
codec_pin_nid           0xb
codec_dev_id            0x0
codec_cvt_nid           0x3
monitor_name            AAA
connection_type         DisplayPort
eld_version             [0x2] CEA-861D or below
edid_version            [0x3] CEA-861-B, C or D
manufacture_id          0x1863
product_id              0x0
port_id                 0x0
support_hdcp            0
support_ai              0
audio_sync_delay        0
speakers                [0x1] FL/FR
sad_count               1
sad0_coding_type        [0x1] LPCM
sad0_channels           2
sad0_rates              [0xe0] 32000 44100 48000
sad0_bits               [0x6] 16 20

It used to work yesterday and after a screen off/ screen on, it sudently stopped working.

The hub is also working with a Windows computer

I think it might be a mapping error between alsa/pipewire/wireplumber and the physical output but I don't know how to fix it.

Did it already happen to you ? Or do you have any insights on where to look please ?

PS : I have the extra1,2,3 also available but they doesn't work also.

Thank you !

When connecting the hub I get the following dmesg

[  +8,723541] usb 3-4: new high-speed USB device number 10 using xhci_hcd
[  +0,137487] usb 3-4: New USB device found, idVendor=05e3, idProduct=0610, bcdDevice= 6.63
[  +0,000005] usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  +0,000001] usb 3-4: Product: USB2.1 Hub
[  +0,000001] usb 3-4: Manufacturer: GenesysLogic
[  +0,001323] hub 3-4:1.0: USB hub found
[  +0,000269] hub 3-4:1.0: 4 ports detected
[  +0,047857] usb 2-3: new SuperSpeed USB device number 7 using xhci_hcd
[  +0,023577] usb 2-3: New USB device found, idVendor=05e3, idProduct=0626, bcdDevice= 6.63
[  +0,000004] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  +0,000001] usb 2-3: Product: USB3.1 Hub
[  +0,000001] usb 2-3: Manufacturer: GenesysLogic
[  +0,001302] hub 2-3:1.0: USB hub found
[  +0,000804] hub 2-3:1.0: 4 ports detected
[  +0,277662] usb 2-3.3: new SuperSpeed USB device number 8 using xhci_hcd
[  +0,018880] usb 2-3.3: New USB device found, idVendor=0b95, idProduct=1790, bcdDevice= 2.00
[  +0,000005] usb 2-3.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  +0,000001] usb 2-3.3: Product: AX88179B
[  +0,000001] usb 2-3.3: Manufacturer: ASIX
[  +0,000001] usb 2-3.3: SerialNumber: 006C1FF770BFAA
[  +0,048744] cdc_ncm 2-3.3:2.0: MAC-Address: 6c:1f:f7:72:06:ee
[  +0,000006] cdc_ncm 2-3.3:2.0: setting rx_max = 16384
[  +0,000266] cdc_ncm 2-3.3:2.0: setting tx_max = 16384
[  +0,000391] cdc_ncm 2-3.3:2.0 eth0: register 'cdc_ncm' at usb-0000:00:0d.0-3.3, CDC NCM (NO ZLP), 6c:1f:f7:72:06:
ee
[  +0,008501] cdc_ncm 2-3.3:2.0 enp0s13f0u3u3c2: renamed from eth0
[  +0,822938] usb 3-4.2: new full-speed USB device number 11 using xhci_hcd
[  +0,106144] usb 3-4.2: New USB device found, idVendor=4037, idProduct=2804, bcdDevice= 1.10
[  +0,000004] usb 3-4.2: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[  +0,000001] usb 3-4.2: Product: 2.4G Composite Devic
[  +0,006777] input: 2.4G Composite Devic as /devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2/3-4.2:1.0/0003:4037:28
04.0009/input/input41
[  +0,130537] hid-generic 0003:4037:2804.0009: input,hidraw2: USB HID v1.10 Keyboard [2.4G Composite Devic] on usb-
0000:00:14.0-4.2/input0
[  +0,002511] input: 2.4G Composite Devic Mouse as /devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2/3-4.2:1.1/0003:4
037:2804.000A/input/input42
[  +0,000088] input: 2.4G Composite Devic Consumer Control as /devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2/3-4.2
:1.1/0003:4037:2804.000A/input/input43
[  +0,050707] input: 2.4G Composite Devic System Control as /devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2/3-4.2:1
.1/0003:4037:2804.000A/input/input44
[  +0,000053] hid-generic 0003:4037:2804.000A: input,hidraw3: USB HID v1.10 Mouse [2.4G Composite Devic] on usb-000
0:00:14.0-4.2/input1

And I don't have more message when plugging in the HDMI separetly.

I have found this topic: https://bbs.archlinux.org/viewtopic.php?id=309588 and followed this article https://wiki.archlinux.org/title/PipeWire#Simultaneous_output_to_multiple_sinks_on_the_same_sound_card but it seems that it creates two sinks but the HDMI one still doesn't work

pactl list sinks short  
57      alsa_output.pci-0000_00_1f.3.analog-stereo      PipeWire        s32le 2ch 48000Hz       IDLE
58      alsa_output.pci-0000_00_1f.3.hdmi-stereo        PipeWire        s32le 2ch 48000Hz       RUNNING
reddit.com
u/blablatalk — 14 days ago

How can I set things up so that a sound alert/notification will play regardless of whether the user who is running the app trying to play the alert is on the tty?

Basically, user A is running an app that may send an audio alert. When it does, I want to hear that alert even though I've switched over to using the user B account. The idea is that, at that point, I can go back to the user A account and deal with the alert.

I don't need this to be very fine grained since it's still a machine that is only ever used by me. If it's easier I'd just like to run pipewire in such a way that the sounds from all users are always played regardless of which user is currently using the console.

If it matters, I'm using KDE.

reddit.com
u/TroutFarms — 13 days ago