Bleep out a passage
A source's name. A street address read out loud. A phone number someone said without thinking. This page is about covering one passage of a recording with a beep — what exactly gets replaced, what stays untouched, and why you are the one who decides where it happens.
You mark it. We do not guess.
Every other tool for this advertises automatic detection: it transcribes your recording, finds the words, and offers to bleep them. We do not do that, and the reason is worth reading before you decide which tool you want.
Automatic detection needs a word-level timestamp. To mute one word without
muting the sentence around it, something has to know where that word starts and
stops, to within a few hundredths of a second. In English, transcription models
give you that. Outside English they often do not — we measured whisper-base on
Chinese and got timestamps at sentence granularity: a single 3.8-second
utterance came back as one span from 0.78 to 4.62. You cannot bleep a name inside
that. You can only bleep the whole sentence.
That is a statement about the one model we measured, not about every model that exists. But it is enough to change the design: an automatic feature that quietly works well in one language and badly in others is worse than no automatic feature, because you cannot tell which case you are in by looking at the result.
So you mark the passage. It takes longer, and in exchange there are no misses, no false positives, and no language that works less well than another — there is no language step in this at all, because there is no transcription step.
What replaces the passage
A 1 kHz beep — the sound television uses for exactly this. Not silence.
That choice is about meaning, not audio quality. A silent gap is ambiguous: a listener cannot tell whether something was covered on purpose or whether the file is broken, the edit went wrong, or the microphone dropped out. A beep says one thing only, and says it unmistakably.
Its level is set at roughly half the level of your recording. A pure tone at the same measured level as speech is far more piercing than the speech, so it cannot simply match — how far to hold it down is something you can only judge by ear, and that is how the current setting was chosen.
The edges, and why they matter
Where the beep meets your audio, the two have to join without a step in the waveform. If they do not, you get a click — and a click at both ends is itself a signal. It tells every listener the exact moment something was removed, which is the opposite of what you came here for.
So the beep starts and ends at zero, and the four milliseconds of audio on each side are faded into it. Four milliseconds is short enough that you do not hear a fade, long enough that there is nothing to hear at the join: the jump at the seam lands one to two orders of magnitude below the largest sample-to-sample jumps that already occur naturally in the same file.
The fade eats a sliver of the audio you are keeping, never a sliver of the passage you are covering. Fading the covered side instead would leak the first few milliseconds of it out at a low volume. Four milliseconds of a syllable is not intelligible — but this is not a place to be approximately right.
The length does not change
The output has exactly as many samples as the input. There is no option to cut the passage out, and that is deliberate: shortening the audio would put every frame of picture after that point out of sync with the sound.
Because the length is preserved, a video keeps working. The picture is copied through untouched, the audio is the same duration it always was, and lip movement still lands where it did. See cleaning a video's audio for how the picture and sound are handled.
It runs on your whole file, in your browser
The beep is applied while the file streams through — read a block, clean a block, write a block. So there is no clip-length limit to work around: a forty-minute interview is handled the same way as a two-minute one, and your file is never sent anywhere. See removing background noise for how the cleaning itself works and what it can and cannot do.
One consequence of that shape is worth knowing: you mark the passages before the run starts, listening to your own original file. There is no step where you listen to the finished result and then pick something out of it — by then the output has already been written.
What this does not do
- It does not find anything for you. Covered above. If you need automatic profanity detection and your material is in English, a tool built for that will serve you better than this one.
- It applies to the full-file run, not the 30-second preview. The preview exists so you can judge the noise removal; leaving it untouched keeps that judgement clean.
- Marking needs your browser to play your file. Our own cleaning path opens containers that a plain audio player cannot, so there are files we can clean but cannot play back for marking. When that happens the marking controls disappear and say so — cleaning still works.
- Firefox cannot do the full-file run at all. It cannot encode AAC, which the output needs, so there is nowhere for the beep to land there. The 30-second preview still works. Measured on Firefox 142.