Blog / Sound Design

"The Hilbert Transform: Why Frequency Shifting Isn't Pitch Shifting"

Photo by Caught In Joy on Unsplash

There's a button on the Buchla 285e and a knob on the Bode/Moog 1630 labeled "frequency shift." Most people who turn it for the first time describe the result the same way: "it's like detuning, except the chord disintegrates." That description is essentially correct, and the reason traces back to a piece of mathematics — the Hilbert transform — that did not exist as a usable analog circuit until the late 1950s and is still implemented as a phase-shifting trick rather than a literal calculation.

Pitch Shift vs Frequency Shift

Take a tone with partials at 100, 200, 300, and 400 Hz — a basic harmonic series.

Apply a pitch shift of one octave up. The result has partials at 200, 400, 600, and 800 Hz. Each frequency was multiplied by 2. The ratios between partials are preserved (1:2:3:4), so the sound is still harmonic — it's the same timbre, just transposed.

Apply a frequency shift of +200 Hz. The result has partials at 300, 400, 500, and 600 Hz. Each frequency had a constant added to it. The ratios are now 3:4:5:6 — still rational, but no longer integer multiples of a fundamental. The sound is inharmonic. It rings like a bell or a metal plate. Played as a sustained note it has no clear pitch; played as a chord it falls apart into clusters.

Multiplication preserves harmonic structure. Addition destroys it. That single distinction is the entire perceptual story of frequency shifting.

Why You Can't Just Multiply by a Sine

The naive approach to "shifting" a frequency: multiply your signal by cos(2π·fc·t). This is amplitude modulation, also known as ring modulation when both signals are bipolar.

The math: by the product-to-sum identity, multiplying cos(2π·f·t) by cos(2π·fc·t) produces two new frequencies — f + fc and f - fc. You get both sidebands. The original 100 Hz tone modulated by a 200 Hz carrier produces components at 300 Hz and -100 Hz (which folds to +100 Hz with phase inversion). Every input frequency creates two outputs, mirrored around the carrier.

This is why ring modulation sounds clangy and metallic but is not a frequency shift. You haven't translated the spectrum — you've duplicated and folded it. To actually shift, you need to suppress one sideband.

The Single-Sideband Trick

The classical engineering technique for suppressing a sideband, originally developed for radio in the 1930s, uses a phase-shift network. Two carriers are needed (sin and cos — a quadrature pair, 90° apart), and the input signal also needs a 90°-shifted copy of itself.

The trick: produce two separate ring modulations using these phase-shifted versions, then add them. The mathematics arranges so that the upper sideband adds constructively (doubled) and the lower sideband cancels exactly. Subtract instead of add and you get the lower sideband while canceling the upper one. The output is a clean, single-sideband translation of the input spectrum — a true frequency shift.

The hard part: that "90°-shifted copy of the input signal." A constant phase shift of 90° across all frequencies is not the same as a fixed time delay. A delay of 1 ms gives you 90° at 250 Hz but 360° at 1 kHz. To phase-shift every frequency by exactly 90°, you need a Hilbert transform.

What the Hilbert Transform Actually Is

Mathematically, the Hilbert transform is a linear filter with a specific frequency response: it passes all frequencies at unity magnitude (no EQ change) and applies a phase shift of -90° to all positive frequencies and +90° to all negative frequencies. The magnitude response is flat. The phase response is a step function at zero.

This is impossible to build perfectly. A true Hilbert filter would be non-causal (its impulse response extends to negative time) and have infinite duration. What engineers build instead are approximations:

  • Analog: Pairs of all-pass filter networks designed so that the phase difference between two paths is approximately 90° across an audio band. The Bode/Moog 1630 used a "Dome Filter" — a 12-pole all-pass network derived from an Electronotes article — that holds 90° to within about ±2° from roughly 30 Hz to 15 kHz. This is the canonical analog circuit.
  • Digital FIR: A windowed approximation of the ideal Hilbert impulse response. Linear phase, predictable group delay, and gives you the freedom to make the approximation as accurate as you can afford samples for. Cost: latency equal to half the filter length.
  • Digital IIR: A pair of all-pass biquad cascades, exactly mirroring the analog approach. Very low CPU cost, but the 90° accuracy is bounded by the design — typically you specify a band like 50 Hz to 18 kHz where it must be accurate to within 0.1°.

