Skip to content

Bandpass

Audio Single output Transform

Apply a two-pole Butterworth band-pass filter.

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

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

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

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
frequencyfloat30000999999set central frequency
width_typeBandpassWidthTypeqh, q, o, s, kset filter-width type
widthfloat0.5099999set width
csgboolfalseuse constant skirt gain
mixfloat101set mix
channelsstringallset channels to filter
normalizeboolfalsenormalize coefficients
transformBandpassTransformTypedidi, dii, tdi, tdii, latt, svf, zdfset transform type
precisionBandpassPrecisionautoauto, s16, s32, f32, f64set filtering precision
blocksizeint0032768set the block size

FFmpeg also names these options (use the parameter shown above): ffrequency, twidth_type, wwidth, mmix, cchannels, nnormalize, atransform, rprecision, bblocksize.


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