vimsynth/modules/cmpx

modules/sources/CMPX

CMPX

A complex oscillator: two operators in one card, wired the west-coast way. A carrier and a modulator that TRACKS it by ratio, joined by through-zero LINEAR FM — which, unlike the VCO's exponential fm, stays in tune as it gets brighter, so it is a bell rather than a siren. A built-in wavefolder is the timbre: sweep it with an envelope and the sound opens up. A whole-number ratio is harmonic; anything between clangs. The modulator has its own output, so it is never wasted.

The CMPX card as vimsynth draws it: its title bar, 7 knobs, 5 inputs down the left edge and 3 outputs down the right
CMPX on an empty rack — 32×21 cells, knobs at their defaults. Press a in the app and pick CMPX to get this card.

inputs

Down the left edge of the card, top to bottom.

v/octpitch
Pitch. 1.0 = one octave up. Both oscillators track it — the modulator stays a fixed ratio above the carrier.
fmcv
Added to the FM index. This is the axis of the sound: an envelope here is dynamic FM, brightening on the attack. No depth knob — use an ATT.
timbrecv
Added to the timbre knob — the wavefolder. An envelope here is the west-coast gesture: the tone opens up as the note is struck.
ratiocv
Added to the ratio knob, sweeping the modulator's frequency relative to the carrier. Sweeping through whole numbers is a slide from harmonic to clangorous and back.
synctrigger
An external hard sync: a rising edge restarts the carrier. The other hard sync is internal — the modulator wrapping, switched on with the sync knob.

outputs

Down the right edge, in the same order.

mainaudio
The carrier, FM'd and folded — the complex voice. This is the one you listen to.
modaudio
The modulator on its own. When it is not FMing the carrier it is just a second oscillator, a sub, or a cross-mod source.
sineaudio
A clean sine at the carrier's fundamental, before the fold. Mix it back under a screaming main to put the body back.

knobs

Left to right across the face — the dials in the picture.

tune-24 … 24 st= 0 st
Carrier pitch offset, in semitones.
wavesine · tri · saw · sqr= sine
The carrier waveform. sine by default: it has nothing to fold out, so the fold IS the timbre. A richer wave folds into something more aggressive.
ratio0.25 … 32= 2
The modulator's frequency, as a multiple of the carrier's. WHOLE numbers are harmonic and musical (2 is an octave up); anything between is inharmonic and clangorous — a bell, a gong, metal.
fm0 … 10= 0
Linear FM index. The main axis of the sound. 0 is a plain oscillator; past 1 the FM goes THROUGH ZERO and the carrier runs backwards, which is why the pitch stays put as the tone gets brighter.
timbre0 … 1= 0
The wavefolder — timbre. Push it and the carrier gets brighter and more complex. Sweep it with an envelope on the timbre input and that is the west-coast voice in one gesture.
mod wavesine · tri · saw · sqr= sine
The modulator's waveform.
syncoff · hard= off
Internal hard sync: the modulator's cycle restarts the carrier's, chopping it mid-flight for a ripping, formant-y tone.

more

The full reference — every parameter curve, the patching notes and the worked examples — lives in the manual: docs.vimsynth.com/modules/cmpx. In the app itself, :help CMPX opens the same page without leaving the rack.