ï~~?ALEA "timbre [hollow fat rumbling ringing]?timbre
fat?timbre
ringing
(computer output is underlined, the question mark is
the LOGO prompt). It is important to notice that
neither ALEA itself, nor the program timbre knows
about the actual timbres mentioned, they just handle
words. These words will only receive an
interpretation at a later stage. In this way it is
possible to make use of the same choice mechanisms
for different types of musical objects.
ALEA "piece [part.1 part.2 part.3 part.4 part.5]
This will realize parts chosen at random. Using
aleatoric choices for the pitches in a melody will
yield a so called white melody. It lacks, like in
white noise, any structure or predictability. A
natural extension to ALEA is the possibility to
assign different probabilities to the elements of its
event space, like a loaded dice. The generator CHOICE
provides such a feature. It has the same argument
structure as ALEA but the elements of the event space
are paired (in a list) with the chance that they will
be chosen.
CHOICE instrument [[snaredrum.5]
[timpani.2]
[cymbal.3]]
For 50 percent of its time, when instrument is
called, it will output snaredrum. For 20 percent
timpani, and the rest of the time it will produce
cymbal.
Sometimes there is a large number of numeric elements
to choose from. Writing them all in a list for ALEA
would be too cumbersome. For this we can use the
generator BETWEEN instead.
BETWEEN "pulse 1/4 2 1/8
The program pulse will return values between 1/4 and
2, with a resolution (grid) of 1/8.
Were the preceding choices made without a memory, any
choice would not affect the outcome of subsequent
ones. We will now introduce choice processes with
such an internal state. Instead of the term
'stochastic variable' to refer to the outcome of a
choice, we will have to use the term 'stochastic
process' now. Our first, and well-known, stochastic
process is called SERIES. Each time a choice is made
the event space is reduced by the chosen element, so
that in a next choice this element is excluded. Once
the event space has been emptied, it will be
re-established to its initial value. This constitutes
a generalization of the twelve tone principle. For
example:
SERIES "duration [eight quarter sixteenth sixteenth]
A rhythmic structure produced by this procedure is
shown in figure 4. Sometimes the composer wants to
have complete control over a time ordering. In that
case SUCCESSION can be used (not to be confused with
SEQUENTIAL). The elements of its event space will
appear in the predefined order.
SUCCESSION "accent [heavy none light none]
will produce heavy none light none heavy none
light... ad infinitum.
There are different ways in which primitives,
choices, and time orderings can be combined. We will
give a few examples. The arguments of primitives can
be the result of choice programs.
SERIES "duration [whole half quarter quarter]
ALEA "pitch [c d f g a]
CONSTANT "loudness "pp
the primitive musical object:
[NOTE duration pitch loudness]
will result in a note of a random pitch (in a
pentatonic scale) and a random duration (with a
serial structure) in a constant pianissimo.
Choices can also be embedded in choices as in the
next example:
SUCCESSION "element [[NOTE duration pitch loudness]
[REST duration]]
This will produce an alternating sequence of the
above-mentioned notes and rests.
Also time orderings can be embedded in choices and
vice versa:
ALEA "structure [[PARALLEL element element]
[SEQUENTIAL element element]]
The results of choices can be used in calculations
like:
SERIES "error [small-positive zero small-negative]
[NOTE duration + error......]
Which constitutes a first experiment in forming a
rubato.
For further hierarchical nesting of choice
principles, we need a dereferencing mechanism, which
we called DO (like EVAL in LISP). Let us start with 3
value generators, high, mid, and low.
ALEA "high [100 106 109]
ALEA "mid [10 15 9]
ALEA "low [0 1 3]
When we want to choose the generator to use for the
choice, we can construct:
ALEA "value (high mid low]
2
Fig.4. Rhythmic structure resulting from the program
duration.
113
ICMC 86 Proceedings