Oscillate

Generate sine, square, triangle, sawtooth, and pulse waves, and white, pink, or brown noise.

What it does

Oscillate is a signal generator. It produces a repeating value over time rather than reading one from anywhere else. Waveform picks between Sine, Triangle, Sawtooth, Square, Pulse, and three noise colours (White, Pink, Brown), and the output wires into any numeric input.

Frequency sets how fast it cycles, Amplitude how far it swings, Offset shifts the whole wave up or down, and Phase slides it earlier or later in its cycle. By default it runs at one value per frame, matched to the project's frame rate. Sample Rate above zero generates an audio-rate buffer instead, 44100 for CD-quality audio.

When to use it

ParameterTypeDefault
waveformString"Sine"
frequencyNumber1
amplitudeNumber1
offsetNumber0
phaseNumber0
pulse_widthNumber0.500
sample_rateNumber0

Gotchas

Frequency, Amplitude, Offset, Phase, Pulse Width, and Sample Rate can all be keyframed or driven by expressions, and the wave updates smoothly as they change. Waveform cannot. Each waveform carries its own internal state, and the noise filters and the Triangle integrator are not compatible with each other. To blend between waveforms over time, run two Oscillate nodes and crossfade their outputs.

Sample Rate defaults to 0, meaning one value per frame. Raise it only for an audio buffer: audio rates such as 44100 or 48000 generate far more samples per frame than an animation input expects.

Pulse Width appears only once Waveform is set to Pulse. It has no effect on any other waveform, including Square, which is always a fixed 50% duty cycle.

Worked example

  1. Add an Oscillate node. Leave Waveform on Sine and set Frequency to taste. This is your looping base signal.

  2. Wire the output into a position, scale, or colour parameter elsewhere in the graph to see it animate.

  3. Raise Amplitude and shift Offset to fit the range the destination parameter expects.

  4. Nudge Phase to run two Oscillate nodes out of step with each other.

  5. For a flicker or grain effect instead of a clean cycle, switch Waveform to White Noise, Pink Noise, or Brown Noise.

See also

ADSR · Curve · Time Remap · Numbers, signals & audio