FFmpeg 4.0.6
Since* 4.0
#

Apply an arbitrary Infinite Impulse Response filter.

It accepts the following parameters:

z

Set numerator/zeros coefficients.

p

Set denominator/poles coefficients.

k

Set channels gains.

dry_gain

Set input gain.

wet_gain

Set output gain.

f

Set coefficients format.

tf

transfer function

zp

Z-plane zeros/poles, cartesian (default)

pr

Z-plane zeros/poles, polar radians

pd

Z-plane zeros/poles, polar degrees

r

Set kind of processing. Can be d - direct or s - serial cascading. Defauls is s.

e

Set filtering precision.

dbl

double-precision floating-point (default)

flt

single-precision floating-point

i32

32-bit integers

i16

16-bit integers

Coefficients in tf format are separated by spaces and are in ascending order.

Coefficients in zp format are separated by spaces and order of coefficients doesn’t matter. Coefficients in zp format are complex numbers with i imaginary unit.

Different coefficients and gains can be provided for every channel, in such case use ’|’ to separate coefficients or gains. Last provided coefficients will be used for all remaining channels.

#

Examples

  • Apply 2 pole elliptic notch at arround 5000Hz for 48000 Hz sample rate:

    aiir=k=1:z=7.957584807809675810E-1 -2.575128568908332300 3.674839853930788710 -2.57512875289799137 7.957586296317130880E-1:p=1 -2.86950072432325953 3.63022088054647218 -2.28075678147272232 6.361362326477423500E-1:f=tf:r=d
  • Same as above but in zp format:

    aiir=k=0.79575848078096756:z=0.80918701+0.58773007i 0.80918701-0.58773007i 0.80884700+0.58784055i 0.80884700-0.58784055i:p=0.63892345+0.59951235i 0.63892345-0.59951235i 0.79582691+0.44198673i 0.79582691-0.44198673i:f=zp:r=s