Clean up an audio file
Voice memos, interviews, lecture recordings — anything with a person talking and a room in the way. This page is the specification: which files go in, what happens to them, what comes back out, and where this belongs in the rest of your workflow.
Which files go in
mp3, wav, m4a, aac, flac and ogg, plus the audio track of most video files. Treat that as a guide rather than a promise: we decide by reading the start of the file itself, not by trusting its extension, so a renamed file is handled on its merits.
If your browser cannot decode a particular file at all, you get an error that says so, and converting to mp3 or wav first almost always works. That is a real fallback and not a brush-off — the missing piece in those cases is a container unpacker, not the noise removal.
What we read, and what we skip
For mp4, m4a and bare aac or mp3 we unpack only the stretch we actually need, by walking the file's own index and reading those bytes. A long recording never has to fit in memory: on a large file this measured about 103 times less memory than decoding the whole thing.
Lossless and open formats — wav, flac, ogg, webm — do not have that shortcut yet, so they get decoded in full. That is fine for normal lengths and it is the one case where a very long file can run your browser out of memory. If that happens to you, an mp3 or m4a of the same recording takes the cheap path.
Two things happen to every file before the model sees it, and both are worth knowing:
- Everything is summed to one channel at 48 kHz. The model is single-channel, so this is not a preference. If your recording is stereo, or has two microphones on separate channels, they are mixed together first — see the podcast page for when that matters and what to do instead.
- We pick the loudest 30 seconds rather than the first 30. The beginning of a recording is usually a chair, a throat, and "is this on" — judging the result on that would make it look worse than it is. The result card shows you which stretch was used.
What comes back
A 16-bit mono WAV at 48 kHz, about 2.9 MB for the 30 seconds. WAV because browsers have no general-purpose audio encoder — getting an mp3 out would mean shipping you an encoder on top of the 9 MB engine, and a download button is not worth that.
We do not loudness-match the two versions. On the sample on our home page the original measures −11.6 LUFS and the cleaned version −13.7, about 2 LU quieter. That is not a bug: removing noise removes energy, and your file will do the same. Matching the levels would make the comparison flattering and would hide something you need to know before you set your levels.
Where this goes in your chain
- Clean first, then set levels, then master. Because we do not normalise, the output is quieter than what you put in — so anything that decides on loudness should run after this, not before. Level a noisy file first and you have levelled against a noise floor that is about to move.
- Do it before music and effects. The model keeps what it recognises as speech and pulls down the rest, so a music bed underneath the voice is exactly the sort of thing it will go after. Clean the speech, then lay the music in.
- It is not an equaliser. No de-essing, no tone shaping, no repair of clipped or distorted audio. One job.