# Week 7: Algorithmic Music

This week in class, we focused on algorithms, information, fractals, and A-life. Art that arises from algorithms and patterns naturally has always captured my attention. As I read through our readings this week, I was very interested in how the use of fractals can create art and was reminded of how every snowflake is made of a specific fractal pattern that is unlike every other snowflake. The high variability in the billions of patterns that can be made is always a wonder when it comes to a single algorithm generating them. Scanning the web link provided with Stephen Wilson’s book that lists the design projects by authors, the section with algorithmic sound caught my eye. Brad Garton’s work is especially intriguing because it encompasses two subjects I really enjoy: music and computer science. So far, I have only taken one and a half introductory computer science courses. Yet in that small amount of time, I have been able to code many awesome things including a 2048 simulation. One day, I hope to use my knowledge to make something like Garton has.

His pieces that I have heard so far have been very ethereal, combinations of organ-sounding notes made by a synthesizer, and ultimately coded by a piece of software other artists have written or his own. A sample of his code looks like this:

# Quick translation of longchain.sco to Perl, for testing. -JGG

# This score makes a wavetable synth riff and feeds it through 3 effects

# in series: flange -> delay -> reverb

use RT;

print_off();

rtsetparams(44100, 2);

bus_config(“WAVETABLE”, “aux 0-1 out”);

bus_config(“FLANGE”, “aux 0-1 in”, “aux 10-11 out”);

bus_config(“JDELAY”, “aux 10-11 in”, “aux 4-5 out”);

bus_config(“REVERBIT”, “aux 4-5 in”, “out 0-1”);

\$totdur = 30;

\$masteramp = 1.0;

\$atk = 2; \$dcy = 4;

@pitchtab = (5.00, 5.001, 5.02, 5.03, 5.05, 5.07, 5.069, 5.10, 6.00);

\$numnotes = \$#pitchtab + 1;

\$transposition = 2.00;   # try 7.00 also, for some cool aliasing…

srand(2);

# —————————————————————- synth —

\$notedur = 0.10;

\$incr = \$notedur + 0.015;

\$maxampdb = 92;

\$minampdb = 75;

control_rate(20000);       # need high control rate for short synth notes

\$env = maketable(“line”, 10000, 0,0, 1,1, 20,0);

\$wavet = maketable(“wave”, 10000, 1, .9, .7, .5, .3, .2, .1, .05, .02);

\$ampdiff = \$maxampdb – \$minampdb;

for (\$st = 0; \$st < \$totdur; \$st += \$incr) {

\$index = int(random() * \$numnotes);

\$pitch = pchoct(octpch(\$pitchtab[\$index]) + octpch(\$transposition));

\$amp = ampdb(\$minampdb + (\$ampdiff * random()));

WAVETABLE(\$st, \$notedur, mul(\$amp, \$env), \$pitch, \$pan=random(), \$wavet);

}

# for the rest

control_rate(500);

\$amp = \$masteramp;

# ————————————————————— flange —

\$resonance = 0.3;

\$lowpitch = 5.00;

\$moddepth = 90;

\$modspeed = 0.08;

\$wetdrymix = 0.5;

\$flangetype = “IIR”;

\$wavetablesize = 100000;

\$wavet = maketable(“wave”, \$wavetablesize, “sine”);

\$maxdelay = 1.0 / cpspch(\$lowpitch);

FLANGE(\$st=0, \$insk=0, \$totdur, \$amp, \$resonance, \$maxdelay, \$moddepth,

\$modspeed, \$wetdrymix, \$flangetype, \$inchan=0, \$pan=1, \$ringdur=0, \$wavet);

\$lowpitch += 0.07;

\$maxdelay = 1.0 / cpspch(\$lowpitch);

\$wavet = maketable(“wave3”, \$wavetablesize, 1, 1, -180);

FLANGE(\$st=0, \$insk=0, \$totdur, \$amp, \$resonance, \$maxdelay, \$moddepth,

\$modspeed, \$wetdrymix, \$flangetype, \$inchan=1, \$pan=0, \$ringdur=0, \$wavet);

Although I have no idea what this means, the code comments tell me that he has written something that created a delay and reverb for sounds. If all the code (written in C/C++) is compiled and run, a program that does digital sound synthesis and signal processing would pop up. He freely gives out his programs to be downloaded at this page.

One project that is particularly interesting and a little controversial to me is his My Music Book. The idea is that while readers read his book, music is algorithmically generated according to what text is being read at the moment to account for different reading paces. For me, I find it very difficult to concentrate on reading while listening to music because most of the time I want to sign along. However, Garton is the exact opposite, and the music book is his artwork that he decided to write and compose, although he is more of a composer than author. Music and reading hasn’t been famously paired up in much history (from what I’ve seen or heard). It is quite a phenomenon that someone would algorithmically compose music that goes with the words in a book.

My question is whether or not each piece that I create if using another artist’s software would be called my own, or under the partial ownership of the one who created the software? Since in algorithmic art, the underlying algorithm is already written by an artist and the many patterns that the algorithm can make are already defined, are works made through these programs actually original?

Kristen Chan

(This post has no pictures because most of his work is auditory, unless you count the code as a picture).

Here is a link to his music: