Skip to main content

Introduction

FFmpeg provides over 100 audio filters for processing, analyzing, and transforming audio streams. This reference documents filters found in the libavfilter/af_*.c source files.

Filter Usage

Apply audio filters using the -af or -filter:a option:
ffmpeg -i input.mp3 -af "volume=0.5,aecho=0.8:0.9:1000:0.3" output.mp3

Volume and Dynamics

volume

Change input volume with support for expressions. Parameters:
  • volume - Volume adjustment expression (default: 1.0)
  • precision - Mathematical precision: fixed, float, double
  • eval - When to evaluate: once, frame
  • replaygain - Apply replaygain: drop, ignore, track, album
  • replaygain_preamp - Pre-amplification in dB (-15 to 15)
  • replaygain_noclip - Prevent clipping (default: 1)
Examples:
# Reduce volume by 50%
ffmpeg -i input.mp3 -af volume=0.5 output.mp3

# Increase volume by 10dB
ffmpeg -i input.mp3 -af volume=10dB output.mp3

# Dynamic volume based on timestamp
ffmpeg -i input.mp3 -af "volume='if(lt(t,10),0.5,1.0)':eval=frame" output.mp3

compand

Compress or expand audio dynamic range. Description: Multi-band compression/expansion with attack, decay, and makeup gain. Examples:
# Basic compression
ffmpeg -i input.wav -af compand output.wav

# Custom compression curve
ffmpeg -i input.wav -af "compand=0.3|0.3:1|1:-90/-60|-60/-40|-40/-30|-20/-20:6:0:-90:0.2" output.wav

loudnorm

EBU R128 loudness normalization. Description: Normalize audio to broadcast standards. Examples:
# Normalize to -16 LUFS
ffmpeg -i input.mp3 -af loudnorm=I=-16:LRA=11:TP=-1.5 output.mp3

# Two-pass normalization
ffmpeg -i input.mp3 -af loudnorm=print_format=json -f null -

alimiter

Audio limiter to prevent clipping. Examples:
ffmpeg -i input.wav -af alimiter=limit=0.5:attack=5:release=50 output.wav

acompressor

Audio compressor with sidechain support. Examples:
ffmpeg -i input.wav -af acompressor=threshold=-20dB:ratio=4:attack=5:release=50 output.wav

adrc

Audio dynamic range controller. Examples:
ffmpeg -i input.wav -af adrc output.wav

Equalization and Filtering

equalizer

Apply two-pole peaking equalizer. Examples:
# Boost 1kHz by 10dB
ffmpeg -i input.mp3 -af equalizer=f=1000:width_type=h:width=200:g=10 output.mp3

bass / highpass / lowpass / bandpass

Frequency-based filters. Examples:
# Bass boost
ffmpeg -i input.mp3 -af bass=g=10:f=100:w=0.5 output.mp3

# High-pass filter at 200Hz
ffmpeg -i input.mp3 -af highpass=f=200 output.mp3

# Low-pass filter at 3000Hz
ffmpeg -i input.mp3 -af lowpass=f=3000 output.mp3

anequalizer

Graphic equalizer with custom frequency response. Examples:
ffmpeg -i input.mp3 -af anequalizer="c0 f=1000 w=100 g=-10 | c1 f=2000 w=200 g=5" output.mp3

firequalizer

Finite impulse response equalizer. Examples:
ffmpeg -i input.mp3 -af firequalizer=gain='if(lt(f,1000),0,10)' output.mp3

aiir

Infinite impulse response filter. Examples:
ffmpeg -i input.wav -af aiir=z="1 -2 1":p="1 -0.9 0.81" output.wav

Effects and Processing

aecho

Add echoing to the audio. Parameters:
  • in_gain - Signal input gain (0 to 1, default: 0.6)
  • out_gain - Signal output gain (0 to 1, default: 0.3)
  • delays - List of delays in milliseconds (default: 1000)
  • decays - List of decay factors (default: 0.5)
Examples:
# Single echo at 1 second
ffmpeg -i input.mp3 -af aecho=0.8:0.9:1000:0.3 output.mp3

# Multiple echoes
ffmpeg -i input.mp3 -af aecho=0.8:0.88:60|180|1000:0.4|0.3|0.2 output.mp3

reverb (via afir)

Add reverberation using impulse response. Examples:
ffmpeg -i input.wav -i impulse.wav -lavfi afir output.wav

aphaser

Add phasing effect. Examples:
ffmpeg -i input.mp3 -af aphaser=in_gain=0.4:out_gain=0.74:delay=3:decay=0.4:speed=0.5 output.mp3

aflanger

Add flanging effect. Examples:
ffmpeg -i input.mp3 -af flanger output.mp3

chorus

Add chorus effect. Examples:
ffmpeg -i input.mp3 -af chorus=0.5:0.9:50|60|40:0.4|0.32|0.3:0.25|0.4|0.3:2|2.3|1.3 output.mp3

tremolo

Add tremolo effect. Examples:
ffmpeg -i input.mp3 -af tremolo=f=5:d=0.5 output.mp3

vibrato

Add vibrato effect. Examples:
ffmpeg -i input.mp3 -af vibrato=f=5:d=0.5 output.mp3

Noise Reduction

afftdn

Denoise audio using FFT. Examples:
ffmpeg -i noisy.wav -af afftdn=nf=-25 output.wav

anlmdn

