v0.1Latest

MIDI Scale Quantize

MIDI Scale Quantize

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.

MIDI Scale Quantize node screenshot

Inputs

MIDI In

  • ID: midi
  • Kind: midi
  • Rate: event
  • Coercion: Forbidden
  • Description: MIDI message input

Scale

  • ID: scaleContext
  • Kind: scale
  • Rate: event
  • Coercion: Forbidden
  • Description: Optional connected Scale value that overrides the authored Root and Scale parameters.

Outputs

MIDI Out

  • ID: midi
  • Kind: midi
  • Rate: event
  • Coercion: Forbidden
  • Description: MIDI message output

Parameters

Root

  • ID: root
  • Type: enum
  • Control: select
  • Range or Options: Auto (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)
  • Default: C (C)

Scale

  • ID: scale
  • Type: enum
  • Control: select
  • Range or Options: Chromatic (chromatic), Major (major), Minor (minor), Pentatonic (pentatonic), Blues (blues), Dorian (dorian), Mixolydian (mixolydian)
  • Default: Major (major)

Notes

  • Canonical ID: midi.scaleQuantize
  • Category: midi
  • Runtime Surface: midi
  • Runtime Targets: control-main-thread
  • JUCE Early Access: Supported
  • Early Access Note: Native-supported in the plugin for the current catalog/runtime support contract.