@maruaudio/dsp/voices/plaits translates the Mutable Instruments Plaits Voice with two engines, virtual analog (index 8) and additive (index 12), their pinned oscillators, the decay envelope and the low-pass gate, producing OUT and AUX. Every other model renders silence and is never mapped onto these.
Parameters
setPlaitsParameter returns false for an unknown index or non-finite value:
| Index | Range as coded | Default |
|---|---|---|
| 0 note | 12 to 96 semitones | 48 |
| 1 harmonics / 2 timbre / 3 morph; 4 to 6 FM, timbre, morph amounts | 0 to 1; −1 to 1 | 0.5; 0 |
| 7 engine | Rounded, 0 to 23; only 8 and 12 sound (isPlaitsModelSupported) | 8 |
| 8 decay / 9 LPG colour | 0 to 1 | 0.5 |
setPlaitsCv stores eight CVs (non-finite becomes 0); setPlaitsConnection clears a disconnected CV; setPlaitsInputPresent sets the five patch flags that choose between an external CV and the internal envelope.
Lifecycle
initPlaitsState(rate) allocates and resets → preparePlaitsState restores defaults and resets → set parameters, CVs and flags → tickPlaits(state) once per frame returns the stereo out (OUT, AUX); parameters and CVs latch every 12 frames → resetPlaitsState restores phases, filters and envelopes.
When to use it
A Plaits virtual-analog or additive voice in a module that admits only those models.
Limits
- Stereo (OUT, AUX), sample tick, controls latched per 12-frame block.
- The trigger passes a 256-sample delay read
round(rate / 12000)back (1..255). - Signed MODEL CV quantizes in the firmware engine domain; zero restores VA.