v0.1Latest

MIDI Scale Quantize

Quantizes incoming MIDI notes to a selected root and scale. Set Root to Auto to follow the active host or internal project key.

Snaps incoming MIDI notes to the nearest pitch within a chosen root and scale, keeping performances in key. Out-of-scale notes are shifted to the closest allowed degree, so improvised or randomized input always lands on musical pitches. Use it downstream of randomizers, arpeggiators, or loose playing to enforce a tonal center.

Inputs

MIDI In

MIDI message input

IDmidi
Signalmidi · event rate
CoercionForbidden

Scale

Optional connected Scale value that overrides the authored Root and Scale parameters.

IDscaleContext
Signalscale · event rate
CoercionForbidden

Outputs

MIDI Out

MIDI message output

IDmidi
Signalmidi · event rate
CoercionForbidden

Parameters

Root

Sets the scale root, or follows the active project key when set to Auto.

IDroot
Typeenum
Controlselect
Range or OptionsAuto (auto), C (C), C♯ (C#), D (D), D♯ (D#), E (E), F (F), F♯ (F#), G (G), G♯ (G#), A (A), A♯ (A#), B (B)
DefaultC (C)

Scale

Selects the scale used to constrain incoming MIDI notes.

IDscale
Typeenum
Controlselect
Range or OptionsChromatic (chromatic), Major (major), Minor (minor), Pentatonic (pentatonic), Blues (blues), Dorian (dorian), Mixolydian (mixolydian)
DefaultMajor (major)

Details

Canonical IDmidi.scaleQuantize
Categorymidi
Runtime Surfacemidi
Runtime Targetscontrol-main-thread
JUCE Early AccessSupported
Early Access NoteNative-supported in the plugin for the current catalog/runtime support contract.