~ Phil Legard

Spacious Mind

Spacious Mind: Genetic Algorithms for Generative Soundtracks was the product of my MSc project in 2005. I believe the code and executables are on my old computer, but will be hosted when time permits their recovery – with the proviso that the system is provided ‘as is’ and no longer actively supported or developed.

Meanwhile, I provide some sample outputs and the manual for interest. The topic of composing with genetic algorithms has recently entered the mainstream with the high-profile performance of pieces written by the Iamus system, which appears to build its compositions by concatenating from a large library of genetically evolved phrases and compositional fragments. With Spacious Mind I had something different in mind – a realtime approach with a flowing, improvisatory nature, which had the potential to also provide soundtracks to games and film by acting as a musical ‘middleware’ – a technique becoming increasingly common in recent years courtesy of games like Spore (generative music) and Red Dead Redemption (a high-level soundtrack director). The system broadly had two modes: improvisation and transformation. In improvisation, the genetic fitness functions were based on calculating vectors related to musical parameters such as melodic and dynamic contour and the evolution of subsequent phrases conforming to these vectors plus/minus a specified allowance so that phrases could ‘evolve’. In transformation, the fitness function grades transformed material on its relation to a target phrase, essentially evolving a ‘bridge’.

Below are some sample streams from Spacious Mind. They probably betray the fact that my favourite composers of the time were George Crumb and Arvo Part. The VST instruments and recording quality leave something to be desired. However, listening to these recordings 7 years later I am rather pleased with the way they apparently mediate between expectation and surprise: this is an area that is often problematic in regards to algorithmic and generative composition. It’s hard to code in a conventional, linear manner, but is a ‘problem’ that I still believe genetic algorithms provide great potential for exploring.