Appendix E · Glossary¶
Concise definitions of every musical and Subsequence-specific term the guide uses, each cross-linked to the chapter where it is introduced — so you can jump here from any page, get the one-line meaning, and follow the link to the full treatment.
Note
Terms in bold are defined here; a bare-stem link such as
Chapter 4 points to where the term is taught in full.
Where a name is a real API verb, it is spelled exactly as it appears in
Appendix D and the sequencer’s own api-cheatsheet.md.
E.1 Alphabetical glossary¶
Term |
Definition |
See |
|---|---|---|
Bar / cycle |
One full turn of a pattern’s loop. |
|
bank select |
The pair of CC messages (MSB + LSB) that selects a patch bank before a
program change. |
|
Bresenham rhythm |
An even rhythm spread by the Bresenham line-drawing algorithm. Like a
Euclidean rhythm but it tends to land on the trailing edge of each group
rather than the downbeat — a subtly different feel. The verb is
|
|
Cadence |
The harmonic punctuation that ends a phrase. Subsequence names four:
strong (V→I, the full stop / authentic), soft (IV→I, the gentle
“amen” / plagal), open (IV→V, hangs unresolved / half), and
fakeout (V→vi, sets up home then swerves / deceptive). Applied with
|
|
CC (continuous controller) |
A numbered MIDI control message carrying a value 0–127 — filter cutoff, mod
wheel, volume, and so on. Sent with |
|
Channel vs step |
The guide’s one indexing gotcha. MIDI channels are 1-indexed (channel 10
= drums, matching your gear); grid steps are 0-indexed (the first step is
step |
|
Chord injection |
How a pattern follows the live harmony: you declare a parameter named
|
|
Composition |
The top-level object — the conductor — that holds the tempo, owns the connection to your instrument, runs the clock, and to which every pattern is attached. You make exactly one per script. |
|
Conductor |
The composition’s slow, piece-wide modulation source. You register
time-varying signals on |
|
Decorator |
The |
|
Energy |
The single arranging dial, a number from |
|
EasedValue / sonification |
The recipe for steering music from outside data: |
|
Euclidean rhythm |
The workhorse generator: spread N pulses as evenly as possible across the
bar (via Bjorklund’s algorithm). |
|
Fakeout cadence |
See Cadence — the V→vi swerve that promises home and dodges to the submediant. |
|
fit |
The melody-to-chord dial, |
|
Form |
The track’s structure: a sequence of named sections (intro, verse,
chorus…). Declared with |
|
Freeze |
Capturing the live harmony engine’s improvised chords into a fixed,
editable |
|
Ghost note |
A very soft hit that sits under the main pattern, felt more than heard —
the micro-detail of a real groove. Scattered with |
|
Groove |
A timing-and-velocity template applied to quantized notes to humanise the
feel — swing, push/pull, accent shape. A |
|
Hotkey |
A single-key live shortcut bound with |
|
Harmonic rhythm |
How fast the chords change, measured in beats per chord. Set per progression
span, reshaped with |
|
Key / scale (mode) |
A key is the home note of the piece (a pitch class — |
|
Layer |
Folding several small builder functions into one scheduled pattern on a
single channel, with |
|
Link (Ableton Link) |
Wireless tempo, beat-phase, and transport sync to other instruments on the
LAN, joined with |
|
Live coding / hot-swap |
Editing a piece while it plays. |
|
Lock |
Pinning a named stream to its current seed and realization so it survives a
|
|
Mirror |
A second |
|
MelodicState |
A persistent, scored single-line melody generator. It holds key, register,
and recent history, and on each query scores every candidate pitch (using the
Narmour model) to choose a musical next note. Driven by |
|
Mini-notation |
A compact string shorthand for rhythm ( |
|
Motif |
The smallest unit of musical material — a four-note hook, a clave. An
immutable value you build once and reuse; every transform returns a new
motif rather than changing it. Placed with |
|
Narmour (NIR) |
The Narmour Implication-Realization model — the cognitive theory of melodic
expectation that Subsequence uses to score candidate pitches (in
|
|
NRPN / RPN |
Multi-message MIDI parameter writes that reach beyond the 128 CC numbers.
NRPN (Non-Registered) is vendor-specific (filter, envelope amounts);
RPN (Registered) is the small standardised set (e.g. pitch-bend range).
Sent with |
|
OSC (Open Sound Control) |
A networked, named-message protocol over UDP for control surfaces and
Max/Pd patches. Enable a bidirectional server with
|
|
Open cadence |
See Cadence — the IV→V close that hangs on the dominant, a question rather than a full stop. |
|
Pattern |
One repeating part — a drum loop, a bassline, a pad. Written as an ordinary
Python function and registered with the |
|
Pattern builder ( |
The single argument every pattern function receives — the musician’s palette
you paint notes, hits, and control gestures onto. Every |
|
Period |
A classical two-part phrase: the antecedent asks (open close) and the
consequent answers (home close) using the same material. Built with
|
|
Phrase |
A multi-bar musical sentence made of motifs, with its segmentation preserved
— a value like a |
|
Progression |
A frozen sequence of chords with durations — the governing harmony value.
Built with |
|
Rebuild loop |
The heart of Subsequence: your pattern function is re-run from scratch before every cycle, so each bar is freshly described and small algorithmic ideas can evolve over time rather than looping identically. |
|
Render vs play |
The two ways to hear a piece. |
|
Reroll |
Dealing a named stream a fresh deterministic seed to try a new variation,
while everything you have locked stays put. |
|
Scale degree |
A note named by its position in the key (degree 1 = tonic, degree 5 =
dominant) rather than by absolute pitch, so the same melody transposes to any
key for free. Degrees feed |
|
Section |
One named stretch of a form — a verse, a chorus — with a length in bars
and its own energy (and optionally key/scale). Patterns read |
|
Seed |
One number that makes every random choice in a piece repeatable: the same
seed always gives the same piece. Set with |
|
Sentence |
A classical four-unit phrase: the basic idea stated twice (the
presentation), then a continuation that drives to a closing cadence.
Built with |
|
Signal |
A named time-varying value on the Conductor — an |
|
Snap-to-scale |
Pulling already-placed notes onto the nearest pitch of a scale, so any pitch
material lands in key. |
|
Soft cadence |
See Cadence — the IV→I plagal “amen” close, gentler than V→I. |
|
Strong cadence |
See Cadence — the V→I authentic full stop that lands home conclusively. |
|
Substitution / decoration |
Progression transforms that reshape the harmony without rewriting it by hand:
|
|
SysEx |
A System Exclusive message — a raw vendor-specific byte string for things no
standard MIDI message covers (patch dumps, deep config). Sent with
|
|
Tuning (microtonal) |
A non-12-TET temperament expressed as cent offsets from the unison — a
|
|
Tweak / |
Live parameter override. Read a value in the pattern body with
|
|
Velocity |
How hard a note is struck, |
|
Voice leading |
Letting Subsequence pick each chord’s inversion so it moves the fewest notes
from the last one — smooth connection without hand-choosing inversions.
Turned on with |
|
Voicing |
How a chord is stacked: which tone is in the bass ( |
E.2 One worked touchstone¶
Several entries above describe the same object from different angles — a
Progression carries chords, a harmonic rhythm, and (when you ask) a
cadence. Seen together on a four-chord loop, with a strong cadence rewriting
the tail to V→I (here E Am in A minor):
>>> from subsequence import progression
>>> loop = progression(["Am", "F", "C", "G"])
>>> print(loop.cadence("strong").describe("A", "minor"))
Progression — 4 chords over 16 beats
0.00 … 4.00 Am (4 beats)
4.00 … 8.00 F (4 beats)
8.00 … 12.00 E (4 beats)
12.00 … 16.00 Am (4 beats)
Tip
If a term names a method or argument and you want the exact signature, jump to Appendix D; if you want the verb’s analytical cousins (syncopation, contour, sieves), see Appendix B. For the live-versus-file mechanics behind render vs play, see Appendix C.