Non-local means denoise. Examples:
ffmpeg -i noisy.wav -af anlmdn output.wav

arnndn

Reduce noise using RNN. Examples:
ffmpeg -i noisy.wav -af arnndn=model=model.rnnn output.wav

afwtdn

Wavelet denoising. Examples:
ffmpeg -i noisy.wav -af afwtdn output.wav

adeclick / adeclip

Remove clicks and pops from audio. Examples:
ffmpeg -i audio.wav -af adeclick output.wav
ffmpeg -i audio.wav -af adeclip output.wav

Mixing and Routing

amix

Mix multiple audio streams. Examples:
ffmpeg -i music.mp3 -i voice.mp3 -filter_complex "[0:a][1:a]amix=inputs=2:duration=longest" output.mp3

amerge

Merge multiple audio streams into multi-channel. Examples:
ffmpeg -i left.wav -i right.wav -filter_complex "[0:a][1:a]amerge=inputs=2" stereo.wav

pan

Remix audio channels. Examples:
# Stereo to mono
ffmpeg -i stereo.mp3 -af pan="mono|c0=0.5*c0+0.5*c1" mono.mp3

# Swap left and right
ffmpeg -i input.mp3 -af pan="stereo|c0=c1|c1=c0" output.mp3

channelsplit

Split audio channels into separate streams. Examples:
ffmpeg -i stereo.wav -filter_complex "channelsplit" -map 0:0 left.wav -map 0:1 right.wav

channelmap

Remap audio channels. Examples:
ffmpeg -i input.wav -af channelmap=0-FL|1-FR output.wav

join

Join multiple audio streams. Examples:
ffmpeg -i left.wav -i right.wav -filter_complex "[0:a][1:a]join=inputs=2:channel_layout=stereo" stereo.wav

Time-based Processing

adelay

Delay audio channels. Examples:
# Delay by 1 second
ffmpeg -i input.mp3 -af adelay=1000|1000 output.mp3

# Delay right channel by 100ms
ffmpeg -i stereo.mp3 -af adelay=0|100 output.mp3

atempo

Adjust audio tempo without changing pitch. Examples:
# Speed up by 1.5x
ffmpeg -i input.mp3 -af atempo=1.5 output.mp3

# Slow down by 0.5x
ffmpeg -i input.mp3 -af atempo=0.5 output.mp3

asetrate / atempo

Change sample rate or tempo. Examples:
ffmpeg -i input.mp3 -af asetrate=44100*1.5,aresample=44100 output.mp3

aresample

Resample audio. Examples:
ffmpeg -i input.wav -af aresample=48000 output.wav

Analysis and Metadata

astats

Show audio statistics. Examples:
ffmpeg -i input.mp3 -af astats -f null -

volumedetect

Detect audio volume levels. Examples:
ffmpeg -i input.mp3 -af volumedetect -f null -

silencedetect

Detect silence in audio. Examples:
ffmpeg -i input.mp3 -af silencedetect=n=-50dB:d=1 -f null -

ebur128

Measure EBU R128 loudness. Examples:
ffmpeg -i input.mp3 -af ebur128=peak=true -f null -

aspectralstats

Show spectral statistics. Examples:
ffmpeg -i input.mp3 -af aspectralstats -f null -

Format and Conversion

aformat

Force audio format. Examples:
ffmpeg -i input.wav -af aformat=sample_fmts=s16:channel_layouts=stereo output.wav

aresample

Resample audio to different sample rate. Examples:
ffmpeg -i input.wav -af aresample=48000 output.wav

Additional Filters

Complete Audio Filter List

FFmpeg includes these audio filters (from libavfilter/af_*.c):
FilterDescription
aapAudio AAP filter
acontrastSimple audio dynamic range compression
acopyCopy audio stream unchanged
acrossoverSplit audio into frequency bands
acrusherReduce audio bit depth
adeclickRemove impulsive noise
adecorrelateDecorrelate audio channels
adelayDelay audio channels
adenormRemedy denormal floating point values
aderivativeCompute derivative of audio
adrcAudio dynamic range compression
adynamicequalizerDynamic equalizer
adynamicsmoothDynamic smoothing
aechoAdd echo effect
aemphasisAudio emphasis/de-emphasis
aexciterEnhance higher frequencies
afadeFade in/out audio
afftdnFFT-based noise reduction
afftfiltApply FFT filtering
afirApply finite impulse response filter
afreqshiftShift audio frequencies
afwtdnWavelet denoising
agateAudio gate
aiirApply IIR filter
alimiterAudio limiter
amergeMerge audio streams
amixMix audio streams
amultiplyMultiply audio streams
anequalizerGraphic equalizer
anlmdnNon-local means denoiser
anlmsAdaptive LMS filter
anullPass audio unchanged
apadPad audio with silence
aphaserPhaser effect
apsyclipPsychoacoustic clipper
apulsatorAudio pulsator
aresampleResample audio
arlsRecursive least squares filter
arnndnRNN-based denoiser
asdrMeasure signal-to-distortion ratio
asetnsamplesSet number of samples
asetrateChange sample rate
ashowinfoShow audio info
asoftclipSoft audio limiter
aspectralstatsSpectral statistics
asrAutomatic speech recognition
astatsAudio statistics
atempoAdjust tempo
axcorrelateCross-correlate audio

See Also

Build docs developers (and LLMs) love