Following up on the previous post "Factory Factories," I have made some new developments in the direction of lindenmayer systems.
To recap, I have been interested in using L-systems as compositional tools for quite some time. Avid readers of this blog who take their ginko may recall Sasu and Iannis, visually generated L-systems that served as 'scores' for sound compositions. Instead of reviewing what an L-system is in much detail, I refer the perplexed to the above listed entry on Sasu or this other entry on Iannis.
Anyway, the whole point here is that L-systems are represented traditionally by strings of characters, each one representing instructions for growth. So a very complex L-system is generally anticipated to be quite long. The two programming languages I have been trying to use to generate these strings, Java and SuperCollider, have come up somewhat short of the mark, specifically due to the computationally intense task of managing these strings of characters, growing new generations of strings, and reading them into (hopefully) aesthetically pleasing results.
My solution? Learn Python.
I messed around with Python a bit with Mike to create shell tools for our OSC clusters. I have been impressed with its string manipulation ability and agility, and I'm now working on a simple app that grows algae files. From there, SuperCollider can read in the L-system bytewise and produce some noise. Since the L-system is generated asynchronously, this paradigm lends itself well to either the Arboretum or the Cattri.
Why all this to do about L-systems? I'm producing a pop album for my boys at Unwashed Records that will use this technique exhaustively.