Skip to content

biglinux/biglinux-noise-reduction-pipewire

Repository files navigation

Filter noise — AI Noise Reduction for PipeWire

image

GTK4/libadwaita configuration window plus a Plasma 6 system-tray applet, both backed by a single ~/.config/biglinux-microphone/settings.json watched via gio::FileMonitor / inotifywait for instant bidirectional sync.

Features

AI noise reduction

  • GTCRN neural network — voice-grade denoising via a LADSPA host
  • DNS3 & VCTK models (16 kHz) — aggressive or gentle profiles
  • DeepFilterNet3 (full-band 48 kHz) — optional backend, exposed in the model dropdown when the deepfilternet-ladspa package is installed; same intensity slider drives its attenuation cap

Audio processing

  • Equalizer with presets (Voice Boost, Podcast, Warm, Bright, De-esser, Low-cut)
  • Noise gate — silences the chain during silence
  • Acoustic echo cancellation — WebRTC AEC, on by default in a standalone pipewire -c instance; optional toggle in the Advanced view

Voice enhancement

  • Dual mono — stereo duplication of the cleaned voice
  • Radio voice — broadcast-style compression
  • Voice changer — pitch slider with Deep / Lower / Natural / Higher / Chipmunk marks

System sound filter

  • Cleans every sound the system plays before it reaches the speakers, using the same GTCRN-based chain on the playback side.

Visualization & monitoring

  • Spectrum analyzer — 30 bands at 60 fps
  • Headphone monitor — hear the processed signal with adjustable delay
  • Live parameter updates — param-only changes are pushed via pw-cli; topology changes reload only the affected chain

User experience

  • Smart-filter routingfilter.smart = true, no virtual device juggling
  • Plasma 6 applet — toggle both filters from the system tray with bidirectional sync against the GTK window
  • Persistent settingsserde-backed JSON, atomic writes

Requirements

Runtime

  • Linux with PipeWire >= 1.4 + WirePlumber >= 0.5
  • GTK4 >= 4.20 and libadwaita >= 1.8
  • gtcrn-ladspa (neural denoiser plugin — GTCRN backend)
  • swh-plugins (gate, compressor, pitch shifter)
  • deepfilternet-ladspa (optional) — enables the DeepFilterNet3 full-band 48 kHz backend in the model dropdown

Build (from source)

  • Rust >= 1.82 (rustup recommended)
  • pkg-config, clang, pipewire-devel, gtk4-devel, libadwaita-devel

License for our configuration interface

GNU General Public License v3.0 - see LICENSE for details.

Acknowledgments

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors