Nodes

  1. Home
  2. Docs
  3. Nodes
  4. Audio Effects
  5. Waveshaper Node

Waveshaper Node

Applies a free-form wave-shaping distortion to a signal, editable through an Envelope Editor. The most common use of this Node is to produce an overdriven or noisy audio signal from a simpler audio signal.

Inputs

Audio The audio/control input to which the effect is applied.

Settings

Curve The shaping curve to use, editable through an Envelope Editor. The horizontal dimension represents the input signal (from -1 to 1), the vertical dimension represents the output signal (from -1 to 1). Use the Preview button to observe how your curve would affect a sample signal.
Oversample Sets oversample amount before applying the curve, greater values can help prevent aliasing, but introduce some minor latency.

Outputs

Audio The shaped Audio line.

Audio and Control lines (visualized with blue and orange, respectively) are both analogous to an analog signal. They can be used interchangeably, and, for example, an Audio output (blue) can be connected to a Control input (orange), or vice-versa.

Technical details

  • The wave-shaping effect is applied on a per-sample basis in the [-1, 1] range — samples outside this range are clamped, producing a clipping distortion
    • To apply wave-shaping to a larger sample range, use a Gain Node, Multiply Node, or Divide Node to first compress the input signal, then apply the inverse to the output — this technique may need some oversampling to preserve audio quality
  • This node can output a non-zero signal even with a zero input (or no input at all) if 0 is mapped to a non-zero value (i.e. when the shaping curve does not intersect the exact middle of the grid)
  • Setting the oversample setting to 2x or 4x will add minor latency, depending on sample rate
Was this article helpful to you? Yes No