Oscillators
Complex Osc
The complex oscillator — two oscillators, FM, and a wavefolder in one module — the heart of West Coast synthesis.
Try one in your browser →
What is a Complex Osc?
A complex oscillator is two oscillators, frequency modulation between them, and a wavefolder — packaged as a single voice. Where a VCO produces sound that you then carve with a filter (the subtractive East Coast tradition), a complex oscillator produces sound that is *already* harmonically rich at its source and uses FM and folding to *build* harmonics rather than remove them. That difference is what people mean by West Coast synthesis.
The architecture is famously associated with Don Buchla and the Buchla 259, designed in the early 1970s, and was revived for modern Eurorack by Make Noise with the DPO and Verbos Electronics with the Complex Oscillator. The two oscillators are typically called the modulator and the primary (or carrier). The modulator's output frequency-modulates the primary; the primary's sine output is then sent through a wavefolder that folds the waveform back on itself when the amplitude exceeds a threshold, generating new odd harmonics.
What makes the result distinctive is *how the harmonics behave under modulation*. With a subtractive patch, modulating a filter cutoff sweeps the brightness in a familiar way. With a complex oscillator, modulating the FM index or the fold depth reorganizes the harmonic content itself — partials appear, vanish, and recombine in ways no filter can produce. The classic Buchla sound — bell-like, hollow, metallic, clangorous one moment and singing the next — comes directly from this.
Pitch is shared between both oscillators (so they track in unison from 1V/Oct), but their tuning can be detuned independently, and the modulator's waveform shape (sine, triangle, saw) drastically changes the FM result. Linear thru-zero FM keeps musical interval relationships intact when the modulation is deep; exponential FM is closer to a traditional vibrato until pushed.
Our Complex Osc
Our Complex Osc follows the Buchla 259 / Make Noise DPO topology directly. Two oscillators with their own coarse/fine tuning, the modulator selectable between sine, triangle, and saw shapes, and a Buchla-style sine wavefolder on the primary's output. The fold path uses the formula y = sin((x + offset) * fold * π) — a smooth, sine-based folder rather than a hard-clipped one, so the harmonic enrichment stays musical even at extreme depths.
Both linear (thru-zero capable) and exponential FM modes are available. Linear FM is what you want for clean, harmonically-locked FM bells and singing tones; exponential FM is what gives you the chaotic, drifting Buchla growl. The FM index knob plus dedicated CV input makes the depth easy to modulate over time.
Three audio outputs run simultaneously: MOD (modulator before FM), SIN (primary sine *before* the wavefolder), and FOLD (the wavefolded result). Tap any combination — clean carrier, raw modulator, fully-folded wave — and mix them externally. Symmetry has its own attenuverted CV, fold depth has its own attenuverted CV, and a hard sync input locks the primary's phase to the modulator's cycle for classic hard-sync timbres.
In a patch
Because a complex oscillator already produces a harmonically rich, evolving sound at its output, you do not always need a filter after it. A complete West Coast voice is often: ComplexOsc → VCA (with a function generator on the CV input doing both envelope and modulation duty) → output. The low-pass gate — vactrol-based, slightly mellow — is the classic West Coast amplifier, but a regular VCA works too.
Patch an envelope or LFO into the FOLD CV input, and the harmonic content sweeps with the note — a more interesting alternative to a filter sweep. Patch the same modulation into FM index and the timbre evolves in a different direction. Combining both — envelope to fold, slow LFO to FM index — produces sounds that feel hand-played even when they are not.
The modulator output is also a usable signal in its own right. Patch it as a sound source, or use it to modulate a *third* module (a filter, a pan, a different VCO's FM input). The complex oscillator becomes both the voice and one of its own modulators.
Inputs
- V/Oct (cv) — Pitch control for the primary oscillator. 1V per octave standard. 0V = C4. This also normalizes to the modulator V/Oct input when it is unpatched, keeping both oscillators in tune.
- V/Oct Mod (cv) — Separate pitch control for the modulator oscillator. When unpatched, it follows the primary V/Oct input. Patch this to set the modulator to an independent pitch.
- FM (cv) — External FM input. Adds to the internal modulator FM signal. Use for adding vibrato from an LFO or cross-modulation from another oscillator.
- Fold CV (cv) — Voltage control for fold depth. Scaled by the Fold attenuverter. Patch an envelope here to make the timbre brighten on each note attack.
- Symmetry CV (cv) — Voltage control for symmetry offset. Scaled by the Symmetry attenuverter. Modulating symmetry creates formant-like, vocal quality shifts.
- Sync (gate) — Hard sync input. Resets the primary oscillator phase on each rising edge. Only active when the Sync toggle is enabled.
Outputs
- MOD (audio) — Raw modulator oscillator output. Useful for sending to other modules or monitoring what the internal modulator sounds like on its own.
- SIN (audio) — Primary oscillator sine output before the wavefolder. A clean sine tone at the primary pitch. Good for mixing in sub-bass or as a reference pitch.
- FOLD (audio) — The main output - the primary sine after passing through the wavefolder. This is where the magic happens. At Fold = 1 it is a clean sine; higher values add increasingly complex harmonics.
Controls
- Mod Coarse — Modulator coarse tuning in semitones, +/-24 (two octaves). Sets the frequency ratio between modulator and primary. Integer ratios (0, 7, 12) produce harmonic tones; non-integer ratios create inharmonic, bell-like sounds.
- Mod Fine — Modulator fine tuning in cents, +/-100. Use for subtle detuning between the oscillators.
- Mod Wave — Modulator waveform selector. 0 = sine (smooth FM), 1 = triangle (brighter FM), 2 = sawtooth (aggressive FM with all harmonics).
- Pri Coarse — Primary oscillator coarse tuning in semitones, +/-24. Sets the base pitch of the main output.
- Pri Fine — Primary oscillator fine tuning in cents, +/-100.
- FM Index — FM depth from 0 (no FM) to 1 (full modulation). Controls how much the modulator affects the primary pitch. Higher values create more sidebands and a brighter, more complex sound.
- FM Mode — Linear FM (0) enables thru-zero FM for classic Buchla tones that stay in tune. Exponential FM (1) is pitch-space modulation - same musical interval at any base pitch.
- Fold — Wavefolder depth from 1 (clean sine passthrough) to 10 (extreme folding with many harmonics). This is the primary timbre control. Start low and turn up gradually.
- Symmetry — Shifts the folding center from -1 to +1. At 0 the folding is symmetric. Moving away from center creates asymmetric folds that add even harmonics and vowel-like formants.
- Fold Atten — Attenuverter for the Fold CV input, -1 to +1. Controls how much external CV affects fold depth.
- Sym Atten — Attenuverter for the Symmetry CV input, -1 to +1.
- Sync Toggle — Enables or disables hard sync. When on, the primary phase resets whenever the modulator completes a cycle (internal sync) or when the external Sync input fires.
Inspired by
A West Coast complex oscillator topology: a modulator oscillator (sine/triangle/saw) frequency-modulates a primary sine carrier, whose output passes through a Buchla-style sine wavefolder with voltage-controlled depth and symmetry. Linear thru-zero FM, exponential FM, hard sync, and V/Oct normalisation between the two cores follow the classic Buchla/Make Noise lineage.
- Buchla 259 Programmable Complex Waveform Generator
- Make Noise DPO
- Verbos Complex Oscillator
← Back to all modules