Live-Coding - Interactive Programming in Media Art
"Live-coding" is a relatively young performance practice in the field of computer music and media art. During such a performance, the participants express their (artistic) ideas in computer readable source code in real time, which in turn is used to generate music, imageries and the like. In traditional computer based real-time performances most of the creative work is done in an off-line process before the actual performance. During the performance, the artist usually plays (or allows the computer to play) their pre-devised virtual instruments. By contrast, live-coding brings the creative act of designing such systems into the focus of the audience: the algorithms and structures used are evolving during the performance. This direct responsibility for the created piece always includes the possibility of failure, while at the same time it exposes a certain kind of virtuosity of the performer.
The first experiments with live-coding have taken place in the early eighties with the advent of the microcomputer, which was both powerful and fitted on the stage. However, throughout the 1980s and 1990s very few performances are recorded. Since the end of the 1990s, new ideas from the computer science (extreme programming, pair programming) and developments at the field of electronic music (including the exhausting use of software synthesis in club music) have merged into a new live-coding movement.
Due to the virtual nature of software, live-coding environments lack the physical presence of the performing artists. The high level of abstraction of algorithms needs appropriate representation forms in order to make live-coding perceivable for an audience that is not trained in reading source code. Naturally this cannot be achieved by one single form of representation. At the same time the artist has to be able to express their ideas without concessions.
One of the major goals is to present a thorough investigation on the state of the art of live-coding within the fields of computer music, media art and computer science A definition should be derived, what the requirements of a live-coding environment are from both the performers' and audience's point of view. This definition is to be made a basis for a new concept for such a tool, which ought to be implemented and evaluated.
An initial investigation should reveal a major survey on the state-of-the-art in live-coding techniques and developments. Based on this research and on an artistic investigation, a detailed definition of what a possible solution for a live-coding environment should provide will be made. Finally an implementation of such an environment will be undertaken and tested under real-world conditions. The entire process should be handled in close collaboration with the community.