Blog / Development

Why Multiband Compressors Use Linkwitz-Riley Crossovers (And Not Butterworth)

Open a multiband compressor — FabFilter Pro-MB, Waves C6, the Pro-Q dynamic mode — and bypass every band so it's doing nothing. The output should sound identical to the input. It does. That's not a coincidence; it's the result of a specific filter topology that solves a problem most engineers don't realize exists.

If you split a signal into a low-pass and a high-pass at 1 kHz using ordinary 2nd-order Butterworth filters and sum them back, you don't get the original signal back. You get a +3 dB bump at the crossover frequency. Every band-split processor inherits this problem, and the standard fix has been a paper from 1976.

Why Butterworth crossovers fail

A Butterworth filter is -3 dB at its cutoff frequency. That's the definition of cutoff for a Butterworth. So at the crossover frequency in a band-split, both the low-pass and the high-pass outputs are at -3 dB simultaneously.

If those two signals are in phase, their amplitudes add as vectors. Two unity vectors of length 0.707 (which is -3 dB) summed in phase give a vector of length 1.414. That's +3 dB. The reconstructed signal has a 3 dB peak right where you split the bands.

If they're 180° out of phase, they cancel: -∞ dB null. Either way, the sum is not the original signal. For a speaker crossover, this means the woofer and tweeter together produce either a peak or a notch at the crossover frequency. For a multiband compressor with bands set to unity gain, it means the audio gets louder at every band boundary even with all bands bypassed.

You cannot fix this by lowering the crossover gain, because the magnitude error is frequency-dependent. The peak only happens at the crossover; further out, the bands sum correctly. You need a different filter topology.

The Linkwitz-Riley solution

In 1976, Siegfried Linkwitz and Russ Riley published a crossover design that solved the recombination problem. Their insight: if each filter is -6 dB at the crossover frequency (instead of -3 dB), then two in-phase vectors of length 0.5 sum to length 1.0 — exactly unity gain.

The construction is elegant. Take a Butterworth filter and cascade it with itself. Each Butterworth section contributes -3 dB at cutoff, so two in series give -6 dB. The whole filter is the square of a Butterworth, and so the family is sometimes called "Butterworth squared."

The order convention can confuse you the first time:

  • LR2 (12 dB/oct) = two cascaded 1st-order Butterworths
  • LR4 (24 dB/oct) = two cascaded 2nd-order Butterworths
  • LR8 (48 dB/oct) = two cascaded 4th-order Butterworths

LR4 is the industry standard. Almost every multiband processor you've used — and most modern active loudspeaker crossovers — uses LR4.

The all-pass sum

LR4 has a beautiful property that's the whole reason it dominates. Sum the low-pass and high-pass outputs. The result is not the input signal — but it's also not arbitrary. It's an all-pass response: magnitude is flat (0 dB everywhere), but the phase rotates smoothly through 360° as you sweep through the crossover frequency.

This is the bargain. You get perfect magnitude reconstruction but the audio is shifted in phase, which means there's group delay around the crossover region. For LR4 at a 200 Hz split, the group delay peaks at roughly 1.1 ms — half a wavelength of the crossover frequency. Higher orders have steeper slopes but worse delay peaks: LR8 nearly doubles it.

LR2 has the same all-pass property but with a 180° phase difference between the two outputs at crossover. To get them to sum correctly, you have to invert the polarity of one band. In a passive speaker, that means reversing the tweeter wires. In DSP, it means a sign flip somewhere in your code. This is the source of a class of bugs in homebrew multiband processors: forget the inversion and you get a notch instead of a peak.

LR4 doesn't need the inversion. The two outputs are 360° apart at crossover, which is the same as in-phase. Drop them on the bus, sum, done.

Why this matters for multiband processing

The all-pass reconstruction is conditional. It only works when the two bands have unchanged gain and phase. The instant you start compressing one band, you've broken the symmetry. The compressed band is now level-modulated — its phase relationship with the other band is no longer the static all-pass condition that held in the bypassed state.

This is the source of the audible "phase smear" or "wah-like" artifact some old multiband compressors had: the more aggressive the compression, the more the moving gain interacts with the phase response between bands. You can't avoid this entirely with a minimum-phase crossover; it's a structural consequence of band-splitting.

The modern alternative is to use linear-phase FIR crossovers, which preserve phase across all bands but introduce pre-ringing and large constant latency (often 30-60 ms). FabFilter Pro-MB's "Dynamic Phase" mode and the linear-phase modes in Pro-Q 4 use this approach. It trades phase smear for pre-ring artifacts. Both are real; neither is universally better. LR4 remains the default for low-latency, transient-friendly multiband work because group delay around 1 ms at typical crossovers is below the audibility threshold for most material.

Implementation note

A standard LR4 lowpass is two biquads in series, each a 2nd-order Butterworth lowpass with the same cutoff. Same for the highpass. Total: four biquads per crossover point. A four-band multiband processor needs three crossovers — twelve biquads on the splitting side, plus another twelve on the way out if you need a clean reconstruction path.

One pitfall worth knowing: at low crossover frequencies (below ~80 Hz at 44.1 kHz), single-precision float biquads start to develop noise from coefficient quantization. The fix is double precision in the filter state. This is a recurring item in DSP forum threads and one of those things that's not a bug in your math — it's a bug in your numeric type.

The 1976 paper was originally aimed at loudspeaker designers wrangling woofers and tweeters. Half a century later, every plugin that splits audio into bands quietly relies on it.

Sources: