Oscillator

Generates a repeating waveform that cycles across the frame's points. Use it as the primary building block for motion, modulation, and pattern generation. Wire oscillators into position, color, scale, or any other parameter.

The waveform shape (sine, triangle, square, saw) is set on the node itself.

Inputs

PortTypeDefaultRangeDescription
CyclesScalar1.00–32Number of full waveform cycles across the frame
PhaseScalar0.00–1Shifts the waveform start position
LevelScalar1.00–1Output amplitude multiplier
SlopeScalar0.0−1–1Reshapes the waveform curve: positive values sharpen peaks, negative values flatten them
Pulse WidthScalar0.50–1Controls the duty cycle of square waves

Outputs

PortTypeDescription
OutScalarMain waveform output, from −1 to 1 (scaled by Level)
90°ScalarQuadrature output: the same waveform shifted 90° ahead
PhaseScalarRaw phase position, wrapped to 0–1

Controls

Waveform: Sine, Triangle, Square, or Saw. Changes the shape of the generated wave. Pulse Width appears only for Square, and Slope only for the other shapes.

Ideas

  • Wire two oscillators with different cycle counts into a Parametric Curve's X and Y inputs to create Lissajous figures. Try cycles 2/3 or 3/5 for classic patterns.
  • Use the 90° output for instant circular motion. Patch Out to X and 90° to Y on a Parametric Curve for a perfect circle without needing the Circle node.
  • Modulate Pulse Width with a slow second oscillator to evolve square-wave textures over time.
  • Feed Slope with another signal to reshape waveforms dynamically: high slope values produce spiky peaks, low values create soft plateaus.

Tips

  • The Oscillator has no time input, so on its own it draws a still waveform across the frame. Wire a Phasor or BPM Beat Phase into Phase to make it move.
  • All inputs are per-point, so you can modulate cycles or phase along the frame for complex waveshaping.
  • The 90° output is only computed when something is connected to it, so there's no cost if unused.
  • Phasor: continuous ramp, useful as a phase source
  • Parametric Curve: wire oscillators here for parametric shapes
  • From Polar: convert oscillator output to circular coordinates
  • Multiply Add: remap oscillator range to fit your target