50 · Spectral Domain

Draw on the Spectrum · Spectral EQ

We have learned how to get into the frequency domain and safely get back out again. Now stop looking at the bins and change them.

1 · The entire idea

Y[k] = X[k] × G[k]

X[k] is the incoming FFT. G[k] is the gain curve we draw. Y[k] is the changed spectrum. Once again, the operation doing the work is simply MULTIPLY.

AUDIO→ WINDOW→ FFT→ × YOUR CURVE→ IFFT→ OVERLAP-ADD

2 · Load something and draw

DRAWABLE GAIN CURVE · drag across frequency

Cursor frequency—
Gain—
FFT size1024
Overlap75%
Load an audio file to begin.

The display is logarithmic from 20 Hz to 20 kHz (or Nyquist, if lower). FFT bins themselves remain linearly spaced internally; the log axis is only the way we draw and edit the curve.

3 · Before and after

INPUT SPECTRUM

OUTPUT SPECTRUM

Pull part of the curve down. Those FFT coefficients are multiplied by smaller values. The corresponding part of the output spectrum falls away.

4 · What did you actually draw?

0 dB → G[k] = 1
leave that frequency unchanged
−60 dB → G[k] ≈ 0.001
almost remove it

The gain value is applied to the complex FFT coefficient, so its magnitude changes while its phase is retained.

5 · We have built a filter from the other side

TIME DOMAIN
delay → × coefficients → +
FREQUENCY DOMAIN
FFT bins → × gain curve → IFFT
These worlds are connected: multiplication in frequency corresponds to convolution in time.
Next · Spectral Playground

EQ is only the beginning

FREEZEGATEBLUR SCRAMBLEDELAYMORPH

The analyser has become an instrument.