Sigma

Additive synthesis voice for VCV Rack

Sigma VCV Rack module panel, an additive synthesizer with a spectrum display, five tabs, a mod matrix and rows of macro trimpots

Sigma is an additive voice after the Crumar GDS.

Nothing here generates a waveform or filters anything away. The output is a sum of sines, and every control is a statement about what enters that sum. It is named for the summation sign.

16, 32 or 64 partials, sixteen voices. 34 HP.

The bet

The GDS gave each oscillator a 16-stage amplitude and frequency envelope, plus two velocity-interpolated envelope sets. That is 512 breakpoints per voice, which is why it needed a $30,000 computer to program it.

Sigma bets that the behaviour survives two numbers per partial, envelope depth and envelope rate, because what makes a struck tone sound struck is that its high partials die sooner, not merely quieter.

Every macro is a curve across the partial index

That is the whole design. A macro does not set a value, it sets how a value varies from the first partial to the last.

MacroWhat it spreads
TILTLevel. The spectral slope.
ODD/EVENBalance between odd and even partials.
STRETCHPitch, as real string inharmonicity.
WIDTHPan. Positive fans the partials outward in order; negative scatters them.
ENV RATEEnvelope rate. Highs die sooner.
ENV SPREADEnvelope start time, so the tone blooms upward, or the highs speak first and the fundamental builds underneath them.
MORPHWhere between the two spectra velocity sits.
CUTOFF, RESA spectral filter. It removes partials from the sum rather than filtering the output.

Velocity morphs the spectrum, it does not scale it

There are two complete level sets, SOFT and LOUD, and velocity crossfades between them. A quiet note is a different timbre, not a quieter copy of a loud one, which is what a real instrument does.

MORPH is the centre of that range, and MORPH SENS in the context menu is how much of it velocity commands. Past halfway the blend hardens into a switch, which is how one preset puts two instruments under one keyboard.

Controls

Macros: TILT, ODD/EVEN, WIDTH, STRETCH and MORPH, each a trimpot over its CV jack. CUTOFF and RES sit together on the right.

Envelope: A, D, S, R. The tooltips read milliseconds, not percentages.

Spread: ENV RATE and ENV SPREAD, each a trimpot with its jack alongside.

LFOs: three, each with rate, depth, spread and a sync input.

Inputs and outputs

The bottom row is the transport row: GATE, V/OCT and VEL, all polyphonic, then VCA, then L and R out on a plate at the right. There is a CV jack for every macro.

The screen

Five tabs over one shared spectrum, plus a mod matrix and a pan block.

TabWhat it holds
LOUDThe spectrum at full velocity.
SOFTThe same partials at zero velocity.
PITCHPer-partial detune.
DEPTHPer-partial envelope depth. Below the zero line, the partial is inverted.
RATEPer-partial envelope rate.

LOUD and SOFT are one control in two halves: the two spectra velocity crosses between. The MORPH bar along the foot runs between the same two words.

The live spectrum is drawn as a filled area rather than as bars. Sixty-four bars two pixels wide stopped being a spectrum and became a comb, and bars imply the partials are separate buckets when what they trace is one curve.

The mod matrix is 4 sources (LFO 1 to 3, and the envelope) by 6 destinations (level, pitch, pan, tilt, stretch, cutoff), bipolar. Each cell is a dot resting on its zero line rather than a bar growing from it: a bar has area, and area reads as quantity even at 5%, so an untouched matrix looked busy.

Hover anything on the screen to read what it is and what it is set to.

Presets

21 of them, grouped by the mechanism each exercises rather than by timbre, because a preset is the cheapest way to find out whether a control works.

Ramp, Square, Drawbar Organ, E-piano, Vibraphone, Marimba, Bell, Tubular Bells, Singing Bowl, Gong, Psychedelic Gong, Bowed, Choir, Vowel, CS-80, Touch Switch, Bloom, Cloud, Rotor, Acid, Ensemble.

A few worth knowing what they are for:

  • Marimba is what exposed the PITCH tab spanning two cents instead of two octaves. A tuned bar is undercut so its first overtone is a fourth above, which needs real pitch offsets.
  • Bowed is ENV SPREAD’s negative half: the highs speak first and the fundamental builds underneath.
  • Bloom is its positive half, plus negative DEPTH.
  • Cloud is WIDTH fully negative, the scatter rather than the fan.
  • Acid is the only preset where the spectral filter is the instrument.
  • Ensemble uses PITCH as fine detune.
  • Rotor is pan spread, with LFO 2 sweeping it.

Context menu

Preset, Partials (16, 32 or 64), Voice allocation (first available or rolling), PITCH tab snapping (free, cents, semitones or octaves), Touch response (velocity to level, where its range sits, and velocity to timbre), and LFO delay and random per LFO. Random also frees each voice’s phase, so periodic locks the voices together and aperiodic lets them drift apart.

Two faults worth recording

Both were audible and neither was where it seemed to be.

The clicking was the note-on, not the attack. A note-on zeroed the VCA outright, so retriggering a still-sounding voice threw the output to silence in one sample, measured at 0.55 to 0.94 of full scale on thirteen of fourteen presets. The envelope now re-attacks from wherever it already is.

ENV RATE was multiplying the attack as well as the decay, though it means “highs die sooner”. A 64-partial Gong’s top partial opened in 92 µs, far less than one cycle of anything it was playing, and an envelope segment shorter than a cycle is a step. The spread is now confined to decay and release.

Pair with