In lieu of an abstract, here is a brief excerpt of the content:

  • Exploring Sound-Space with Interactive Genetic Algorithms
  • Colin G. Johnson, (computer scientist, composer) (bio)
Abstract

This paper describes a system that uses evolutionary computation to provide an interface to a complex sound-synthesis algorithm. The paper then considers a number of general issues to be considered when evolutionary computation is applied in artistic domains and the differences between interactive and non-interactive genetic algorithms.

Algorithms for the production of sound on computers are usually very complex, requiring the specification of a large number of parameters to generate each sound. Users who understand the detail of a synthesis algorithm can construct sounds by working out how the desired sound can be created from the components of the algorithm. Other users will learn to program a synthesizer in a more empirical way, by studying programs written by others, listening to their sounds and constructing their own sounds by modifying and combining existing code and "tweaking" parameters in existing programs. Both of these are valuable ways of programming such systems but require a large investment of time.

In this article, I will describe a system I have devised for exploring the sound-space of a synthesis algorithm, with the aim of giving users a middle way between the complexity of programming and the simplicity of using preset sounds.

The core of this article is divided into three sections. In the first section, I briefly describe the concept of interactive genetic algorithms (IGAs), upon which this system is built; in the second section, I describe the system itself; in the final section, I discuss interactive genetic algorithms more generally, considering what we might learn from their application to systems such as this.

Interactive Genetic Algorithms

The idea of using evolutionary computation with a human in the loop first occurs in the works of Richard Dawkins [1] and Stephen Todd and William Latham [2]. These researchers all created graphical systems called interactive genetic algorithms that present the user with a number of pictures generated by a process that draws from a list of parameters. In such a system, the user gives a rating to each of the pictures, and the parameters used in creating the highest ranking systems are then crossed over and mutated, generating a new set of pictures to present to the user. By iterating this process through a number of generations, the user can create images emphasizing the characteristics of those images that have been previously selected during the run of the algorithm. This can be used both to search the space of possible pictures in an exploratory way and to search the space for a particular image. These ideas have since been applied in music, in computer-aided design [3] and in searches of large data sets for patterns [4]. The introductory article to this special project in Leonardo gives a comprehensive survey of these ideas [5].

An IGA for Controlling Sound Synthesis

The system I have created [6] is designed to act as a front end to the CSound synthesis system (i.e. provide an interface to the system by which the user can interact with the system, adjusting synthesis parameters in an indirect fashion) [7]. The current version of the software acts as an interface to the Fonde d'Onde Formantique (FOF) algorithm [8], which is a granular synthesis technique. Granular synthesis is a technique that builds up a complex sound by constructing a "cloud" of tiny grains of simple sounds, e.g. very short sine-wave bursts. Creation of a sound in a granular synthesis system requires the specification of a large number of parameters, such as the shape of the overall cloud, the fundamental frequency, the way in which the individual grains are generated, the structure of the individual grains used and so forth. Understanding this sound-space is therefore complicated, so we have chosen it as a case study for our methods.

The evolutionary interface to this system works in a way similar to many other IGAs. Members of the population consist of a list of (binary encoded) parameters, which can be put into a synthesis algorithm to create a sound. The user is presented with an interface (see Fig. 1) containing a number of buttons...

pdf

Share