music of the bushes
music based on L-systems presented in "the algorithmic beauty of plants"

[home] [what] [mapping] [software] [microbes] [mucor] [music] [credits]

 

Przemyslaw Prusinkiewicz & Aristid Lindenmayer published a book in 1990 called The Algorithmic Beauty of Plants. In that book Fig 1.24 contains a series of bushes created using bracketed 0L systems (b to f above)  Fran rewrote the code for some of these as parametric L-systems. Here we present the full midi file (with general midi instruments as defaults; the sound quality depends on your soundcard). Also included are extracts recorded using Yamaha XG instruments or sounds designed on a Yamaha CS1X synthesizer.

bush d

full MIDI file
extract (vibes) mp3

The midi file has general midi vibraphone as the default instrument. XG vibes were used to generate the extract.

bush b

full MIDI file
extract (piano) mp3

The midi file has general midi piano as the default instrument. An XG piano was used to generate the extract.

bush c

full MIDI file
extract (piano) mp3

The midi file has general midi piano as the default instrument. An XG piano was used to generate the extract.

bush e

full MIDI file
extract (harp) mp3

extract (ra14) mp3

The midi file has general midi harp as the default instrument. This midi file (without harp) was used in the piece twin bush. The extracts contain 2 interpretations of the same midi file. The first is using an XG harp, the second one a Yamaha CS1X "performance".

 

bush f

full MIDI file
extract (guitar) mp3

extract (crik) mp3
extract (wand) mp3

The midi file has general midi guitar as the default instrument. The extracts contain 3 interpretations of the same midi file.The first uses an XG guitar, the other two use Yamaha CS1X "performances"

 

L-system bush b

/* Plant-like structure, figure 1.24b pg. 25 Fran Soddell 21/01/00 adapted for Lsys2midi */
#define maxgen 5
#define delta 20
#define step 0.5

START :
F(step)
p1 : F(step) -> F(step) [+(delta)F(step)] F(step) [-(delta) F(step)] [F(step)]

L-system bush c
/* Plant-like structure, figure 1.24c pg. 25 Fran Soddell 21/01/00 adapted for Lsys2midi */
#define maxgen 7
#define delta 22.5
#define step 0.5
START :F(step)X
p1: X->F(step*2) -(delta) [-(delta) F(step) +(delta)F(step) +(delta)F(step)] +(delta) [+(delta)F(step) -(delta)F(step) -(delta)F(step)]
p2: F(x):x=step->X
p3: F(x):x=(step*2)->XX

L-system bush d
/* Plant-like structure, figure 1.24d pg. 25 Fran Soddell 21/01/00 adapted for Lsys2midi */
#define maxgen 8
#define delta 20
#define step 0.25
START :X
p1 : X -> F(step) [+(delta)X] F(step) [-(delta) X] +(delta)X
p2 : F(x) -> F(x*2)

L-system bush e
/* Plant-like structure, figure 1.24e pg. 25 Fran Soddell 21/01/00 adapted for Lsys2midi e */
#define maxgen 7
#define delta 25.7
#define step 0.125
#define maxStep 3
START :X
p1: X -> F(step) [+(delta)X] [-(delta)X] F(step)X
p2: F(x):x<=maxStep -> F(x*2)
p3: F(x)->F(x)F(x)

L-system bush f
/* Plant-like structure, figure 1.24f pg. 25 Fran Soddell 21/01/00 adapted for Lsys2midi */
#define maxgen 5
#define delta 22.5
#define step 0.25
START :X
p1: X -> F(step) -(delta) [[X]+(delta)X] +(delta)F(step) [+(delta)F(step)X] -(delta)X
p2: F(x) -> F(x*2)