Back to articles index
How-to guides

How to remove noise from audio recordings (meetings, interviews)

Reduce hiss, fan noise, and rumble from meeting and interview recordings. Compares spectral subtraction with high-pass filtering and warns about over-processing artefacts.

The background hum you cannot avoid

Anything you record on a phone or a USB microphone — meetings, interviews, podcast raws, Zoom captures — comes back with environmental noise baked into the signal. The usual suspects are PC cooling fans, HVAC drone from the air conditioning, keyboard clatter bleeding through the wall, and the constant hiss of the mic preamp itself. People rarely notice it while recording, but the moment you listen back through headphones the noise floor is right there, and downstream transcribers (Whisper, Notta, OpenAI transcription endpoints) lose measurable accuracy on noisy clips.

The pain hits in the editing phase, between recording and publication. Shipping a podcast episode with a perceptible hiss tanks listener retention; handing a meeting recording to a paid transcription service with a noisy floor inflates both the bill and the error rate. That creates real demand for a “clean this up without sending it anywhere” step, and the in-browser audio-repair (machine-learning based) and audio-noise-gate (threshold based) cover the two main shapes of that step.

Cleaning audio up in the browser

Open the noise-reduction tool and drop in your noisy files — MP3, WAV, M4A, AAC, FLAC, OGG, and Opus are all accepted. Once a file decodes, the RNNoise model runs automatically: each card progresses through “Processing” and lands on “Ready” with a Download button for the denoised WAV. You can batch several files at once, grab each as it finishes, or use Download ZIP to take the whole set in one shot.

A realistic expectation is “noticeably reduced”, not “completely gone”. HVAC drone, mic hiss, and light keyboard sounds drop dramatically — often to where they are no longer perceptible at normal listening levels. Sudden transients (a chair scrape, a door slam) and overlapping speech are harder for the model and tend to survive. Sounds that sit in the speech band (a TV in another room playing an unrelated voice) can occasionally end up smeared in an unnatural way, so it is worth A/B-listening to the original before committing to the cleaned version. When all you actually need is to silence the gap between sentences, audio-noise-gate is usually the safer choice — it has fewer side effects because it does less.

RNNoise versus a noise gate

audio-repair runs RNNoise, a small recurrent neural network from Xiph.org. Each input is resampled to 48 kHz mono and fed through the model in 10 ms (480-sample) frames; the model jointly estimates a per-band noise gain and a voice-activity probability (VAD), then applies sub-band gain reduction so speech is preserved while the background drops. The whole inference runs as a WebAssembly module inside the browser tab, so the audio never reaches a server. Compared to classic spectral subtraction — estimate the noise floor per band with an FFT and subtract — the trained model avoids most of the “metallic” musical-noise artefacts that show up when you push spectral subtraction too hard.

audio-noise-gate is a structurally different tool. It runs in the Web Audio API’s OfflineAudioContext and clamps the gain to zero (or to a configurable reduction) whenever the signal drops below a threshold you set. The exposed parameters are threshold (-80 to 0 dB), attack (0 to 100 ms), hold (0 to 500 ms), release (10 to 500 ms), and reduction (-100 to 0 dB), and the model under the hood is just an envelope follower. Because it operates purely on instantaneous level, it cannot reduce noise while the speaker is talking — but for the more modest goal of killing the hiss in the pauses between words, that simplicity is the feature, not a limitation. The rule of thumb: use audio-repair when you need to reduce noise on top of speech, and audio-noise-gate when you only need to silence the gaps.

What changes versus an upload-style cleaner

Search for “remove noise from audio online” and you will find dozens of services that take an upload, run a model on their backend for a minute, and hand you back a cleaned download. The recordings people typically run through such services are exactly the ones with the highest sensitivity — meeting audio with HR or commercial discussions, journalistic interviews with on-the-record subjects, podcast raws that have not been edited yet. Most providers’ terms of service include clauses along the lines of “you grant us a non-exclusive license to the content you upload” or “we may use uploaded data to improve our models”, and even an honoured deletion request cannot show you what already passed through caches and access logs.

audio-repair has no upload path in the source. The RNNoise WebAssembly module and the audio decoding (AudioContext.decodeAudioData) all live inside the browser tab, and the denoised WAV is exposed via an <a download> link in the same tab. The repository is on GitHub, so you can read the code that touches the audio. Open the DevTools Network tab during a run and you will see only the initial WASM and model fetches — nothing tied to the file content goes out afterwards. That is a different sort of guarantee than trusting a privacy policy after the fact.