12 th Generative Art Conference GA2009 Page 67 A Realtime Generative Music System using Autonomous Melody, Harmony, and Rhythm Agents Arne Eigenfeldt School for the Contemporary Arts, Simon Fraser University, Burnaby, Canada www.sfu.ca/~eigenfel e-mail: arne_e@sfu.ca Philippe Pasquier School of Interactive Arts and Technology, Simon Fraser University, Burnaby, Canada www.sfu.ca/pasquier/ email: pasquier@sfu.ca Abstract Kinetic Engine is a realtime generative music system that has been in development since 2005. It has been used as an extended instrument within an improvising ensemble, as a networked performance ensemble, as an interactive installation, and as an independent performance system under the composer’s control. The first two versions were solely concerned with polyphonic rhythmic organisation using multi-agents. Version 3 introduced a genetic algorithm for the evolution of a population of rhythms, in realtime, based upon the analysis of music provided. Version 4 explored melodic organisation, again using multi-agents, while the most recent version adds a third order Markov model for harmonic generation. This paper gives an overview of the different versions of the system. Furthermore, the system’s use as a performance instrument, as opposed to an independent installation, will also be discussed, describing the necessary shifts in conception regarding generative algorithms. Finally, an attempt to evaluate the entire system from an artistic, rather than scientific, perspective will be undertaken. 1. Introduction Kinetic Engine is a interactive generative music system designed and created by a composer, exploring new methods for the generation of musically interesting gestures in realtime. Generative music systems have been used in live performance for decades [1]. The principle organising method for controlling complexity in these systems has been constrained randomness, the limits of which are discussed in detail elsewhere [2, 3]. Simply put, while constrained randomness provides a convenient and adequate solution for generating music gestures in realtime, it cannot come close to the organised complexity of intelligent improvising musicians (the model for most interactive computer music). Thus, Kinetic Engine has been developed, not as a singular approach to employing intelligence in realtime musical organisation, but instead as a series of alternative strategies which explore different aspects, and provide divergent solutions. As new versions appear, older versions continue to exist, fulfilling their specific purposes.