The supersaw is one of those sounds every producer recognizes instantly — the fat, shimmering lead that powers trance drops, trap melodies, and hyperpop choruses. And every synth plugin that claims "supersaw" is doing some version of the same technique: seven detuned sawtooth voices stacked together with phase randomization, panned across the stereo field.

Here's how to build that, in HISE, from scratch.

Why seven voices, specifically

Seven isn't arbitrary. Roland's original JP-8000 used seven voices because six creates an audible beating pattern and eight starts to muddy the midrange. Seven is the sweet spot where the voices interfere constructively enough to feel wide, but not so much that the pitch center becomes ambiguous.

In HISE, we'll start with a single Waveform Generator set to Saw, then use a Script Processor to add six more voices with controlled detuning.

Step 1 — the base oscillator

Create a new HISE project and drop a single Waveform Generator into the signal chain. Set its type to Saw. This is voice 1 — the center pitch with no detuning. Leave its gain at -6 dB so we have headroom once we stack the other six.

Step 2 — detune the siblings

The trick most tutorials miss: linear detuning sounds worse than logarithmic detuning. If you just spread voices at ±3 cents, ±6 cents, ±9 cents linearly, the highest and lowest voices beat against each other in an audible way. What you want is each voice's detune scaled by a noise-shaped curve — smaller near the center, larger at the edges.

Here's the HISE script inside a Script Processor that handles it:

const var DETUNE_CENTS = [0, -7, -4, -2, 2, 4, 7];
const var PAN = [0, -0.9, -0.5, -0.2, 0.2, 0.5, 0.9];

function onNoteOn() {
  for (var i = 0; i < 7; i++) {
    Synth.playNote(Message.getNoteNumber(), Message.getVelocity());
    Synth.addPitchFade(Synth.getEventId(), 0, DETUNE_CENTS[i], 0);
    Synth.addVolumeFade(Synth.getEventId(), 0, -6, 0);
  }
}

Step 3 — phase randomization

Without phase randomization, all seven voices start their waveforms at the same moment, which creates a nasty transient click on every note-on. Fix it by randomizing each voice's starting phase:

Synth.addPitchFade(eventId, 0, detune, Math.random() * 360);

This is the single change that separates "sounds like a student synth" from "sounds like a commercial plugin." Small technique, enormous impact.

Step 4 — unison width control

Expose a knob called Width that scales the detune and pan arrays. At 0%, all voices collapse to a single saw. At 100%, you get the classic wide supersaw. Linear interpolation on both arrays does the job.

What we skipped (for now)

Real commercial HyperSaw implementations add a Mix parameter that blends in a sub-oscillator, a high-shelf EQ that rolls off harsh frequencies above 8 kHz, and a light chorus to thicken the stereo image further. Those are all straightforward additions once the seven-voice foundation is working — and they're covered in module 3 of the VST Development Course, along with the HISE project files you can fork.

One more thing

The HyperSaw voice allocation has a trap: if you're not careful, playing chords will spawn 7×N voices, and you'll run out of polyphony fast. The fix — a per-note voice stealing strategy — is also in module 3.

Why this sound keeps selling

Every few years someone declares the supersaw "dead" or "overused." Three months later another track built on one is the song of the summer. The sound isn't a trend; it's a primitive. It's the sonic equivalent of a power chord — recognizable, emotionally immediate, works in almost any genre. If you're building a synth and it doesn't have a credible HyperSaw engine, you're leaving revenue on the table. Producers search specifically for "supersaw VST" on Plugin Boutique every day.

That's the commercial case. The technical case is just as compelling: once you understand how seven detuned voices and phase randomization produce that sound, you have the mental model for every unison-based lead technique. Supersaw is a special case of unison detune; once you've built it, adding triangle-based unison, square unison, and hybrid stacks becomes trivial.

Common mistakes I see in student plugins

Three recurring issues when I review student HISE projects:

1. Symmetric detuning. Using [-6, -4, -2, 0, 2, 4, 6] instead of an asymmetric spread like [-7, -4, -2, 0, 2, 4, 7]. The symmetric version has audible nodes where the pitch collapses. Real JP-8000 voicing uses asymmetric ratios for exactly this reason.

2. Fixed pan positions. Hard-coding [-0.9, -0.5, -0.2, 0, 0.2, 0.5, 0.9] without a Width knob means your plugin always sounds the same width. Users want to dial the stereo from mono (for mixing) to full-spread (for solo passages). Make it a parameter.

3. No high-shelf rolloff. Unprocessed HyperSaw hits harsh above 8 kHz because seven saws in unison stack harmonics aggressively. Every commercial supersaw plugin has a gentle high-shelf, usually -3 dB at 10 kHz, baked in. Without it, your synth sounds amateur on the first chord.

What's next

If this landed, the VST Development Course goes deep on everything touched here — voice allocation, asymmetric detuning math, UI patterns for the Width knob, and the three HISE project files you can fork to start your own commercial supersaw synth. Module 3 is the HyperSaw module. Module 7 covers the UI polish. Module 8 is how to actually get a supersaw-centric plugin listed on Plugin Boutique.

Build this one. Ship it. It's the single most marketable sound in commercial synth VSTs, and now you know how it works under the hood.