Skip to content

Highshelf

Audio Single output Transform

Apply a high shelf filter.

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

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

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

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_typeHighshelfWidthTypeqh, q, o, s, kset filter-width type
widthfloat0.5099999set width
gainfloat0-900900set gain
polesint212set number of poles
mixfloat101set mix
channelsstringallset channels to filter
normalizeboolfalsenormalize coefficients
transformHighshelfTransformTypedidi, dii, tdi, tdii, latt, svf, zdfset transform type
precisionHighshelfPrecisionautoauto, s16, s32, f32, f64set filtering precision
blocksizeint0032768set the block size

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


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