Skip to content

Surround

Audio Single output Transform

Apply audio surround upmix filter.

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

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

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

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
chl_outstringset output channel layout
chl_instringset input channel layout
level_infloat1010set input level
level_outfloat1010set output level
lfebooltrueoutput LFE
lfe_lowint1280256LFE low cut off
lfe_highint2560512LFE high cut off
lfe_modeSurroundLfeModeaddadd, subset LFE channel mode
smoothfloat001set temporal smoothness strength
anglefloat900360set soundfield transform angle
focusfloat0-11set soundfield transform focus
fc_infloat1010set front center channel input level
fc_outfloat1010set front center channel output level
fl_infloat1010set front left channel input level
fl_outfloat1010set front left channel output level
fr_infloat1010set front right channel input level
fr_outfloat1010set front right channel output level
sl_infloat1010set side left channel input level
sl_outfloat1010set side left channel output level
sr_infloat1010set side right channel input level
sr_outfloat1010set side right channel output level
bl_infloat1010set back left channel input level
bl_outfloat1010set back left channel output level
br_infloat1010set back right channel input level
br_outfloat1010set back right channel output level
bc_infloat1010set back center channel input level
bc_outfloat1010set back center channel output level
lfe_infloat1010set lfe channel input level
lfe_outfloat1010set lfe channel output level
allxfloat-1-115set all channel’s x spread
allyfloat-1-115set all channel’s y spread
fcxfloat0.50.0615set front center channel x spread
flxfloat0.50.0615set front left channel x spread
frxfloat0.50.0615set front right channel x spread
blxfloat0.50.0615set back left channel x spread
brxfloat0.50.0615set back right channel x spread
slxfloat0.50.0615set side left channel x spread
srxfloat0.50.0615set side right channel x spread
bcxfloat0.50.0615set back center channel x spread
fcyfloat0.50.0615set front center channel y spread
flyfloat0.50.0615set front left channel y spread
fryfloat0.50.0615set front right channel y spread
blyfloat0.50.0615set back left channel y spread
bryfloat0.50.0615set back right channel y spread
slyfloat0.50.0615set side left channel y spread
sryfloat0.50.0615set side right channel y spread
bcyfloat0.50.0615set back center channel y spread
win_sizeint4096102465536set window size
win_funcSurroundWinFunchanningrect, bartlett, hanning, hamming, blackman, welch, flattop, bharris, …set window function
overlapfloat0.501set window overlap

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