Repository navigation
Releases
Cardioid 1.0.0
First stable release of Cardioid, a filtered virtual microphone for PipeWire.
Cardioid reads one physical mic, runs it through noise reduction, a high-pass filter, gate, compressor, de-esser, 8-band equalizer and limiter, and offers the result to OBS, Discord and other apps as an input called Cardioid. Desktop audio has no route into the chain, and an unplugged mic means silence, never a fallback to another source.
Highlights
- Seven-stage chain built on RNNoise, LSP and Calf plugins, hosted by PipeWire's filter-chain, so no audio passes through Cardioid itself
- Live controls with knobs, curves and an EQ you can drag directly on the graph
- Input and output meters plus a 10-second history view
- Test recording that captures the same words before and after the filters for an A/B comparison
- Tray service that starts at login, keeps the filters running with the window closed, and restarts them if PipeWire restarts
- Mic stays closed while no app is listening
Install
Download cardioid-v1.0.0-x86_64-unknown-linux-gnu.tar.gz, then:
tar -xzf cardioid-v1.0.0-x86_64-unknown-linux-gnu.tar.gz
cd cardioid-v1.0.0-x86_64-unknown-linux-gnu
./install.sh
The binary needs glibc 2.35 or newer. You also need PipeWire with WirePlumber, lsp-plugins-lv2, calf and noise-suppression-for-voice. On Arch-based distros:
sudo pacman -S lsp-plugins-lv2 calf noise-suppression-for-voice
Verify the download with the .sha256 file next to it: sha256sum -c cardioid-v1.0.0-x86_64-unknown-linux-gnu.tar.gz.sha256.
./install.sh --uninstall removes Cardioid and keeps your settings in ~/.config/cardioid.
Notes
Developed and tested on CachyOS with KDE Plasma on Wayland and PipeWire 1.6. The preset was tuned on a HyperX DuoCast, so other mics will probably need different input gain and gate settings.