home/ modules/ algorithmic-composition-systems

Composing systems, not pieces

  • learner can design a rule-system that generates music rather than fixing notes
  • learner can apply stochastic, Markov and L-system techniques to pitch and rhythm
  • learner can counteract algorithmic flatness with interference, entropy and interactivity

Design and run a generative music system (in SC or Tidal) that combines a Markov or L-system generator with a stochastic layer, deliberately introduces interference between layers, and includes a mechanism countering uniformity — then critique the process-vs-product result by ear.

This module marks the shift from writing notes to writing the machine that writes the notes. In a live-coded techno or ambient set, you cannot hand-place every event mid-performance; what carries a 30-minute set is a generative system whose behaviour you steer. The whole task here is to build such a system — in SuperCollider or TidalCycles, on the same rig your prior pattern modules used — and then judge honestly whether the process produced music worth keeping.

The arc starts supported: you extend a Pbind or Tidal pattern you already know with a single stochastic element, leaning on the bounded random walk (Pbrown) and the survey of algorithmic strategies as just-in-time how-tos. Next you swap flat randomness for memory — training a Markov model on a pitch/rhythm sequence (PPMC in SC, markovPat in Tidal) — and separately grow a rhythm from production rules using Prewrite or lindenmayer. Only then do you combine layers, deliberately letting a structural pattern and a material pattern collide, and add a mechanism (entropy variation, interaction, structural bias) against the dramatic flatness that pure generation drifts toward. The final run is unsupported: your system, your ears, your critique.

The required atoms are exactly what the capstone cannot survive without: the compose-a-system stance and meta-composition concept, one working Markov path and one L-system path, a stochastic layer, and the interference and anti-flatness principles that turn a demo into music. Supporting atoms enrich the edges — Spiegel’s transformation taxonomy, tendency masks, reproducible seeds, the halting problem’s strange resonance — deepening your critique without gating the build.

Runnable examples

Generated from the context/ instrument corpus by concept (redistributable idioms only). Do not edit — regenerate with gen-module-examples.mjs.

scale-constraint

n("0 2 4 6").scale("c:minor")

strudel-0009 · CC0

play (scale :c4, :minor).tick; sleep 0.25

sonicpi-0012 · CC0

random-walk-melody

Pbind(\degree, Pbrown(0, 7, 1, inf), \dur, 0.25).play

supercollider-0027 · CC0

@n = (@n || 0) + [-1, 0, 1].choose; play (scale :e3, :minor)[@n % 8]; sleep 0.25

sonicpi-0019 · CC0

weighted-random-choice

play (ring :e3, :e3, :e3, :g3).choose; sleep 0.25

sonicpi-0020 · CC0

Pbind(\degree, Pwrand([0, 3, 7], [0.6, 0.3, 0.1], inf), \dur, 0.25).play

supercollider-0026 · CC0

pattern-sequencing

Pbind(\degree, Pseq([0, 2, 4, 7], inf), \dur, 0.25).play

supercollider-0023 · CC0

Atoms in this module

Required — these gate the capstone

Algorithmic composition creates rule systems that generate musical output rather than specifying individual notes directly
Concept L3 Craft FA
Generative composition means defining a rule-system and running it, not fixing every note
Principle L3 Craft FA
Algorithms extend compositional cognition by executing implications the composer cannot fully predict
Principle L3 Craft FO
Pure algorithmic generation tends toward uniformity unless counteracted by entropy variation, interactivity, or inherent structure
Principle L3 Craft FO
Stochastic music controls broad statistical properties of a piece rather than specifying individual events exactly
Concept L3 Craft FA
Markov chains model context-dependent musical choices by making each event depend probabilistically on prior states
Concept L3 Craft FA
A Markov chain trained on pitch and rhythm sequences generates new music with the same statistical patterns
Concept L4 Performance FK
Algorithmic composition strategies range from pure randomness to Markov chains and constrained search
Concept L3 Craft F
Pbrown implements a bounded random walk that moves musical parameters in small steps
Concept L2 First instrument FA
Prewrite expands an axiom by production rules to generate self-similar, non-random rhythmic sequences
Concept L4 Performance FN
TidalCycles lindenmayer generates L-system strings that can be converted to playable patterns via step functions
Concept L4 Performance F
markovPat generates sequences driven by a probability transition matrix rather than a fixed pattern
Concept L4 Performance F
Interference patterns in live coding produce outcomes that exceed the coder's prior imagination
Principle L3 Craft FO
Overlaying a structural pattern and a material (colour) pattern produces an interference result you cannot read off the code
Concept L3 Craft FO

Supporting — enrichment, not gating

Algorithmic music is defined by the urge to explore musical thinking through formalized abstractions
Concept L0 Orientation FO
The halting problem means no algorithm can decide whether another will terminate, making perfect global repetition a sign of failure
Concept L3 Craft FO
The Gaussian (normal) distribution provides a symmetric bell-curve probability shape useful for generating clustered musical choices
Concept L2 First instrument FA
SuperCollider's RandSeed and RandID make stochastic synthesis reproducible from a given seed
Concept L3 Craft FB
The apparently simple 'reversal' operation has multiple non-equivalent implementations depending on assumptions about rests, events, and scale
Concept L3 Craft F
Encoding structure as an algorithm lets a whole arrangement be produced and restructured in one move
Concept L2 First instrument FO
An algorithm's affordances are the musical actions it suggests or enables to its user
Concept L2 First instrument FN
Algorithmic pattern transformations (transposition, reversal, rotation, phase offset, etc.) are the compositional vocabulary of live coding
Concept L2 First instrument FA
Spiegel's 1981 taxonomy of twelve pattern-transformation classes underpins algorithmic pattern libraries
Concept L2 First instrument FA
A tendency mask shapes a stochastic parameter by making its random bounds move over time
Principle L4 Performance FA
Algorithmic spatialization places sounds in virtual acoustic space using channel-based diffusion, object-based rendering (VBAP/Ambisonics/WFS), or binaural techniques
Concept L3 Craft FN
Algorithmic notation turns score-writing from description of intent into a process of live exploration
Principle L3 Craft F
Interactive music systems react to performer input in real time, ranging from deterministic score-following to autonomous improvising agents
Concept L3 Craft FJ
SuperCollider Patterns schedule streams of synthesis events algorithmically using Pbind and combinators
Concept L3 Craft F
Weighted random choice picks among options by probability so the common case dominates and surprises stay rare
Concept L2 First instrument AF
A random-walk melody uses small steps through scale degrees so stepwise motion reads as a tune
Principle L2 First instrument AF
Stepwise melodic motion sounds smooth while leaps sound dramatic and should resolve back by step
Concept L2 First instrument AF