Skip to main content

Phrasing

The Phrasing card shapes how notes are played — articulation, phrase length, micro-timing feel, note duration range, and velocity (range plus optional shaping curve).

Articulation Styles

Velocity

Velocity is distributed within [velocityMin, velocityMax]. With Curve set to Off, distribution is uniformly random within that range. Other curves apply a phrase-level shape:
  • Swell — corpus-informed phrase-level natural swell
  • Ramp — linear rise across the phrase
  • Drive — sustained high-energy weighting
  • Fade — linear fall across the phrase
  • Captured — uses the velocity envelope from a MIR Capture fingerprint

CC Controllers

RESERVOIR streams continuous controller data organized into five groups, each with its own update rate and envelope shape:

Dynamics Group (~30 Hz)

Plus Channel Aftertouch, which follows the Dynamics envelope.

Timbre Group (~20 Hz)

Vibrato Group

Articulation Group (note-on only)

Effects Group (~15 Hz)

All CC streams use breakpoint envelope shapes modulated by phrase position. The envelopes incorporate organic variation — slow wander, overlapping LFOs at incommensurate rates — for musically natural CC curves rather than mechanical automation.

Micro-Timing

  • Strict — Events fire exactly at their computed PPQ positions.
  • NOMN — Subtle micro-timing variation modulated by phrase position and event density. Contextual humanization rather than random jitter.
  • User Groove — Per-grid-position timing deviations captured from your MIDI performance via MIR Capture. Each note is offset by the deviation learned at its sub-beat position, plus stochastic jitter scaled by the position’s variance. Swing ratio from the capture is applied.
  • Genre Groove — Per-genre micro-timing profiles extracted from drum-corpus analysis. Selects a groove template by genre index rather than from a captured performance.

Phrase Structure

Articulation and expression operate within a phrase structure system. The default phrase pattern is 4-6-8-5-7 notes (selectable via phraseLengthPreset; alternates include 4-4-4-4, 8-8-8-8, 16-16-16-16, 2-3-5-8, Fibonacci 5-5-8-8-13, Corpus, and Custom). At each phrase boundary:
  • A breath is optionally inserted (default 0.15 seconds of silence)
  • Articulation resets (for Mixed mode)
  • CC envelopes reset their phrase-position modulation

Additional Phrasing Parameters