How to denoise voice recordings instantly — browser ai, no upload
- Step 1Open the denoiser and drop your recording — Go to ai-noise-reducer and drop a single voice file — MP3, WAV, M4A, FLAC, or a video (the audio track is extracted). It loads into the tab; nothing is uploaded.
- Step 2Choose the output format — The one setting is Output format: WAV (default, lossless), MP3, FLAC, or M4A (AAC). Pick WAV to keep editing, MP3/M4A for a finished file. There is no strength slider — RNNoise's suppression is fixed.
- Step 3Process on your CPU — FFmpeg 8.1 resamples to 48 kHz mono float, RNNoise cleans each 480-sample frame, and the result is re-wrapped to 16-bit WAV (then re-encoded to MP3/M4A at 192 kbps if you chose a lossy format).
- Step 4Expect a mono result — Output is always mono. Voice recordings are almost always centred, so this is usually fine; if your source was stereo, the two channels are averaged together.
- Step 5Download and check on real playback — Audition on the device your audience will use. The steady noise bed should be gone and the voice should sound natural — not gated or warbly.
- Step 6Add polish if needed — For narration that still sounds uneven, run speech-leveler; for thin or muddy voice, voice-eq; for a consistent loudness target, loudness-normalizer.
Browser denoise pipeline, stage by stage
Everything runs locally as WebAssembly. No stage touches a server.
| Stage | Engine | What happens |
|---|---|---|
| Decode + resample | FFmpeg 8.1 (WASM) | Any input -> 48 kHz, mono, 32-bit float WAV |
| Denoise | RNNoise (WASM) | 480-sample frames cleaned by the speech NN on your CPU |
| Re-wrap | audio-utils | Cleaned float buffer -> 16-bit PCM WAV (pcm_s16le) |
| Re-encode (lossy only) | FFmpeg 8.1 (WASM) | WAV -> MP3 (libmp3lame) or M4A (AAC) at 192 kbps |
| Download | browser | Blob saved locally — nothing uploaded |
Output format guide for voice work
Format affects file size and what you can do next — denoise quality is identical across all four.
| Format | Codec / depth | Best for |
|---|---|---|
| WAV (default) | 16-bit PCM, 48 kHz, mono | Further editing, importing to a DAW or video editor |
| MP3 | libmp3lame, 192 kbps | Final voice memo / narration to share or upload |
| FLAC | lossless compressed | Archiving the clean take at a smaller size than WAV |
| M4A | AAC, 192 kbps | Apple ecosystem, video editors that prefer AAC |
Cookbook
Everyday voice-recording scenarios — not studio sessions. Each shows the input, the format pick, and what comes out, plus when a sibling tool is the better next step.
Phone voice memo with HVAC in the background
A voice memo recorded in an office with the air handler running. The steady hum is exactly what RNNoise is built to remove.
Input: memo-2026-06.m4a (mono, 3 min, HVAC hum) Output format: MP3 RNNoise: HVAC bed suppressed Re-encode: MP3 @ 192 kbps Output: memo-2026-06-clean.mp3
Screen-recording narration exported from a video
You recorded a tutorial; the narration has fan noise. Drop the whole MP4 — FFmpeg extracts the audio, RNNoise cleans it, and you get a clean WAV to re-attach in your editor.
Input: tutorial.mp4 (video, narration + fan) Output format: WAV FFmpeg: extract + resample -> 48 kHz mono float RNNoise: clean narration Output: tutorial-clean.wav (mono, 48 kHz) Re-attach the cleaned WAV to the video in your editor.
Zoom call recording for a transcript
A recorded call you need to transcribe. Cleaning the steady noise first improves speech-to-text accuracy. WAV out feeds most transcription tools.
Input: call.m4a (mono, 41 min) Output format: WAV RNNoise: remove steady line/room noise Output: call-clean.wav Tip: a cleaner noise floor measurably improves ASR accuracy.
Voiceover re-export after a script change
You re-recorded one line and need the clean take to match the earlier batch. Because RNNoise is deterministic, the re-exported line is processed identically to the originals.
Run 1 (last week): line-04.wav -> line-04-clean.wav Run 2 (today): line-04.wav -> line-04-clean.wav (identical) Fixed model = no drift between sessions.
Stereo interview app export collapses to mono
Some call apps export stereo with each speaker on a side. RNNoise sums to mono. If you need to keep them apart, split first.
Input: interview.wav (stereo: L = you, R = guest) RNNoise downmix -> MONO (both summed) Keep separate instead: 1. /audio-tools/channel-splitter (L and R -> two files) 2. Denoise each 3. Recombine if needed
Edge cases and what actually happens
Output is mono even though I dropped a stereo file
By designRNNoise runs on a single mono channel, so a stereo recording is downmixed before processing. Voice is normally centred, so this is fine for most recordings. To preserve stereo, split with channel-splitter, denoise each channel, and recombine.
Nothing installed but the run still fails to start
ErrorIf the RNNoise WebAssembly module (~85 KB) cannot load, you get 'RNNoise WASM module is unavailable.' Causes: an outdated browser or a network policy blocking the dynamic import/WASM. Update the browser or try a different network and retry.
Recording is larger than the free 10 MB cap
413-style rejectThe aiDenoise preview caps free files at 10 MB and Pro at 50 MB. A long lossless take exceeds that quickly. Export a smaller MP3 first, trim with audio-trimmer, or upgrade to Pro+Media for up to 100 GB.
Daily denoise quota already spent
Quota exhaustedFree allows one denoise per day, Pro five (both reset at UTC midnight). Once used, the run is blocked with an upgrade prompt. Pro+Media (£19/mo) is unlimited.
Faint background voices remain
ExpectedRNNoise removes steady non-speech noise, not other people talking. A second voice in the room is speech to the network and is largely preserved. There is no way to isolate one speaker from another here.
Voice sounds slightly processed on a very noisy take
ExpectedHeavy noise leaves the network little clean signal, so the voice can sound thinner or slightly processed. Follow with voice-eq to restore body, or speech-leveler to smooth levels.
MP3/M4A always exports at 192 kbps
By designLossy re-encode is fixed at 192 kbps — there is no bitrate control. For a specific bitrate, export WAV and convert with bitrate-changer.
Output sample rate is 48 kHz, not the original
By designRNNoise requires 48 kHz, so the file is resampled and the output WAV is 48 kHz. To match a 44.1 kHz project, convert afterward with sample-rate-converter.
Frequently asked questions
Do I need to install anything?
No. Both RNNoise and FFmpeg 8.1 are compiled to WebAssembly and run inside your browser tab. There is no desktop app, no extension, and no plugin to download — open the page, drop a file, and process.
Does my recording get uploaded?
No. The entire pipeline — decode, denoise, re-encode — happens on your device. The audio never leaves the tab, which is why it is safe for confidential calls and NDA voiceovers.
Can I adjust how much noise it removes?
No. RNNoise is a fixed, pre-trained neural network with no strength or mix control. The only setting is the output format. The benefit is consistency: the same recording always cleans up identically.
Will it separate my voice from someone else talking?
No. RNNoise removes steady non-speech noise, not competing voices. A second person in the room counts as speech and is preserved. There is no speaker isolation here.
What formats does it accept and produce?
It accepts MP3, WAV, M4A, FLAC, and video files (audio extracted). It produces WAV (default), MP3, FLAC, or M4A. Lossy outputs are encoded at 192 kbps.
Why is my output mono?
RNNoise processes one mono channel, so stereo is downmixed first. Voice is usually centred so this rarely matters; if you need stereo, split channels with channel-splitter, denoise each, and recombine.
How long a recording can I process for free?
The free preview caps the file at 10 MB and one run per day; Pro raises that to 50 MB and five runs per day. For longer recordings or unlimited runs, Pro+Media (£19/mo) supports files up to 100 GB.
Is the quality good enough for a published voiceover?
Yes for steady-noise removal — this is the same model OBS and Discord trust for voice. For a finished voiceover, follow denoise with voice-eq and loudness-normalizer to polish tone and level.
Can I clean narration straight from a video file?
Yes. Drop the video; FFmpeg extracts the audio track, RNNoise denoises it, and you download a clean audio file. Re-attaching it to the video is a separate step in your editor.
Will re-running the same file give a different result?
No. RNNoise is deterministic — the same input always produces the same output. That is useful when re-exporting a take after a small edit so it matches earlier files.
Does it change my sample rate?
Yes — input is resampled to 48 kHz mono because RNNoise requires it, and the WAV output is 48 kHz. Convert to 44.1 kHz afterward with sample-rate-converter if your project needs it.
What if the WASM module will not load?
You will see 'RNNoise WASM module is unavailable.' This means the browser is too old or a network policy is blocking the module. Use a current Chromium, Firefox, or Safari, and check that WebAssembly and the dynamic import are not blocked.
Privacy first
Every JAD Audio tool runs entirely in your browser via FFmpeg (WebAssembly) and RNNoise. Your audio files never leave your device — verified by zero outbound network requests during processing.