Silence Detection
Silence detection is the automatic finding of pauses in an audio track: spans where the signal stays below a loudness threshold for at least a minimum duration. Three settings define it: the threshold (usually in dBFS), the minimum duration, and the padding kept around speech when a pause is cut. Because it measures level rather than speech, editing tools increasingly find pauses from word timestamps instead.
The Three Settings
- Threshold: how quiet counts as quiet. Measured in dBFS, where 0 dBFS is the loudest possible sample; −60 dBFS is an amplitude of 0.001. It must sit above the file's noise floor and below its quietest speech.
- Minimum duration: how long it must stay quiet. Speech is full of tiny silences, such as the 50–100 ms closure inside a /t/. Anything under about 200 ms is phonetics, not dead air; editing passes usually use 0.4–0.8 s.
- Padding: how much you give back. The margin kept on each side of a removed pause so cuts land in the gap, not against a word. 100–250 ms per side is the workable range for speech.
| Implementation | Threshold | Minimum duration | Padding |
|---|---|---|---|
| ffmpeg silencedetect | −60 dBFS | 2.0 s | None (reports only) |
| ffmpeg silenceremove | 0 amplitude (digital silence) | 0 s | Configurable |
| pydub split_on_silence | −16 dBFS | 1,000 ms | 100 ms |
| Silero VAD | 0.5 speech probability | 100 ms | 30 ms |
| faster-whisper VAD | 0.5 speech probability | 2,000 ms | 400 ms |
| Valmera | Gaps between transcribed words | 0.5 s | 0.12 s each side |
Two defaults are traps: pydub's −16 dBFS is close to normal speech level, and silenceremove's 0 amplitude only matches exact digital silence, so it removes nothing from a real recording until you set it.
Why Naive Silence Removal Clips Words
- Trailing consonants fall below the threshold. The quietest English sounds are roughly 27–28 dB weaker than open vowels, so “plans” loses its /s/ when the cut follows the level.
- Stop consonants contain real silence. /p/, /t/ and /k/ seal the airway for 50–100 ms before the burst; a short minimum duration reports silence inside “important.”
- Breaths carry timing. A 200–500 ms inhale tells the listener a new thought is starting. Strip them all and speech sounds breathless.
- The background jumps at the splice. Butting two noisy ranges together makes room tone tick or pump at every junction. Padding reduces it; room-tone fill removes it.
The structural fix is to stop treating audio as a level and treat it as speech: find gaps between word timestamps, then snap every cut to a word boundary, so a whole word either survives or does not.
Silence Detection vs Voice Activity Detection
Level-based silence detection cannot tell a quiet sibilant from room tone at the same level, or a pause over a music bed from someone talking. Voice activity detection (VAD) classifies the signal instead, typically with a small neural model that scores short frames and uses two thresholds (hysteresis) so the boundary does not chatter. A transcript with word timings goes further: a gap between two recognized words is a gap in the talking, whatever else is on the track.
Common Misconceptions
- “Silence detection finds pauses.” It finds quiet. Over music, gameplay or a fan, minutes of nobody speaking can contain no silence at all.
- “Just lower the threshold until it works.” On a noisy recording, no value sits between the noise floor and the quietest consonants. Change method instead.
- “More silence removed means a better video.” The win is in multi-second stalls and restarts, not the last 200 ms of every gap.
How Valmera Uses It
Valmera runs both measurements and treats them differently. At upload, a waveform pass flags quiet spans at −35 dBFS over at least 0.6 seconds, a deliberately higher threshold than ffmpeg's default because real uploads come from phones and laptops in real rooms. What the agent actually cuts are the gaps between words in the word-level transcript, so a recording over a music bed or game audio still gets its pauses found.
One request (“cut the dead air”) removes every gap of 0.5 seconds or more, keeps 0.12 seconds of padding on each side, and snaps every edge outward to a whole word. Both numbers change in plain English. When at least half the gaps contain audible sound and the pass would remove a quarter of the video or more, the agent stops and asks before cutting music or game audio. Cuts are ranges in a non-destructive edit decision list, so any pause can be restored. Padding is one symmetric value, cuts are hard splices with no room-tone fill, and English is the best-tested transcription language. See remove silence from video.
Related Terms
- Word-level timestamps — The clock a clean silence cut snaps to.
- Transcription and ASR — Where those word timings come from.
- Jump cut — What every removed pause becomes on a single-camera shot.
- Edit decision list — Where a removed pause lives, restorable at any time.
- LUFS and loudness normalization — The other level measurement in a mix.
- Text-based video editing — Deleting pauses from the transcript instead of the waveform.
Frequently Asked Questions
Made with Valmera: real exports
Cut the Dead Air, Keep the Consonants
Say how long a pause has to be before it goes. Cuts snap to word edges and can be restored. Creating an account and uploading are free; editing requires a subscription.
Create an account →

