HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
werman
noise-suppression-for-voice
C++2020–2026
werman / noise-suppression-for-voice

noise-suppression-for-voice

Noise suppression plugin based on Xiph's RNNoise

13Distinct people
13Mentions
0Explicit recommenders
7KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Noise suppression plugin based on Xiph's RNNoise

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year13 dated mentions

Observed mentions: 2020-03-17 04:06:36 UTC to 2026-01-28 20:26:26 UTC.

0123452020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC505
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC303
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC202
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

What Hacker News says

13 sources
Frankly, what I hear is very similar to the results of classic spectral denoising, even with the characteristic FFT artifacts (for Linux, there's Noise Repellent [1] available for advanced spectral denoising; there's also a ton of commercial spectral processors available). The demonstration could use more random background noises to separate it from FFT noise suppressors (as it's the primary benefit of ML-based filters), and more varied speech to separate it from RNNoise [2] which tends to suppress breath and cut the sibilants in an unnatural manner. The latency is also important - is it as low as in RNNoise? What about the CPU load? [1] https://github.com/lucianodato/noise-repellent [2] https://github.com/werman/noise-suppression-for-voice
In DeepFilterNet: Noise supression using deep filtering
"One first design choice was to avoid tackling any management logic directly inside PipeWire" That single statement indicates to me that PW has got it right. Also I've been using it for 18 months now on Arch after a brief to and fro with PA where stuff failed badly for a short while. Now it is nigh on flawless and just works. This: https://github.com/werman/noise-suppression-for-voice#pipewi... works really well and I can have my window next to a very busy road open and no one can hear it on Teams. Sorry ... Teams! I use Teams actually 8)
In An Introduction to PipeWire
For me noisetorch [0] (based on RNNoise [1][2]) works pretty good. I'm using RTX Voice while I'm working on Windows and noisetorch while working on manjaro. RTX Voice seems to work a bit better, but noisetorch compares really well to it. I have a microphone which has static noise and is not really mechanical decoupled from my table. Both applications are good at cancelling that kind of noise. Noisetorch is a bit more focused on suppressing noise while you're not talking, which is the use case of the posted article. RTX Voice is better at suppressing noise while talking, which you can hear in Nvidias demos as well. [0] https://github.com/lawl/NoiseTorch [1] https://github.com/werman/noise-suppression-for-voice/ [2] https://jmvalin.ca/demo/rnnoise/
In Show HN: Unclack – a macOS app that mutes your microphone while you type
For anyone wanting to try this, it is pretty straightforward - first install noise-suppression-for-voice (AUR package available, binaries available via Github releases). You want to have librnnoise_ladspa.so and librnnoise_lv2.so available. Then identify your current output sink by running `pactl list sinks short`. One will be "RUNNING", and this is your active sink. Keep this name to hand. Create and enable an output sink using this plugin: pacmd load-module module-ladspa-sink sink_name=denoise_sink_for_apps.stereo sink_master=YOUR_OUTPUT_SINK_FROM_ABOVE_HERE label=noise_suppressor_stereo plugin=librnnoise_ladspa.so control=0 The value of sink_master should be the output sink name from above, and the control=0 parameter can be adjusted - that seems to be the voice auto detect threshold. https://github.com/werman/noise-suppression-for-voi
Read the rest
ce/issues... suggested 0, but I found it benefited from being higher. You can compare before/after by changing your pulseaudio output sink at system level (or application level) back and forth.
In NoiseTorch: Real-time microphone noise suppression on Linux written in Go
I've recently built the inverse of this using NSFV (https://github.com/werman/noise-suppression-for-voice), i.e. suppressing noise in incoming audio. A lot of people - despite being forced to work from home - simply don't seem to care about the way their audio sounds. Many don't even try to tackle these problems after it's been pointed out to them that they're being a nuisance in online meetings. I gave up on trying to help people fix their setups, or convincing them that it matters, and switched to doing this on the receiver end. It's been a massive quality-of-life improvement. If you're interested in the setup, you basically just need a small script that loads the pulseaudio plugin and wires up the sources/sinks correctly. My setup script is here: https://cs.tvl.fyi/depot@canon/-/blob/tools/nsfv-setup/defau... And some more context: htt
Read the rest
In NoiseTorch: Real-time microphone noise suppression on Linux written in Go
This is a weekend project for me - when I found that Krisp (and hence Discord) wouldn't support Linux, I set out attempting to create a user-friendly GUI which allows you to easily suppress background microphone noise. Do note that this is essentially just a GUI wrapper & nicer usage/installation experience for Werman's noise suppressor plugin for PulseAudio (https://github.com/werman/noise-suppression-for-voice).
In Show HN: Cadmus – a real-time microphone noise suppressor for Linux

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.