The Supersaw
Seven sawtooths spread across a detune, and the seven lines around every harmonic get h times further apart as you go up. Measured on A3 at 40 cents, the fundamental swells 53 dB and the beating dies at harmonic 36, where the voices are 183 Hz apart, against 43 predicted from where the clusters touch. At 80 cents it dies at 18 and at 10 cents it never does. That's why a supersaw beats at the bottom and hisses at the top.
What it is
The supersaw: seven sawtooths spread across a detune, which is most of trance and a good deal of everything since. It’s on A3 here, 220 Hz, played as a lead rather than a bass, with the spread switchable between 10, 40 and 80 cents and a switch back to a single saw for comparison.
The spectrogram shows why it sounds the way it does. One saw is a stack of single lines. Seven saws is a stack of seven-line clusters, and the clusters get wider the higher you look.
How it works
Seven voices spread 40 cents outer to outer sit at 217.5, 218.3, 219.2, 220.0, 220.8, 221.7 and 222.6 Hz. At the fundamental they span 5.1 Hz. At harmonic 20 they span 102 Hz, because every voice’s harmonic h is h times its fundamental and so the whole cluster stretches by h. The harmonics themselves stay 220 Hz apart no matter what.
So there’s a harmonic where the cluster is as wide as the gap to the next harmonic and the clusters run into each other. From the arithmetic that’s where h times (2 to the power c over 1200, minus 1) reaches 1: harmonic 43 at 40 cents, 22 at 80 cents, 173 at 10 cents.
What that does to the sound is the measurement. The page watches the level in a band about 80 Hz wide sitting on each harmonic and reports how far it swings. Low down, all seven voices are inside that band, they beat against each other, and the level swings about 50 dB. High up the voices are spread wider than the band, so it only ever sees one or two of them, the level sits still, and what you hear is a dense picket of steady lines rather than anything beating.
The crossover is sharp. At 40 cents the swing is above 50 dB up to harmonic 24, 10 dB at 32, and under 1 dB from 40 up: the beating dies at harmonic 36, where the seven voices are 183 Hz apart. At 80 cents it dies at 18. At 10 cents it never dies inside the audible harmonics, which is what the arithmetic said, 173 being past the top of the range.
The sound is seven sawtooth oscillators with their detune set in cents, and rendered offline it gives the same crossover harmonic in every case, 36, 18 and never, and a crest factor within 0.3 dB. The swing figures differ by a few dB between the two renders, because how far a cluster swings depends on the phase the voices happen to start in, which is why the post says about 50 rather than a number to the decimal.
What surprised me
A supersaw is two sounds, and the join is measurable. Below harmonic 36 it’s a beating chorus. Above it it’s hiss. Not a metaphor: the level in a band stops moving, and it stops moving over about four harmonics. Widening the detune drags that join down: at 80 cents half of what you hear is above the join, at 10 cents none of it is. Which means the detune knob is not a width control, it’s a control over how much of the sound is pitched and how much is noise, and the “wider is bigger” instinct is buying hiss.
Two of my measurements were wrong before this one worked.
The first tried to find the crowding harmonic by looking for the spectrum’s gaps filling in. There are no gaps to fill. The renderer sums sines, so between the lines there’s nothing at all, and the dip between two harmonics measured 130 dB deep at every harmonic whatever the detune. A cluster spreading out doesn’t become continuous, it becomes seven lines spread over a wider space, still with silence between them. The crowding is a fact about where lines sit, not about energy filling the gaps, and asking a spectrum about it that way gets a meaningless answer.
The second read a single harmonic and called it. Above the crossover the reading is erratic, 30 dB at one harmonic and 0 at the next, because which of the seven lines lands inside a fixed 80 Hz band depends on the harmonic number. Requiring four harmonics in a row under the threshold makes the answer the same at any threshold between 4 and 9 dB, which is how I know it’s the sound and not the setting.
And the test suite reported a failure that wasn’t one. Each render is seven voices of a hundred harmonics over four seconds, about two seconds of work, and a test that renders its own runs past vitest’s five second limit and reports as failed with nothing wrong in it. Day 78 hit this and I hit it again. The renders are hoisted to the top of the file now.
What I would do next
The real JP-8000 curve. Its detune knob isn’t linear in cents, it’s a seventh order polynomial that Adam Szabo reverse engineered, and the voices are not evenly spread either. Measuring the crossover harmonic against the real curve would say whether Roland put the join where it is on purpose.
Then the same measurement on a filter sweep, because a supersaw almost always has a lowpass on it, and a filter closing down past the crossover harmonic is a filter taking the hiss out and leaving the chorus. The knob that makes a supersaw sound expensive might just be the one that keeps it under the join.