|
Expresso takes a simple musical expression (literally "X") and mutates it.
In each generation, transformations are applied to
components of the expression. This is a fractal technique known as an
L-system.
The more generations there are, the larger and
more complex the expression gets (and the longer it can take
to compute).
The output varies wildly, from boring to fascinating.
Press "Mutate" a few times
till you get something that looks interesting, then click
on the image to play it. See Composer's Quarry for examples of output.
Something went wrong - your music was not generatedThe output from KeyKit, possibly showing the error, is:
key: Can't open midifile for reading - /htdocs/music/expresso.bachinv2.mid (No such file or directory)
while executing near line 98 in file /usr/local/src/keykit64/lib/read1.k
Function traceback:
midifile("/htdocs/music/expresso.bachinv2...),
readmf("/htdocs/music/expresso.bachinv2...,),
webexpresso(4,4,"no",12357,"/htdocs/music/expresso.bachinv2...,"File 2 - bachinv2.mid","A=A+A","A=A|A","A=transpose(A,4)","A=transpose(A,-5)","A=transpose(A,-7)","A=A+transpose(A,12)","A=A+transpose(A,7)","A=A+transpose(A,4)+transpose(A,...,"A=echo(A,4,6)","A=step(A,12)","A=arpeggio(A)","A=shuffle(A)")
The algorithm for Expresso is written in
KeyKit, and
here's the source code.
| | | |