Skip to content

Silenceremove

Audio Single output Transform

Remove silence.

FFmpeg filter: silenceremove — the official reference.

Add it to a graph. The explicit form works for every filter — bind it to its input and read the result from outputs():

$node = $audio->addFilter(new Silenceremove());
$result = $node->outputs()[0];

Shorthand. Single-output filters can skip the node — apply() returns the result stream directly:

$result = $audio->apply(new Silenceremove());

TODO — when this filter shines: what it’s the right tool for, what to reach for instead when it isn’t, and how it composes with neighbouring filters.

TODO — prose: how the filter actually works and what its key parameters mean (the explanation FFmpeg’s terse option help omits).

TODO — runnable PHP, with the equivalent ffmpeg CLI alongside.

TODO

TODO

ParameterTypeDefaultRange / valuesDescription
start_periodsint009000set periods of silence parts to skip from start
start_durationint00set start duration of non-silence part
start_thresholdfloat00set threshold for start silence detection
start_silenceint00set start duration of silence part to keep
start_modeSilenceremoveModeanyany, allset which channel will trigger trimming from start
stop_periodsint0-90009000set periods of silence parts to skip from end
stop_durationint00set stop duration of silence part
stop_thresholdfloat00set threshold for stop silence detection
stop_silenceint00set stop duration of silence part to keep
stop_modeSilenceremoveModeallany, allset which channel will trigger trimming from end
detectionSilenceremoveDetectionrmsavg, rms, peak, median, ptp, devset how silence is detected
windowint200000100000000set duration of window for silence detection
timestampSilenceremoveTimestampwritewrite, copyset how every output frame timestamp is processed

Maps to FFmpeg’s silenceremove filter. Verified against ffmpeg n7.1.1.

An Artisan Build project.

Built on FFmpeg — an independent binding, not affiliated with or endorsed by the FFmpeg project. Support FFmpeg.