Wavetable

Plays a drawn or preset table of up to eight 2048-sample frames with position morphing, unison and MIDI pitch.

  • Source
  • Since 0.2.0
  • wavetable
  • oscillator
  • morph
  • unison

Open in TuneToys

Wavetable as the Patch draws it, at default values: inlets on the left, outlets on the right.

Wavetable plays a table of up to eight 2048-sample frames, morphing between them, with unison and MIDI pitch.

What it does#

The table is node data: one to eight frames of 2048 samples each, as values between -1 and 1. Position moves across the frames, 0 at the first and 1 at the last, blending neighbouring frames. Unison stacks one to four detuned copies of each note, spread by Detune in cents. Frequency sets the pitch when no MIDI note is held; connecting a MIDI cable lets notes play it directly, one note at a time, and a held note overrides Frequency. Glide adds portamento between notes. Amplitude is the peak output level. The output is audio and follows the width of its configuration.

When to use it#

Use it for evolving timbres that a fixed waveform cannot make: sweep Position across drawn frames, thicken with Unison, or play it from a Keyboard. For a plain waveform or Polyphonic instrument chords use those instead; this oscillator plays one note at a time.

Ports#

PortDirectionSignalLanes
midiInputMIDI16 MIDI channels
audioOutputAudioInferred from the cable

Parameters#

ParameterLabelRangeDefaultUnitScaleNotes
frequencyFrequency20 to 20000220HzlogPitch when no MIDI note is held. A held note overrides it and glides between notes.
positionPosition0 to 10linearMorph position across the table's frames; 0 is the first frame and 1 the last.
amplitudeAmplitude0 to 10.25linearPeak output level.
unisonUnison1 to 41linearNumber of stacked detuned voices per note. Choices: 1 1 voice, 2 2 voices, 3 3 voices, 4 4 voices.
detuneDetune0 to 508centslinearSpread of the unison voices in cents.
glide_msGlide0 to 20000mslinearPortamento time between MIDI notes.
  • table: floats.

Frequency (frequency)#

The pitch, 20 to 20000 Hz on a logarithmic control, used when no MIDI note is held.

Position (position)#

Morph position across the table's frames, 0 to 1. With a single frame there is nothing to morph to.

Amplitude (amplitude)#

Peak output level, 0 to 1.

Unison (unison)#

One to four stacked detuned voices per note. A discrete choice.

Detune (detune)#

The spread of the unison voices, 0 to 50 cents. No effect with one voice.

Glide (glide_ms)#

Portamento time between MIDI notes, 0 to 2000 ms.

Tips#

  • Edit waveforms directly on the node card or in Properties. Waveform selects the frame to edit; it does not move Position. + Add appends a copy of that waveform and selects it (up to eight); Remove deletes the selected waveform (keeping at least one).

  • Draw with Pencil, Line or Smooth, or apply Sine, Saw, Square, Triangle or Noise to the selected waveform. Other waveforms stay unchanged. Each stroke, held arrow-key edit, preset, addition or removal is one Undo step, with live sound previews. Escape or a cancelled gesture restores the previous waveform.

  • On the drawing surface, Left/Right moves the sample cursor and Up/Down changes the waveform there; Shift makes finer edits. The Frame's Wavetable curve widget uses the same drawing tools for a fixed table frame.

  • Keep Amplitude modest when raising Unison; more voices add up.

  • Position is a control, so a Control LFO is the natural way to sweep it.

See also#

Oscillator, Polyphonic instrument, Keyboard, MIDI.

Help patches

Each help patch is an ordinary Toy that teaches one idea. The diagram shows the Patch; the preview shows its Frame. Open it in TuneToys to play and edit it.

1. Play a wavetable and sweep its position

beginner Teaches: frequency, position, amplitude

A wavetable oscillator with frequency, position and level controls.

Patch: Wavetable audio output connected to Patch outputs audio input.
Connections as text
  • Wavetable audio output connected to Patch outputs audio input
  • With no MIDI note held, Frequency sets the pitch.
  • Position moves across the table's frames. It needs more than one frame to change the sound.
Frame preview: Play a wavetable and sweep its positionFrame “Play a wavetable and sweep its position” with 4 elements: knob Amplitude, knob Frequency, text heading, knob Position.0.25Amplitude220 HzFrequencyPLAY A WAVETABLE AND SWEEP ITS POSITION0Position
Frame preview (static). Controls show their default values.

Open in TuneToys

2. Thicken with unison and glide between notes

intermediate Teaches: unison, detune, glide_ms

A keyboard plays a wavetable with unison and glide.

Patch: Keyboard midi output connected to Wavetable midi input. Wavetable audio output connected to Patch outputs audio input.
Connections as text
  • Keyboard midi output connected to Wavetable midi input
  • Wavetable audio output connected to Patch outputs audio input
  • Play notes by typing on the computer keyboard; a held note overrides Frequency.
  • Unison stacks detuned voices; Detune spreads them. Glide slides between notes.
Frame preview: Thicken with unison and glide between notesFrame “Thicken with unison and glide between notes” with 4 elements: knob Detune, knob Glide, text heading, segmented Unison.8 centsDetune0 msGlideTHICKEN WITH UNISON AND GLIDE BETWEEN NOTES1 voice2 voices3 voices4 voicesUnison
Frame preview (static). Controls show their default values.

Open in TuneToys

  • Oscillator Selected waveform kernels, continuous morphing, harmonic shapes and phase/gate control; an optional MIDI input plays notes in the Toy's tuning.
  • Polyphonic instrument Eight owned, velocity-sensitive oscillator voices with ADSR, sustain and MPE, played from a MIDI cable in the Toy's tuning.
  • Keyboard Notes from the on-screen piano and computer typing become MIDI. The face of the piano widget.

Edit this page on GitHub

esc

↑ ↓ move↩ open⌘↩ new tabesc close