Remove Background Noise from Audio with ffmpeg afftdn
Clean constant hiss, hum, or fan noise out of a recording using ffmpeg's FFT denoise filter, in one command.
Run ffmpeg -i noisy.wav -af "afftdn=nf=-25" clean.wav to denoise and re-encode the audio.
01Command
Command
$ ffmpeg -i noisy.wav -af "afftdn=nf=-25" clean.wav02What it does
afftdn is ffmpeg's built-in FFT-based denoiser: it estimates the noise floor and suppresses the steady components below it. The nf value (in dB, around -20 to -35) sets how aggressively noise is cut — start at -25 and adjust: more negative means stronger reduction but can make voices sound underwater. It works best on constant noise (fans, hiss, mains hum), not on babble or music, and you can chain it with -af "highpass=f=80,afftdn=nf=-25" to also remove rumble.
03Risk
!Warning: Over-aggressive denoising produces metallic, watery artifacts on speech — keep the original file and compare before committing, and never run denoising twice on the same audio.
04Undo
✓No undo needed — this command does not change persistent state.
05Sources
- FFmpeg Filters — afftdn (FFT denoiser)Evidence: Documents the afftdn audio filter and its nf (noise floor) parameter for reducing broadband noise.
- ffmpeg(1) — Linux manual page (-af)Evidence: Describes -af for applying an audio filter chain and re-encoding the output.
Last verified: 2026-09-18 · Category: Media