FFmpeg 7.1
Since* 4.1
#

Split audio stream into several bands.

This filter splits audio stream into two or more frequency ranges. Summing all streams back will give flat output.

The filter accepts the following options:

split

Set split frequencies. Those must be positive and increasing.

order

Set filter order for each band split. This controls filter roll-off or steepness of filter transfer function. Available values are:

2nd

12 dB per octave.

4th

24 dB per octave.

6th

36 dB per octave.

8th

48 dB per octave.

10th

60 dB per octave.

12th

72 dB per octave.

14th

84 dB per octave.

16th

96 dB per octave.

18th

108 dB per octave.

20th

120 dB per octave.

Default is 4th.

level

Set input gain level. Allowed range is from 0 to 1. Default value is 1.

gains

Set output gain for each band. Default value is 1 for all bands.

precision

Set which precision to use when processing samples.

auto

Auto pick internal sample format depending on other filters.

float

Always use single-floating point precision sample format.

double

Always use double-floating point precision sample format.

Default value is auto.

#

Examples

  • Split input audio stream into two bands (low and high) with split frequency of 1500 Hz, each band will be in separate stream:

    ffmpeg -i in.flac -filter_complex 'acrossover=split=1500[LOW][HIGH]' -map '[LOW]' low.wav -map '[HIGH]' high.wav
  • Same as above, but with higher filter order:

    ffmpeg -i in.flac -filter_complex 'acrossover=split=1500:order=8th[LOW][HIGH]' -map '[LOW]' low.wav -map '[HIGH]' high.wav
  • Same as above, but also with additional middle band (frequencies between 1500 and 8000):

    ffmpeg -i in.flac -filter_complex 'acrossover=split=1500 8000:order=8th[LOW][MID][HIGH]' -map '[LOW]' low.wav -map '[MID]' mid.wav -map '[HIGH]' high.wav