capricious logo

"Musical compositions making sudden unexpected changes"

Computer-Aided Algorithmic Composition (CAAC), is the implementation and use of algorithmic composition techniques in software. Music produced with notation or sequencing software can easily be considered computer-aided composition & the term computer-aided, rather than computer-assisted, is used in the same manner as Computer-Aided Design is in architecture. Another form of generated music makes no use of computers and instead employs the use of noise or some other sound source to sample moments that produce notes. The former is what we have available through the use of computers and the available software found on the web. The later takes alittle more investment and time to achieve in order to harness it's ability and obtain satisfying results. Both in the end produce the same outcome, an ever evolving & constantly changing form of music that will never be the same twice. A form of music that is unlike anything a human composer will produce, and moments in music that will never be heard again. Like seeing a unicorn.

Let's start with a little history. Musikalisches Würfelspiel was a system that used dice to randomly 'generate' music. These dice games were quite popular throughout Western Europe in the 18th century. Several different games were devised, some that did not require dice, but merely 'choosing a random number. The dice rolls randomly selected small sections of music, which would be patched together to create a musical piece. It is even alleged that Mozart may have used this form of writing music to compose a song or two. The Musikalisches musical works were not anything like the music composed with a computer in the modern sense, but they did use a rudimentary form of the random combinatorial techniques sometimes used in computer-generated composition.

The world's first digital computer music was generated in Australia by programmer Geoff Hill on the CSIRAC computer which was designed and built by Trevor Pearcey and Maston Beard, it though was only used to play a standard tune of the day. One of the first composers to write music with a computer was Iannis Xenakis. He wrote programs in the FORTRAN language that generated numeric data that he transcribed into scores to be played by traditional musical instruments. The music by Xenakis is not random, his music is the result of formalized calculations. An example is ST/48 of 1962. Although Xenakis could well have composed this music by hand, the intensity of the calculations needed to transform probabilistic mathematics into musical notation was best left to the number-crunching power of the computer.

Gottfried Michael Koenig used computers to generate the sounds of the composition as well as the score. Koenig produced algorithmic composition programs which were a generalisation of his own serial composition practice. This is not exactly similar to Xenakis' work as he used mathematical abstractions and examined how far he could explore these musically. Koenig's software translated the calculation of mathematical equations into codes which represented musical notation. This could be converted into musical notation by hand and then performed by human players. His programs Project 1 and Project 2 are examples of this kind of software. Later, he extended the same kind of principles into the realm of synthesis, enabling the computer to produce the sound directly. SSP is an example of a program which performs this kind of function. All of these programs were produced by Koenig at the Institute of Sonology in Utrecht, Holland in the 1970s. Procedures such as those used by Koenig and Xenakis are still in use today. Since the invention of the MIDI system in the early 1980s, for example, some people have worked on programs which map MIDI notes to an algorithm and then can either output sounds or music through the computer's sound card or write an audio file for other programs to play. Some of these simple programs are based on fractal geometry, and can map midi notes to specific fractals, or fractal equations. Although such programs are widely available and are sometimes seen as clever toys for the non-musician, some professional musicians have given them attention also. The resulting 'music' can be more like noise, or can sound quite familiar and pleasant. As with much algorithmic music, and algorithmic art in general, more depends on the way in which the parameters are mapped to certain aspects of these equations than on the equations themselves.

Equations can be made to produce both a lyrical and melodic pieces of music. They can create a more fantastically dissonant cacophony and avant-garde styles of music. Software programs can map mathematical formulae and constants to produce sequences of notes. These sequences can in turn be a composition in itself, or simply the basis for a further elaboration. Operations such as these, and even more elaborate operations can also be performed in computer music programming language enviroments such as Csound, Max/MSP, SuperCollider, Pure Data (Pd), and Keykit. Anyone can obtain these programs and they can easily run on most personal computers, and are often capable of more complex functions than those which would have necessitated the most powerful mainframe computers several decades ago.

My Directions in Computer -Aided Composition

