Skip to content

Compand

Audio Single output Transform

Compress or expand audio dynamic range.

FFmpeg filter: compand — 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 Compand());
$result = $node->outputs()[0];

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

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

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
attacksstring0set time over which increase of volume is determined
decaysstring0.8set time over which decrease of volume is determined
pointsstring-70/-70|-60/-20|1/0set points of transfer function
soft_kneefloat0.010.01900set soft-knee
gainfloat0-900900set output gain
volumefloat0-9000set initial volume
delayfloat0020set delay for samples before sending them to volume adjuster

Maps to FFmpeg’s compand 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.