






PipeWire Controller 0.5.0 - New page Signal Paths
This post is about showcasing 0.4.0 as 0.5.0 is a naming conflict resolution release (thanks to Pallaswept on GitHub for giving me a heads up on it), which took me awhile and AUR being down kind of helped. Its all in the release notes. The app offers a-lot but in this post I am highlighting only the new added page- Signal Paths
Quick context if you haven't run into the project: PipeWire Controller is a GTK4/libadwaita app for managing your pipewire/audio setup. it includes audio management, signal paths, virtual devices, live patchbay, parametric equalizer, performance monitoring, filter chains, microphone cleanup/effects (echo/noise), HRIR virtual surround, routing snapshots, per-app policies, LADSPA/LV2 effect inserts and more.
Version 0.4.0 adds a new page called Signal Paths- The idea is simple. A **source** is where sound comes in — one app, a microphone, or everything on your default output — and it carries its own chain of processing. A **mix** carries a chain of its own and feeds real devices. Sources on the left, mixes on the right, and the sends between them drawn as curves so you can see what's going where
One source and one mix is just a straight line, which is what most setups are.The second column only earns its place once a chain has to split — say one source corrected four different ways for four different pieces of hardware, without building it four times.
**You don't have to build it from scratch.** An empty board *is* a template catalog — four complete paths that build both halves in one click, then 26 ready-made strips going from a plain speaker mix at the top to the stuff people actually run for broadcast at the bottom. Bass boost, a loudness curve for quiet listening, crossfeed for headphones, a turntable chain, the gate → tone → compressor → limiter voice chain, a mastering bus. Each card draws the chain it's about to build, and if a template wants a plugin you don't have it says so and leaves it out instead of handing you a strip that won't start.
Create new Signal Path - Overview Screen
Template Browser (Color coded to sources/mixes)
Per card - add effects, plugins, convolver files and drag them in any order
**One process per chain, not one per plugin.** Every stage in a strip gets compiled into a single filter graph. Twenty effects is one entry in your device list and one buffer hop, instead of twenty of each. If you've ever wired this up by hand you know it goes the other way and you end up eating twenty quanta of latency for it.
The screenshot below shows 6 sources, 5 mixes, a plugin chain on every strip, one 7.1 pair and a two-device output
6 sources, 5 mixes, a plugin chain on every strip, one 7.1 pair and a two-device output
- **EQ bands move while the audio plays.** These are built from biquad filters rather than the preset-file kind, so frequency, gain and Q take effect as you drag them. No restart, no gap.
- **The board is handled directly.** Drag a stage along its chain to reorder it, or onto another card to move it there. Drag a card onto the opposite column to connect the two. Drag an app between strips to move what it's playing through. Click a stage to take it in or out of the signal.
Drag and reorder sources/mixes
Again this is just highlighting the new page Signal Paths, which took a-lot of work. Here is a screenshot of the dashboard (which I'm currently working on revamping to match efficiency)
There's alot more the app offers and I'd love for people to come check it out. I have fixed the bugs/issues I've been receiving but would like more feedback. I will add a copy pasta from the Readme.md below. thanks to all the people who've been helping.
- GitHub: https://github.com/knightinfected/PipeWireController
- AUR: `paru -S pipewire-control-center` (or `yay`)
- Full changelog with screenshots: https://github.com/knightinfected/PipeWireController/blob/main/CHANGELOG.md
Not on Arch? There are install instructions for Fedora, Ubuntu/Debian and
others in the README — it's pure Python, no build step.
**What I'd like from you**
Honestly, feedback. I use this daily on my own setup, which means I mostly find
the bugs *I* happen to walk into, and every PipeWire setup is wildly different
from every other one. If you try it and something is broken or confusing or
just annoying, open an issue — a one-liner helps more than you'd think. Half of
this release exists because two people took the time.