Measurements

Frequency spectrum (FFT, windows, resolution, weightings)

Definition

The spectrum is the distribution of a signal's energy as a function of frequency. In digital analyzers it is obtained with the discrete Fourier transform of a block of N samples multiplied by a window w[n]:

X[k] = Σ x[n] · w[n] · e^(−j2πkn/N), with n from 0 to N − 1.

The FFT (Fast Fourier Transform) is the algorithm that computes the DFT with a number of operations proportional to N·log2(N). Bin k corresponds to the frequency f_k = k · fs / N; the resolution is Δf = fs / N and the block duration is T = N / fs: frequency resolution and time resolution are inversely proportional (Δf · T = 1).

The window reduces the spectral leakage caused by cutting the block:

WindowMain lobeSide lobes
Rectangular2 bins−13 dB
Hann4 bins−31.5 dB
Hamming4 bins−42.7 dB
4-term Blackman-Harris8 bins−92 dB

Blocks overlap (50–75%) and are averaged (RMS average, exponential average, peak hold). The display uses a logarithmic frequency axis, smoothing in fractions of an octave (1/3, 1/6, 1/12) and often a compensation slope: pink noise, which has the same energy per octave, appears flat with +3 dB/octave; many analyzers use +4.5 dB/octave, close to the average trend of commercial mixes.

Weightings weigh frequencies according to the ear's sensitivity: A (strongly attenuates the lows, −30.2 dB at 50 Hz, −19.1 dB at 100 Hz), C (nearly flat, for high levels), K (ITU-R BS.1770: +4 dB shelving above 1.5 kHz and a high-pass at 38 Hz, used by LUFS), ITU-R 468 (for noise, +12.2 dB at 6.3 kHz).

Parameters and units

  • FFT size (N): 1024–65,536 samples.
  • Resolution at 44.1 kHz: N = 1024 → 43.1 Hz (23 ms); N = 4096 → 10.8 Hz (93 ms); N = 16,384 → 2.7 Hz (372 ms); N = 65,536 → 0.67 Hz (1.49 s).
  • Window: Hann for general use, Blackman-Harris for measurements with a large dynamic excursion.
  • Overlap: 50–75%.
  • Averaging: integration time 0.5–3 s for tonal balance; peak hold for resonances.
  • Display slope: 0, 3 or 4.5 dB/octave.
  • Smoothing: 1/3 octave for the trend, 1/12 or none for resonances.

Musical function

The analyzer shows what listening does not reveal with certainty on imperfect monitors and rooms: energy below 30 Hz, narrow resonances, excesses above 16 kHz, holes between kick and bass. Comparing the average spectrum with a reference in the same genre indicates whether the mix is dark, bright, heavy in the bass or empty in the mids. The analyzer guides decisions; the final judgment remains with listening.

Practical example

  • Resolution in the bass: E1 (41.2 Hz) and F1 (43.65 Hz) are 2.45 Hz apart. With N = 4096 at 44.1 kHz (Δf = 10.8 Hz) the two notes fall in the same lobe and cannot be told apart; with N = 65,536 (Δf = 0.67 Hz) the distance is 3.7 bins, more than the 2-bin width at −6 dB of the Hann window's main lobe, and the two notes separate, at the cost of a block 1.49 s long that does not follow short notes. At 5 kHz a semitone equals 297 Hz and N = 4096 is more than sufficient.
  • Band widths: in the app the Mids band (500–2000 Hz) covers 2 octaves, the Sub band (20–60 Hz) 1.58 octaves, the Ultra highs band (16–20 kHz) 0.32 octaves. With equal energy per octave, the Mids band collects twice the energy of the Presence band (1 octave): per-band values are compared between different files, not between different bands of the same file.

Common mistakes

  • Mixing by looking at the analyzer instead of listening.
  • Reading a single instantaneous block instead of the average over the entire section.
  • Comparing analyzers with different display slopes (0 versus 4.5 dB/octave).
  • Using small FFTs to judge the sub and very large FFTs to judge transients.
  • Assuming that a flat spectrum is the goal: commercial mixes slope down toward the high frequencies.
  • Comparing dB values of bands of different widths as if they were homogeneous.

How to check it

  • App analysis: the spectrum is computed with a 4096-sample FFT and a Hann window on the Mid channel ((L+R)/2) and the Side channel ((L−R)/2), averaged over the whole file. The energy per band is the share of the band's energy out of the total between 20 Hz and 20 kHz (0 dB = all the energy); the spectral curve is averaged over 1/6 octave and normalized to the maximum. For each band the app also reports the width (Side/Mid ratio).
  • Comparison with the reference: analyze the mix and the reference in the app; differences greater than 2–3 dB in the same band indicate a tonal imbalance.
  • Real-time analyzers: Voxengo SPAN (adjustable FFT size, window, slope and averaging), the FabFilter Pro-Q analyzer, FL Studio's Wave Candy in spectrum mode.

Starting settings

ParameterValueWhy
FFT for tonal balance4096–8192 samples, Hann, 1–3 s averageCompromise between resolution and stability.
FFT for the sub16,384–65,536 samplesResolution below 3 Hz to separate low notes.
Overlap50–75%No part of the signal is lost between one block and the next.
Display slope4.5 dB/octaveA balanced mix appears nearly horizontal.
Smoothing1/3 octave (trend), 1/12 (resonances)Reading suited to the purpose.
Loudness weightingK (BS.1770)It is the one used by LUFS measurements.

How to check the result

  • Energy per band of the mix within ±2–3 dB of the reference in the same genre in every band.
  • Sub band consistent with the genre: no significant content below 30 Hz that is not intended.
  • Comparison between files performed with the same FFT, window and slope settings.
  • Resonances are identified with FFT ≥ 8192 and smoothing ≤ 1/12 octave.

Sources

More guides