Squelch (jordan.squelch)
An Omarchy bar-widget plugin that adds an RNNoise noise-suppression toggle for your microphone. Click the icon for on/off plus three presets (Office / Kids / Studio); the popup also exposes the raw RNNoise controls (VAD threshold, gate hold, dry mix) as sliders for fine-tuning.
Changes apply live to the running PipeWire filter chain and are persisted to a config drop-in, so your settings survive a PipeWire restart or reboot.
Requirements
- PipeWire with
pw-cliandpactl jq- A LADSPA build of RNNoise providing
librnnoise_ladspa.so(e.g. thenoise-suppression-for-voice/rnnoise-ladspapackage on most distros), installed at/usr/lib/ladspa/librnnoise_ladspa.so
Install
omarchy plugin add https://github.com/jordan-tryon/omarchy-squelch.git --enable
One-time setup
The widget filters whatever mic you point it at — that's specific to your hardware, so it isn't configured automatically. After installing, run:
~/.config/omarchy/plugins/jordan.squelch/scripts/squelch-setup
This lists your available PipeWire sources, writes
~/.config/pipewire/pipewire.conf.d/99-input-denoising.conf targeting the
one you pick, and tells you to restart PipeWire:
systemctl --user restart pipewire pipewire-pulse
After that, the bar icon toggles squelch for that mic. Re-run
squelch-setup any time to point it at a different device.
Removal
omarchy plugin remove jordan.squelch
This removes the plugin itself but leaves your PipeWire config alone. To also remove the filter chain it created:
rm ~/.config/pipewire/pipewire.conf.d/99-input-denoising.conf
systemctl --user restart pipewire pipewire-pulse
License
MIT — see LICENSE.