Skip to content

Reference library > Operators

Operators

  • Add: Add each sample of a to each sample of b. Can also be written as a + b
  • AmplitudeToDecibels: Map a linear amplitude value to decibels.
  • DecibelsToAmplitude: DecibelsToAmplitude
  • ChannelArray: Takes an array of inputs and spreads them across multiple channels of output.
  • ChannelCrossfade: Given a multichannel input, crossfades between channels based on the given position within the virtual array, producing a single-channel output.
  • ChannelMixer: Downmix a multichannel input to a lower-channel output. If num_channels is greater than one, spreads the input channels across the field. If amplitude_compensation is enabled, scale down the amplitude based on the ratio of input to output channels.
  • ChannelSelect: Select a subset of channels from a multichannel input, starting at offset, up to a maximum of maximum, with the given step.
  • Equal: Compares the output of a to the output of b. Outputs 1 when equal, 0 otherwise. Can also be written as a == b
  • NotEqual: Compares the output of a to the output of b. Outputs 0 when equal, 1 otherwise. Can also be written as a != b
  • GreaterThan: Compares the output of a to the output of b. Outputs 1 when a > b, 0 otherwise. Can also be written as a > b
  • GreaterThanOrEqual: Compares the output of a to the output of b. Outputs 1 when a >= b, 0 otherwise. Can also be written as a >= b
  • LessThan: Compares the output of a to the output of b. Outputs 1 when a < b, 0 otherwise. Can also be written as a < b
  • LessThanOrEqual: Compares the output of a to the output of b. Outputs 1 when a <= b, 0 otherwise. Can also be written as a <= b
  • Modulo: Outputs the value of a modulo b, per sample. Supports fractional values. Can also be written as a % b
  • Abs: Outputs the absolute value of a, per sample. Can also be written as abs(a)
  • If: Outputs value_if_true for each non-zero value of a, value_if_false for all other values.
  • Divide: Divide each sample of a by each sample of b. Can also be written as a / b
  • FrequencyToMidiNote: Map a frequency to a MIDI note (where 440Hz = A4 = 69), with floating-point output.
  • MidiNoteToFrequency: Map a MIDI note to a frequency (where 440Hz = A4 = 69), supporting floating-point input.
  • Multiply: Multiply each sample of a by each sample of b. Can also be written as a * b
  • Pow: Outputs a to the power of b, per sample. Can also be written as a ** b
  • RoundToScale: Given a frequency input, generates a frequency output that is rounded to the nearest MIDI note. (TODO: Not very well named)
  • Round: Round the input to the nearest integer value.
  • ScaleLinExp: Scales the input from a linear range (between a and b) to an exponential range (between c and d).
  • ScaleLinLin: Scales the input from a linear range (between a and b) to a linear range (between c and d).
  • Subtract: Subtract each sample of b from each sample of a. Can also be written as a - b
  • Sum: Sums the output of all of the input nodes, by sample.
  • TimeShift: TimeShift
  • Sin: Outputs sin(a), per sample.
  • Cos: Outputs cos(a), per sample.
  • Tan: Outputs tan(a), per sample.
  • Tanh: Outputs tanh(a), per sample. Can be used as a soft clipper.

Last update: 2024-02-15
Created: 2023-11-09