An algorithm's affordances are the musical actions it suggests or enables to its user
Affordance — borrowed from ecological psychology and HCI — refers to the action possibilities a system suggests to its user. Applied to algorithmic music, an algorithm’s affordances determine which musical activities, gestures, and transformations feel natural or even possible. A drum machine affords step-wise accent editing; a pattern language like Tidal affords time-function composition and polyrhythmic layering. Affordance is not the same as capability: a system may be theoretically capable of many things while its interface affords only a narrow set. Thinking about affordance guides both algorithm design and pedagogical decisions about which tool to introduce learners to first.
Examples
Tidal’s mini-notation affords fast polyrhythm construction (‘bd(3,8)’) but gives no direct affordance for granular manipulation. SuperCollider’s SynthDefs afford fine-grained synthesis but give less affordance for live pattern juggling.
Assessment
Name one affordance and one limitation of TidalCycles for a beginner live coder. Then pick a different tool and identify what musical affordances it has that Tidal lacks.