The term can be used to describe music-generating techniques that run without ongoing human intervention, for example through the introduction of chance procedures.
However through live coding and other interactive interfaces, a fully human-centric approach to algorithmic composition is possible.
Algorithms such as fractals, L-systems, statistical models, and even arbitrary data (e.g. census figures, GIS coordinates, or magnetic field measurements) have been used as source materials.
Knowledge-based systems are based on a pre-made set of arguments that can be used to compose new works of the same style or genre.
Grammars often include rules for macro-level composing, for instance harmonies and rhythm, rather than single notes.
When generating well defined styles, music can be seen as a combinatorial optimization problem, whereby the aim is to find the right combination of notes such that the objective function is minimized.
The results of the process are supervised by the critic, a vital part of the algorithm controlling the quality of created compositions.
Evolutionary methods, combined with developmental processes, constitute the evo-devo approach for generation and optimization of complex structures.
Marchini and Purwins[16] presented a system that learns the structure of an audio recording of a rhythmical percussion fragment using unsupervised clustering and variable length Markov chains and that synthesizes musical variations from it.
Programs based on a single algorithmic model rarely succeed in creating aesthetically satisfying results.
The only major problem with hybrid systems is their growing complexity and the need of resources to combine and test these algorithms.
In the 2000s, Andranik Tangian developed a computer algorithm to determine the time event structures for rhythmic canons and rhythmic fugues,[18][19] which were then worked out into harmonic compositions Eine kleine Mathmusik I and Eine kleine Mathmusik II; for scores and recordings see.