The Analytic Signal

Once you have the input x(t) and its Hilbert transform H{x(t)}, you can form the analytic signal: xa(t) = x(t) + j·H{x(t)}, where j is the imaginary unit. This is a complex-valued signal whose spectrum has only positive frequencies — the negative-frequency mirror image is canceled by the construction.

Multiplying an analytic signal by a complex exponential e^(j·2π·fc·t) translates its spectrum by exactly +fc Hz, with no mirror. Take the real part of the result and you have the frequency-shifted signal, real-valued, with one sideband suppressed exactly.

This is the modern way to think about it. The 1950s engineers thought in terms of two real signal paths and 90°-shifted carriers. They were doing the same calculation; they just didn't have complex arithmetic available in hardware. The Hilbert transform is the bridge between the radio-engineering view and the DSP view.

Why Small Shifts Sound Like Detuning

A frequency shift of 1 or 2 Hz applied to a polyphonic signal sounds remarkably like a slow chorus. The reason: small shifts barely disturb harmonic ratios. A 1 Hz shift on a 440 Hz fundamental moves it to 441 Hz — a difference of 4 cents, well within the "natural detune" range. The harmonic at 880 Hz becomes 881 Hz — only 2 cents. The relative inharmonicity is small.

Mix the shifted signal with the original and the slow phase rotation between them produces beating that drifts continuously rather than periodically. This is the classic Bode/Moog 1630 "shimmer" effect that you cannot reproduce with a phaser or chorus, because those modulate phase or pitch around a center — a frequency shift produces unidirectional drift that never returns to phase alignment.

This is also why some studios use frequency shifters as a feedback-reduction tool on live PA: a 5 Hz shift between source and FOH detunes any potential feedback loop just enough to prevent runaway resonance, with minimal audible coloration on speech and most music.

Why Large Shifts Sound Inhuman

Push the shift to 50 Hz or more and the bell-like inharmonicity dominates. A guitar chord becomes a metallic cluster. A vocal becomes a robot. This is the Bode/Buchla effect that defined a specific era of electronic music: the underwater dub klang, the Stockhausen-style spectral disintegration, the Forbidden Planet alien voice.

The reason this sounds so different from pitch shifting is that the inharmonic partials don't fuse perceptually into a single tone. The auditory system's pitch-tracking depends on detecting integer multiples of a fundamental; a frequency-shifted spectrum has no fundamental that fits, so the brain hears each partial as a separate event. The "klang" descriptor is precise — it's a metal-bar sonority because metal bars (unlike strings or air columns) have inharmonic modes by their physics.

What's Inside Your Frequency Shifter Plugin

Open any modern frequency shifter — Soundtoys PhaseMistress's frequency-shifter mode, Eventide H3000-style algorithms, Glitchmachines, the dozens of free Bode-style emulations — and the architecture is unchanged from 1965:

input ──┬── Hilbert real path ──── × cos(2π·fc·t) ──┐
        │                                            ├── (+/-) ── output
        └── Hilbert imag path ──── × sin(2π·fc·t) ──┘

The two paths are an analytic-signal pair (one real, one 90°-shifted). The two carriers are a quadrature pair. Add the products for an upward shift, subtract for a downward shift. Some implementations expose both outputs simultaneously — the Buchla 285e is named the "Frequency Shifter / Balanced Modulator" because it provides up, down, and ring-mod (both summed) outputs from the same circuit.

The only modern addition: the carrier oscillator itself can run at audio rates with FM input, opening up dynamic frequency shifting where the shift amount is itself modulated. This produces sweeping inharmonic effects that no purely linear process — chorus, phaser, pitch-shifter — can reproduce, because the underlying transformation is non-harmonic-preserving by construction.

That last property is what makes a frequency shifter unique in a modern toolkit. Almost every other audio process — EQ, compression, reverb, pitch shift, chorus, distortion — preserves harmonic relationships in some way. Frequency shifting is the rare effect that breaks them on purpose, and it does so via a phase trick from radio engineering that became practical for music exactly once: when Bode and Moog put a 12-pole all-pass network into a synthesizer module in 1972 and called it a Dome Filter.