image

Harmonic Exciters: How They Work

May 12, 2025

If you've mixed audio, you've probably reached for an exciter when something sounds dull or lacks presence. But what's actually happening inside?

What is a Harmonic Exciter

An exciter adds harmonic content that wasn't there originally. Not boost — add. It synthesizes new overtones, typically even harmonics (2nd, 4th) for warmth or odd harmonics (3rd, 5th) for edge and aggression.

The ear perceives these added harmonics as brightness, presence, or "air" — even at low levels. It's psychoacoustic enhancement, not EQ.

The Architecture

Three stages:

1. Frequency Split A high-pass filter isolates the frequency band you want to excite. You don't want to distort the whole signal — just the top end (typically 3kHz+).

2. Nonlinear Processor The isolated band gets passed through a waveshaper or soft-clipper. This is where harmonics are generated. The nonlinearity introduces new frequency content at integer multiples of the input frequencies.

3. Blend The generated harmonics are mixed back with the dry signal at a controlled level. The original signal is untouched — you're only adding.

Harmonic exciter signal flow — dry path, HPF, waveshaper, blend

The DSP

High-pass filter — a simple biquad:

// biquad HPF coefficients
const f0 = 3000        // cutoff frequency
const Q  = 0.707       // butterworth
const w0 = 2 * Math.PI * f0 / sampleRate
const alpha = Math.sin(w0) / (2 * Q)

const b0 =  (1 + Math.cos(w0)) / 2
const b1 = -(1 + Math.cos(w0))
const b2 =  (1 + Math.cos(w0)) / 2
const a0 =   1 + alpha
const a1 =  -2 * Math.cos(w0)
const a2 =   1 - alpha

Waveshaper — soft clip for even harmonics (tape-like warmth):

function softClip(x, drive) {
  x *= drive
  return x / (1 + Math.abs(x))  // soft saturation — adds 2nd, 3rd harmonics
}

For odd harmonics only (more aggressive, transistor-like):

function oddHarmonics(x, drive) {
  x *= drive
  return Math.tanh(x)  // tanh is odd-symmetric — suppresses even harmonics
}

The blend:

output[i] = dry[i] + mix * softClip(hpf(dry[i]), drive)

The Nuance

The drive amount is everything. Too little — inaudible. Too much — distortion that sounds like distortion, not enhancement.

Most commercial exciters also add frequency-dependent compression on the harmonic path so the added content ducks slightly on transients — keeping the enhancement subtle and musical.

It's a small piece of DSP but it's one of those things where understanding the math makes you hear it differently.