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_outstring——set output channel layout
chl_instring——set input channel layout
level_infloat10–10set input level
level_outfloat10–10set output level
lfebooltrue—output LFE
lfe_lowint1280–256LFE low cut off
lfe_highint2560–512LFE high cut off
lfe_modeSurroundLfeModeaddadd, subset LFE channel mode
smoothfloat00–1set temporal smoothness strength
anglefloat900–360set soundfield transform angle
focusfloat0-1–1set soundfield transform focus
fc_infloat10–10set front center channel input level
fc_outfloat10–10set front center channel output level
fl_infloat10–10set front left channel input level
fl_outfloat10–10set front left channel output level
fr_infloat10–10set front right channel input level
fr_outfloat10–10set front right channel output level
sl_infloat10–10set side left channel input level
sl_outfloat10–10set side left channel output level
sr_infloat10–10set side right channel input level
sr_outfloat10–10set side right channel output level
bl_infloat10–10set back left channel input level
bl_outfloat10–10set back left channel output level
br_infloat10–10set back right channel input level
br_outfloat10–10set back right channel output level
bc_infloat10–10set back center channel input level
bc_outfloat10–10set back center channel output level
lfe_infloat10–10set lfe channel input level
lfe_outfloat10–10set lfe channel output level
allxfloat-1-1–15set all channel’s x spread
allyfloat-1-1–15set all channel’s y spread
fcxfloat0.50.06–15set front center channel x spread
flxfloat0.50.06–15set front left channel x spread
frxfloat0.50.06–15set front right channel x spread
blxfloat0.50.06–15set back left channel x spread
brxfloat0.50.06–15set back right channel x spread
slxfloat0.50.06–15set side left channel x spread
srxfloat0.50.06–15set side right channel x spread
bcxfloat0.50.06–15set back center channel x spread
fcyfloat0.50.06–15set front center channel y spread
flyfloat0.50.06–15set front left channel y spread
fryfloat0.50.06–15set front right channel y spread
blyfloat0.50.06–15set back left channel y spread
bryfloat0.50.06–15set back right channel y spread
slyfloat0.50.06–15set side left channel y spread
sryfloat0.50.06–15set side right channel y spread
bcyfloat0.50.06–15set back center channel y spread
win_sizeint40961024–65536set window size
win_funcSurroundWinFunchanningrect, bartlett, hanning, hamming, blackman, welch, flattop, bharris, …set window function
overlapfloat0.50–1set 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.