I just came across this idea of ‘live-coding’, or developing on-the-fly generative code for a live audience. While the audience need not understand what is going on before them, the programmer is responsible for transparency between program and audience. Within the ‘livecoding’ philosophy, obfuscation is frowned upon, with screens of raw code usually presented to the audience.
The core fundamentals of this philosophy can be found at toplap. Heavily emphasized is improvization and live performance, and while I haven’t fully read the implications of toplap’s design philosophy, it’s a frontier I haven’t previous considered. It actually runs contrary to almost all my previous design paradigms, which tend to favor robust systems that have been finalized hours, days or weeks before a performance. (Just think of software, it’s not given to a user on the fly, it’s rammed through user testing for months until a final, static product is achieved.)
The difference in perspective is similar to the differences between classical and jazz violin. Whereas in classical violin performance, a musician would practice for weeks, months or years to perfect a piece, constantly running through the stanzas in order to perform according to the set notes before them. Conversely, a jazz violinist in a live set often improvises upon the melody, using his or her own intuition to introduce new and interesting variations, with different performances never quite being the same. I just came across this idea tonight, and believe you me, I’m still trying to come to grips with the implications of such a philosophy.
For the last few weeks, I’ve been (extremely) slowly hacking through Algorithms for Visual Design: Using the Processing Language by Kostas Terzidis, a very theory-heavy introduction to algorithmic art using the Java-based Processing language (I’ll post an in-depth review much later after I feel I have a better grasp of it’s contents; it goes into Bernstein polynomials, which in itself was a four-day research expedition.). I eventually want to use it to perform audience interactive art, but the idea of improvising code on the fly in front of people is downright scary, and being able to wrap my mind around such improvisational possibilities might take some time.
But I digress. I’d just like to show you guys cmfl, the context-free music language, which uses generative algorithms usually created for visual design for AUDIO. How neat is that? Pardon me while I go away for awhile, consider my mind. blown.
Leave a reply