home/ atoms/ sc-algorithmic-strategies

Algorithmic composition strategies range from pure randomness to Markov chains and constrained search

Algorithmic composition draws on probability theory, statistics, and AI techniques to generate musical decisions. Uniform distributions (.rand, .choose) select with equal likelihood. Weighted distributions (.wchoose, gauss, linrand) bias selection toward preferred values. Markov chains track preceding choices for context-sensitive decisions: a first-order Markov system over three pitch classes requires a 3×3 transition matrix. Constrained search (generate-and-test, backtracking) ensures output meets musical rules. Mathematical functions (logistic map, chaos) can be sonified directly as parameter generators. The key craft skill is balancing randomness and determinism: too much randomness is formless; too much determinism is mechanical.

Examples

// weighted chord choice
[60,63,67,70].wchoose([0.5,0.2,0.2,0.1])
// gaussian pitch variation around a centre
rrand(60, gauss(0,2)).round

Assessment

Implement a first-order Markov melody generator over a 5-note scale: define a transition probability matrix, run it for 16 steps, and compare two matrices (one favouring stepwise motion, one favouring leaps) aurally.

“Any machinery from mathematics/computer science/artificial intelligence is potentially applicable”