Build with this node

Start with a prompt in Studio, or copy it into your own coding agent.

Ask Studio

@maruaudio/dsp/voices/warps is the pinned original Mutable Instruments Warps core: crossmodulation algorithm pairs, the vocoder (crossfaded in around 0.7 of the algorithm control), an internal carrier oscillator and the frequency/phase-shifter mode, at a fixed 96 kHz in 60-frame interleaved PCM16 blocks. Its other files are voices/warps/controls (the original CvScaler) and voices/warps/stream (a 60-frame assembler). No host or voltage contract.

Parameters

setWarpsParameter refuses (returns false, no write) values outside their domain:

IndexAccepted valuesDefault
0 drive 1 / 1 drive 2 / 2 algorithm / 3 timbre0 to 10
4 note−48 to 208 semitones (the original pitch-table domain)48
5 carrierInteger 0 to 3: 0 the first input as carrier, 1–3 internal oscillator shapes0
6 bypass / 7 easter egg (frequency/phase shifter)0 or 10 / 0
8 frequency pot / 9 frequency CV / 10 phase shift0 to 1 / −1 to 1 / 0 to 10

readWarpsControls(controls, adc, level1, level2, params) fills these from four CVs and four pots (0 to 1) with the original calibration and f32 smoothing, refusing malformed input before any write; an unconnected level uses its pot².

Lifecycle

createWarpsState(96000) → parameters (or controls, once per block) → processWarpsBlock(state, input, output) on exactly 120 signed16 words (60 frames, MAIN and AUX) → resetWarpsState clears histories and the bypass and shifter flags, keeping knobs. For fragments: createWarpsStreamState() → processWarpsStream (in place allowed, 60 frames latency) → resetWarpsStreamState.

When to use it

Warps crossmodulation, vocoding or frequency shifting on a carrier and modulator pair at 96 kHz.

Limits

  • 96 kHz only; any other rate, block shape or unsupported lookup domain refuses before mutation. A stream core refusal latches silence until reset.
  • Rate conversion is the shared fixed-rate adapter's; parameters apply per block.

Algorithm properties and proofs

No Lean 4 proof is mapped to this node.

Explore proofs alongside performance

Dependencies

None: this node imports no other node.

Dependents

No other node imports this one.

Used by

No plugin with a published composition uses this node yet.