In 1988 I started working on a BASIC program using an Apple IIe PC. The BASIC language was easy for me to get my ideas put to code. I continued to work on this program to generate random melodies and eventually chords that kept in harmony and stayed within the same key. By 1991 I had composed and recorded a number of composition using various versions of the program. You can hear three of those recordings (duck pond, The Elephant's Back & swamp gas) on the audio player located on the music page of my website. I still have most of my original codes, print outs and the disks that I stored them on, and for a while I managed to contiue the same work by using modern day emulators that are available on the Internet. My current version of that program is called ROGUE .

Between 2000 & 2001 I started to also work with Csound. Csound is a programming language for the computer musician. I found the book, "The Csound Book by 
Dr. Richard Boulanger" to be very helpful and a foundation for almost all of the programming I did in this musical enviroment. PureData, developed by Miller Puckette was a huge leap forward for me in using Csound, I started using PD in 2005. PureData brought the elements of Csound into a GUI / programming combination. Working with PureData was much easier to achieve the results I was looking for and allowed for a much easier on the fly manipulation of the musical composition. Max/MSP is anchievement in developing this type of programming enviroment for the computer musician. Max/MSP incorporates Csound into a total modular approach to building music. Composing executables in realtime and generates score based on the modules connected path. All of these computer music softwares harness the power of midi to manipulate external hardware, synthesizers, processors or internal general midi wavetables. Which allows me to compose in a cross platform way, manipulating both hardware & software elements in my compositional works.

Designed in 1964 by John George Kemeny and Thomas Eugene Kurtz. A programming language that became widespread on microcomputers in the late 1970s and 1980s.
Csound was originally written at MIT by Barry Vercoe. A C language based audio DSL.
Pure Data is a visual programming language developed by Miller Puckette in the 1990s for the creation of interactive computer music and multimedia works.
Noise, whether analog or digital can be a powerful & creative tool in creating generated musical compositions. There are a number of manufacturers of noise source analog electronics.

I continue to use to this day BASIC, Csound, PureData and noise to experiment in new compositional writting. There are many more areas of Computer-Aided Algorithmic Composition from the use of video, statistical style modeling, uses of machine inprov, live coding, and so on, but as for the musical works found on this website I will be using PureData or Noise  as a means of chaotic composition. I will never forget that the most beautiful and unique works of composition come from the human heart and mind. The computer is just a tool that opens up new ideas in art, music and creativity.

Noise generating compositions

PureData compositions

The Chaos Theory

"A dripping faucet seems random, but when plotted as a strange attractor, it reveals an eerie order unexpected by conventional means." The word "chaos" is sometimes taken to mean the opposite of "cosmos", in that the latter term has connotations of "order". Until the last few decades, chaotic systems have not been studied nearly as much as ordered systems, perhaps because chaotic systems are far more difficult to understand...

What is a chaotic system?

Looking at the rising smoke from a cigarette illustrates some of the differences between ordered and chaotic systems. Initially the smoke rises in a smooth upward flow, which breaks down a few inches above the tip of the cigarette into a disordered, turbulent motion. This is an example of a transition from an ordered system into a chaotic one. A stream of water flowing out of an appropriately adjusted faucet exhibits similar behaviour, which is ubiquitous in a host of phenonomena, both man-made and natural. The weather systems of the atmosphere (which are intertwined with the heat and mass flows in the oceans) are chaotic. A system of more than two bodies orbiting under each other under their mutual gravitational attraction is also chaotic, by extension the entire solar system is a chaotic!

One non-technical definition of a chaotic system goes as follows: A chaotic system is one in which a tiny change can have a huge effect. Thus the oft heard statement that a butterfly in China can cause a hurricane in the Atlantic. What makes the situation even more difficult is that we have only recently begun to forge the mathematical tools necessary to study these problems.

Chaos is where a system that is completely described my mathematical equations is more than capable of being unpredictable without any outside influence.

A "Chaos" music system can easily be developed using a number of available software applications. This adopted term Choas, will be used by me to describe the inconsistencies and nonlinearities found in my randomly generated musical compositions. The direction I take to create a PureData program that randomly generates a musical composition will have a profound effect on the behavior of the evolutionary process that occurs when listenning to the musical work. Too many unstructured RANDOM objects in the PureData file and the resulting composition will sound too chaotic. I present my work through the use of the PureData application. The future behavior cannot be predicted in the long run.


I want to spend alot more time discussing my puredata experiments.

Hopefully, I will have much more time in the future to do so.

Check out this basic time / tempo keeping module for puredata compositions.

It is at the heart of the puredata driven compositions and has allowed me so many new possibilities in random
triggered midi compositions. I used this puredata module to control the chaos(random) elements on the tracks
The Coil & Chrysalis found on my music page.

If you are familiar with the puredata application or are already programming in puredata you might find this module
helpful or creative.

pd01 bpm

I hope to spend more time on puredata in the future.

© 2016
Saint Augustine, Florida