Fractal Composer began as my 2004 University Scholars honors project as part of my studies at Seattle Pacific University. Originally, it was a .NET desktop application for Windows written in C#. The results were certainly interesting, but at the time I did not make the effort to distribute it, and very few people tried it.
In the spring of 2008, while I was living in China, I had some ideas to improve the Fractal Composer music-generation algorithm. I also thought it would be interesting to see what music others could compose if it reached a wider audience...and fractalcomposer.com was born.
Fractal Composer generates music using the principles of
self-similarity, which are
commonly found in fractals.
Self-similarity is found whenever a piece of an object has the same basic shape
as the entire object. A common example of this is the koch curve:
Fractal Composer generates music using this same principle. It begins with a short phrase of music called the "germ", from which the entire piece grows. You can think of the germ as the "shape" of the piece. Every note of the entire piece will be derived directly from the germ, by applying musical transformations and operations to it.
This will be much clearer with an example, so we'll walk through how Fractal Composer works using this example germ:
The germ has multiple attributes that we can apply self-similarity to.
So far we've created self-similarity in a single voice. We can scale the rhythm and place the germ at multiple octaves to create self-similarity across multiple voices:
If we combine these techniques, we can create an entire piece of music:
An infinite variety of generated music is possible. It doesn't always sound good, but I find that it nearly always sounds interesting. Intrigued? Go compose your own piece, listen to some more examples, or see some pieces others have composed.
If you're interested in the technical details of the music generation algorithm, please visit the open source project.