Wavetable oscillator

ATMOSYNTH built-in module

Five waves side by side and a knob that travels through them. At nothing it is a sine; at everything it is a buzz with every harmonic in it; and anywhere between it is the two waves it stands between, mixed sample for sample rather than one replacing the other — which is the whole of what a wavetable oscillator is, and why moving Position is a sound changing shape rather than a sound being swapped. The five are a sweep from dark to bright: a sine, a hollow one, a reedy one, a full one, and one with every harmonic near enough level. Position is an input as well as a knob, and Position amount is how far it travels — an envelope on it is the sweep nearly every wavetable patch is built on, and an LFO on it is the sound moving on its own. Every wave here is a set of harmonics rather than a recording, so each is band-limited to the note being played and the bright end of the sweep stays a sound rather than folding into a chord of frequencies nobody asked for. They also share the phase of every harmonic they have in common, which is why a blend of two of them thickens instead of hollowing out. What is patched into Detune can move the pitch by up to four octaves, enough for an envelope to drop it from a click to a boom in the first moments of the note. The Detune knob sets the pitch up to four octaves either side of the note, so a sub-bass or a whistle is a setting rather than something to patch.

Four notes played on it, from a Keyboard, as a patch plays it.

What it is made of

Ports: note input ‘Note’, audio input ‘Position’, audio input ‘Detune’, audio output ‘Out’.

  • ‘note’: note input · port midi
  • ‘osc0’: Oscillator · wave custom · into ‘mix0’ · detune turned by ‘Detune (cents)’
  • ‘win0’: Waveshaper · modulates the level of ‘mix0’
  • ‘mix0’: Gain · into ‘out’
  • ‘osc1’: Oscillator · wave custom · into ‘mix1’ · detune turned by ‘Detune (cents)’
  • ‘win1’: Waveshaper · modulates the level of ‘mix1’
  • ‘mix1’: Gain · into ‘out’
  • ‘osc2’: Oscillator · wave custom · into ‘mix2’ · detune turned by ‘Detune (cents)’
  • ‘win2’: Waveshaper · modulates the level of ‘mix2’
  • ‘mix2’: Gain · into ‘out’
  • ‘osc3’: Oscillator · wave custom · into ‘mix3’ · detune turned by ‘Detune (cents)’
  • ‘win3’: Waveshaper · modulates the level of ‘mix3’
  • ‘mix3’: Gain · into ‘out’
  • ‘osc4’: Oscillator · wave custom · into ‘mix4’ · detune turned by ‘Detune (cents)’
  • ‘win4’: Waveshaper · modulates the level of ‘mix4’
  • ‘mix4’: Gain · into ‘out’
  • ‘pos’: Constant · into ‘win0’ · into ‘win1’ · into ‘win2’ · into ‘win3’ · into ‘win4’ · value turned by ‘Position’
  • ‘posin’: audio input · port position · into ‘posdepth’
  • ‘posdepth’: Gain · modulates the value of ‘pos’ · level turned by ‘Position amount’
  • ‘detunein’: audio input · port detune · into ‘detunedepth’
  • ‘detunedepth’: Gain · modulates the detune of ‘osc0’ · modulates the detune of ‘osc1’ · modulates the detune of ‘osc2’ · modulates the detune of ‘osc3’ · modulates the detune of ‘osc4’ · level turned by ‘Detune amount (cents)’
  • ‘out’: audio output · port out
  • ‘Position’: knob, 0 to 1
  • ‘Position amount’: knob, 0 to 1
  • ‘Detune (cents)’: knob, -4800 to 4800 cents
  • ‘Detune amount (cents)’: knob, 0 to 4800

No published patch uses this module yet

When somebody publishes a patch built on it, that patch will be listed here.

Browse Explore