The composer agent
Every Source preset carries a 30-parameter ComposerAgent that decides what notes to generate. This article lists every parameter, what it changes, and when it is worth touching.
The ComposerAgent turns a Source pulse into a procedurally generated note. It is not a black box: its choices are parameterized and editable per Source through the custom preset panel.
Melodic parameters
| Parameter | Type | Range | Default | Description |
|---|---|---|---|---|
| contour | MelodicContour | free, ascending, descending, oscillate, gravity, motif, pedal, wave, or sequence. Determines the melodic shape the agent produces. | ||
| maxIntervalJump | number | 1–12 | 5 | Contour jump limit before harmonic snapping. A required chord tone may create a larger final interval. |
| voiceLeadingBias | number | 0–1 | 0.5 | Prefers stepwise contour motion for free, wave, ascending, descending, oscillate, and gravity contours. |
| motifPattern | number[] | null | Optional array of scale-degree offsets repeated when contour is motif or sequence. | ||
| phraseLength | number | 1–32 | 8 | Number of notes in each phrase. Call and response each use a complete phrase. |
| resetBehavior | ResetBehavior | loop, resetOnChord, resetOnBar, or phrase. Controls when contour state resets. | ||
| phraseBehavior | PhraseBehavior | continuous | Continuous motion, a phrase-ending cadence, or alternating single-agent call and response. | |
| phraseEndTarget | PhraseEndTarget | focus | Cadential phrase target: focus, root, third, or nearest chord tone. |
Harmonic parameters
| Parameter | Type | Range | Default | Description |
|---|---|---|---|---|
| harmonicFocus | HarmonicFocus | Constrains note selection. Root, chord-tone, and guide-tone focus follow exact altered chords; scale, pentatonic, and color focus remain based on the parent scale. | ||
| beatTargetPolicy | BeatTargetPolicy | focus | Keeps the configured focus, uses chord tones on beats, or places the exact bass/root on each downbeat. | |
| voicingStyle | VoicingStyle | close, drop2, shell, power, cluster, quartal, or rootless. Used by chord nodes; relevant to multi-note emissions. | ||
| tensionTolerance | number | 0–1 | 0.4 | How freely the agent allows non-chord tones before resolving. Higher = more lingering tension, lower = faster resolution. |
Behavioral refinements
| Parameter | Type | Range | Default | Description |
|---|---|---|---|---|
| registerBias | number | -1 to 1 | 0 | Starting octave preference. -1 favors the bottom of the range, 1 favors the top, 0 centers. |
| registerGravity | number | 0 to 1 | 0 | Ongoing pull toward the registerBias center. Zero preserves first-note-only behavior. |
| registerPattern | RegisterPattern | free | Free placement or deterministic low/high octave alternation for the selected pitch class. | |
| leapRecoveryStrength | number | 0 to 1 | 0 | After a movement of at least four scale steps, favors a step in the opposite direction. |
| repetitionAvoidance | number | 0–1 | 0.5 | Probability of nudging away from a just-played note. Higher = less repetition. |
| resolutionUrgency | number | 0–1 | 0.5 | How strongly the agent resolves tension on strong beats. |
| resolveOnChordChange | boolean | true | Force resolution to a chord tone when the chord changes. | |
| tendencyToneStrength | number | 0–1 | 0.5 | Probability of resolving leading tones to their natural targets (scale degree 7 → 1, etc.). |
Anticipation
| Parameter | Type | Range | Default | Description |
|---|---|---|---|---|
| approachStyle | ApproachStyle | none | Optional diatonic, chromatic, or enclosing approach to the next chord bass/root during look-ahead. | |
| anticipationStrength | number | 0–1 | 0.3 | Probability of pre-moving toward the next chord near boundaries. |
| lookAheadBeats | number | 0–2 | 1 | How many beats ahead of a chord change the agent starts anticipating. |
Expression
| Parameter | Type | Range | Default | Description |
|---|---|---|---|---|
| dynamics | number | 0–1 | 0.7 | Default velocity scaler for emitted notes. |
| articulation | number | 0–1 | 0.6 | Note length as a fraction of the available time. 0–0.5 staccato, 0.5–1 legato. |
| swingAmount | number | 0–1 | 0 | Off-beat delay as a fraction of one tick. 0.33 ≈ classic jazz swing. |
| accentPattern | number[] | null | Optional array of velocity multipliers cycled across notes for rhythmic accent. |
Range
| Parameter | Type | Range | Default | Description |
|---|---|---|---|---|
| minOctave | number | 2–6 | 3 | Lowest octave the agent will produce notes in. |
| maxOctave | number | 2–6 | 5 | Highest octave the agent will produce notes in. |