Skip to content

Dynaudnorm

Audio Single output Transform

Dynamic Audio Normalizer.

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

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

$result = $audio->apply(new Dynaudnorm(…));

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
framelenint50010–8000set the frame length in msec
gausssizeint313–301set the filter size
peakfloat0.950–1set the peak value
maxgainfloat101–100set the max amplification
targetrmsfloat00–1set the target RMS
couplingbooltrue—set channel coupling
correctdcboolfalse—set DC correction
altboundaryboolfalse—set alternative boundary mode
compressfloat00–30set the compress factor
thresholdfloat00–1set the threshold value
channelsstringall—set channels to filter
overlapfloat00–1set the frame overlap
curvestring——set the custom peak mapping curve

FFmpeg also names these options (use the parameter shown above): f → framelen, g → gausssize, p → peak, m → maxgain, r → targetrms, n → coupling, c → correctdc, b → altboundary, s → compress, t → threshold, h → channels, o → overlap, v → curve.


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