An Open Letter to Active Sensing, in response to comments by Wendy Carlos on algorithmic composition tools.
A Letter to the Editor, published in Active Sensing, Vol. 1, #3, Fall, 1989

Distinguishing Random, Algorithmic, and Intelligent Music

by Laurie Spiegel
Aug. 5, 1989

I couldn't help commenting on Wendy Carlos's thoughts on algorithmic composition in your Summer 1989 issue (Vol. 1, #2). The points she made certainly needed to be made, and as a long time practitioner of algorithmic composition, I know as well as anyone the limitations of algorithms for music. But some definitions and distinctions need to be added, because those limits are less restrictive than may be apparent from the current crop of "algorithmic composers" in the MIDI marketplace, and so that the musical and aesthetic problems inherent in certain specific types of musical algorithms don't overshadow the incredible potential of musical algorithms in general.

With the exception of Harmony Grid (HIP Software) and Music Mouse (Aesthetic Engineering), just about all of the algorithmic composition programs currently on the market make heavy use of randomness in their decision making. As a result, many musicians who are unfamiliar with algorithm logic have gotten the impression that "algorithmic" means "random". This is not at all the case. Most computer algorithms don't even use randomness at all.

An algorithm is defined as "a fixed step by step procedure for accomplishing a given result ... a defined process or set of rules that leads to and assures development of a desired output from a given input" (Bobs-Merrill Computer Dictionary).

For example, a simple non-random algorithm I've used in my music a lot is the statement "if most of the voices are playing on the left channel, put the next one I play on the right channel" (expressed in a computer language of course).

Randomness has been getting used a lot for music partly because it's easier to program into a computer than well-thought-through rules and procedures based on the study of real music and productive traditional compositional techniques. Also, randomness can create variations one would not have thought of without it, and can be quite useful and a lot of fun to play with if heavily controlled. But a musician's mind does not work randomly when creating, and the vast majority of truly usable musical algorithms will probably turn out to be non-random as they are discovered, explored, and put into use.

A musical algorithm should not "put the complete onus onto the human being to be a prescient and ruthless editor" as Wendy said. A good algorithm should be a composer's amanuensis, an invisible assistant who reaches for a knob or a note for you, knowing just what you want to do and when. It should be an extra pair of hands who know their job well, and are able to execute or elaborate for you because they embody knowledge of what music is and how musicians really work. Ultimately, an algorithmic music program should be able to learn each individual user's unique personality, procedures, habits, and preferences, and to use this knowledge to take initiative and make musical suggestions when asked, to add to the individual's power by "automating" what s/he would do anyway, to extend the individual's music much further in directions it already takes.

In addition to distinguishing between algorithmic and randomistic composing software, a little more thought should also be given to the use of the word "intelligent". Wendy speaks of the term AI ("artificial intelligence") as having devolved, and that is unfortunately often true in reference to music software. The same computer dictionary cited above defines computer intelligence as "the developed capability of a device to perform functions that are normally associated with human intelligence, such as reasoning, learning, and self-improvement".

The next time you are presented with "algorithmic" or "intelligent" software, ask yourself if it has been programmed to function as a human being would, or if it is substituting randomness for reasoning, learned knowledge, and carefully defined decision-making and development procedures. If the latter is true, perhaps the terms "randomistic", "stochastic", or "aleatory" (all pertaining to chance) would more accurately describe the software than "algorithmic" (using defined logical procedures) or "intelligent" (simulating human mental processes).

- Laurie Spiegel

Copyright ©1989 Laurie Spiegel. All rights reserved.
back to Laurie Spiegel's writings page | go to Laurie Spiegel's home page