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
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.

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

  • 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