tion Acoustique/Musique in Paris, is
available within the now more widely
used computer-music systems Max/
MSP and Open-Music. OMAX uses AI-based machine-learning techniques
to parse incoming musical data from
human musicians, then the results of
analysis to generate new material in
an improvisatory context. 2
slippery chicken. In my own case,
work on the specialized algorithmic
composition program slippery chicken13 is ongoing since 2000. Written in
Common Lisp and its object-oriented
extension, the Common Lisp Object
System, it is mainly deterministic but
also has stochastic elements. It has
been used to create musical structure
for pieces since its inception and is
now at the stage where it can generate, in a single pass, complete musical
scores for traditional instruments or
with the same data write sound files
using samplesp or MIDI file realiza-tions of the instrumental score.q The
project’s main aim is to facilitate a
melding of electronic and instrumental sound worlds, not just at the sonic
but at the structural level. Hence certain processes common in one medium (such as audio slicing and looping) are transferred to another (such
as the slicing up of notated musical
phrases and instigation of sub-phrase
loops). Also offered are techniques for
innovative combination of rhythmic
and pitch data, which is, in my opinion, one of the most difficult aspects of
making convincing musical algorithms.
Lindenmayer systems. Like writing
a paper, composing music, especially
with computer-based algorithms, is
most often an iterative process. Material is first set down in raw form, only
to be edited, developed, and reworked
over several passes before the final
refined form is achieved. For the composer, stochastic procedures, if not
simply to be used to generate material to be reworked by hand or in some
other fashion, represent particular
problems. If an alteration of the algo-
Figure 6. Fibonacci-based transition from material 0 to material 1. note the first
appearance of 1 is at position 13, with the next eight positions after that, the next again
five positions after that, and so on; all these numbers are so-called Fibonacci numbers.
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0
0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 1 0 1 1
1 1 1 1 1 1
Figure 7. Extract beginning bar 293 of the author’s Tramontana for viola and computer.
Figure 8. Foreground melodic pattern (scale steps) of Désordre. 26
Right hand (white notes), 26 notes, 14 bars
Phrase a: 0 0 1 0 2 1-1
Phrase a’: - 1 -1 2 1 3 2 -2
Phrase b: 2 2 4 3 5 4-1 0 3 2 6 5
Left hand (black notes), 33 notes, 18 bars
Phrase a: 0 0 1 0 2 2 0
Phrase a’: 1 1 2 1-2- 2-1
Phrase b: 1 1 2 2 0-1-4-3 0-1 3 2 1-1 0-3-2- 3 -5
rithm is deemed necessary, no matter
how small, then rerunning the proce-
dure is essential. But rerunning will
generate a different set of randomly
controlled results, perhaps now lack-
ing some characteristics the compos-
er deemed musically significant after
the first pass.r
Deterministic procedures can be
more apposite. For instance, Linden-
mayer Systemss (henceforth L-Systems)
whose simplicity and elegance yet re-
p Samples are usually short digital sound files
of individual or arbitrary number of notes/
sonic events.
r This is a simplistic description. Most stochastic procedures involve encapsulation of
various tendencies over arbitrarily large data
sets, the random details of which are insignificant compared to the structure of the whole.
Still, some details may take on more musical
importance than intended, and losing them
may detrimentally affect the composition. The
composer could avoid such problems by using
a random number generator with fixed and
stored seed, guaranteeing the pseudo-random
numbers are generated in the same order each
time the process is restarted. Better still would
be to modify the algorithm to take these salient, though originally unforeseen features,
into account.
s Named for biologist Aristid Lindenmayer
(1925–1989) who developed this system (or
formal language, based on grammars by Noam
Chomsky33) that can model various natural-growth processes (such as those of plants).
sulting self-similarity make them ideal
for composition. Take a simple example, where a set of rules is defined and
associates a key with a result of two further keys that in turn form indices for
an arbitrary number of iterations of key
substitution (see Figure 3).
Given a starting seed for the lookup
and substitution procedure (or rewriting, as it is more generally known), an
infinite number of results can be generated (see Figure 4).
Self-similarity is clear when larger
result sets are produced; see Figure
5, noting the repetitions of sequences (such as 2 1 1 3 and 2 3 2 3). These
numbers can be applied to any musical parameter or material, including
pitch, rhythm, dynamic, phrase, and
harmony. Seen musically, the results
of such simple L-Systems tend toward
stasis in that only results that are part
of the original rules are returned, and
all results are present throughout the
returned sequence. However, the result is dependent on the rules defined:
subtle manipulations of more com-plex/numerous rules can result in musically interesting developments. For
instance, composers have used more
finessed L-Systems—where the result