Skip to main content

Expression Controller

The Expression Controller shapes how notes are played — their velocity, duration character, continuous controller data, micro-timing feel, and phrase-level breathing.

Articulation Styles

StyleWhat It DoesMultiplier Range
Full LengthNo articulation processing. Notes play at their full generated duration. Suitable for drones and sustained textures.1.0
LegatoSustained, connected notes with slight duration reduction. Smooth, singing quality.0.80–0.95
StaccatoShort, detached notes. Punchy, rhythmic character with clear separation between events.0.20–0.40
TenutoNotes held for their full notated value. Weighted, deliberate phrasing.0.95–1.00
VaryingProgressive shortening through each phrase — begins near legato (0.85) and shortens toward staccato (0.35) by phrase end. Creates a natural “running out of breath” contour.0.85→0.35

Velocity

ParameterIDRangeDefaultDescription
Velocity MinvelocityMin1–12760Minimum MIDI velocity
Velocity MaxvelocityMax1–127100Maximum MIDI velocity
Velocity is distributed within this range according to the active state’s shaping. The macro arc can modulate the velocity range across sections.

CC Controllers

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

Dynamics Group (~30 Hz)

CCControllerRange
CC11Expression70–115 (default)
CC2Breath60–115 (default)
Plus Channel Aftertouch, which follows the Dynamics envelope.

Timbre Group (~20 Hz)

CCControllerRange
CC74Brightness (filter cutoff)Configurable
CC71ResonanceConfigurable

Vibrato Group

CCControllerDescription
Pitch BendVibrato oscillationCentered at 8192
CC76Vibrato RateConfigurable
CC77Vibrato DepthConfigurable

Articulation Group (note-on only)

CCControllerDescription
CC73Attack TimeSet once per note
CC72Release TimeSet once per note

Effects Group (~15 Hz)

CCControllerRange
CC1ModulationConfigurable
CC21FlutterConfigurable
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

ParameterIDOptionsDefaultDescription
Groove FeelmicroTimingStyleStrict / NOMNStrictTiming humanization
  • Strict — Events fire exactly at their computed PPQ positions. Metronomic precision.
  • NOMN — Applies subtle micro-timing variation that responds to phrase position and event density. Not random jitter — contextual humanization that creates a natural, breathing feel.

Phrase Structure

Articulation and expression operate within a phrase structure system. Phrases cycle through lengths of 4, 6, 8, 5, and 7 notes. At each phrase boundary:
  • A breath is optionally inserted (default 0.15 seconds of silence)
  • Articulation resets (for Varying mode)
  • CC envelopes reset their phrase position modulation
This creates natural phrasing with periodic breathing points, even in continuously generated texture.

Additional Expression Parameters

ParameterIDRangeDefaultDescription
ArticulationarticulationStyleFull Length / Legato / Staccato / Tenuto / VaryingFull LengthArticulation style
Phrase ElasticitycouplingExponent0.0–3.00.0Dense passages → shorter notes (0 = off)
Phrase Density AnchorcouplingRef0.05–2.00.5Reference density for elasticity coupling