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:

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