Skip to content

Afftdn

Audio Single output Transform

Denoise audio samples using FFT.

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

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

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

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
noise_reductionfloat120.01–97set the noise reduction
noise_floorfloat-50-80–-20set the noise floor
noise_typeAfftdnTypewhitewhite, vinyl, shellac, customset the noise type
band_noisestring——set the custom bands noise
residual_floorfloat-38-80–-20set the residual floor
track_noiseboolfalse—track noise
track_residualboolfalse—track residual
output_modeAfftdnModeoutputinput, output, noiseset output mode
adaptivityfloat0.50–1set adaptivity factor
floor_offsetfloat1-2–2set noise floor offset factor
noise_linkAfftdnLinkminnone, min, max, averageset the noise floor link
band_multiplierfloat1.250.2–5set band multiplier
sample_noiseAfftdnSamplenonenone, start, stopset sample noise mode
gain_smoothint00–50set gain smooth radius

FFmpeg also names these options (use the parameter shown above): nr → noise_reduction, nf → noise_floor, nt → noise_type, bn → band_noise, rf → residual_floor, tn → track_noise, tr → track_residual, om → output_mode, ad → adaptivity, fo → floor_offset, nl → noise_link, bm → band_multiplier, sn → sample_noise, gs → gain_smooth.


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