# Lindenmayer Systems

Next is a method using Lindenmayer Systems. In this method, an initializer (an input series of lines) is constructed and iteratively superimposed upon itself to create a linear pattern. If one should decide to follow this pattern as with a pen and decided to interpret horizontal length as duration and vertical length as an interval, one would only need a starting pitch to get a piece of music.

Let's say, for instance, that you had a simple structure like this:
If you started on one pitch, then you would hold that pitch for maybe one beat as you "travelled" along the horizontal line. Then, when you got to the cliff, you would go up it, going up in pitch at the same time, instantaneously. Then, as you reached the next horizontal line, you would be on a different pitch, and you would hold that pitch while you "travelled" along the line. Then, when you got to the next cliff, you would instantaneously drop the pitch you were on back to the first pitch and hold it as you went along the last horizontal line. If you decided that that specific horizontal distance was one beat and that specific vertical distance was a major third, and you started on C, You would play a C for one beat, then an E for one beat, then a C again for one beat.

An alteration to one simple melody line is to create parts. How would one do that? By creating two seperate L-systems and hoping that the result works out well? It could be done that way. Perhaps a better way is to reuse what we already have. Iterate the L-system out four or five times. That will generate a melody. Now take the graphical image produced and rotate it 90 degrees. Play that at the same time as you play the original melody and you have harmony, of types.

We don't have something that will do the neat harmony thing, but we have here an applet that will let You do a simple L-system. You can enter what You want on the graph pad. When You're done, click on the pattern of letters the program has generated and the applet will iterate Your design.

If You want to play with the applet, download the Java source.

Further Reference

Prusinkiewicz, Przemyslaw and Aristid Lindenmayer. The Algorithmic Beauty of Plants. New York: Springer-Verlag, 1990.
This is almost the standard starting point for people learning about L-systems or people who want to know about how plants develop (according to this theory). This is a wonderful book for most anyone.

Rozenberg, Grzegorz, and Arto Salomaa. The Mathematical Theory of L Systems. New York: Academic Press, 1980.
A truly thick, depthy look at the math of L-systems. Not recommended for all but a few high school students.