Page  233 ï~~Cellular Automata Synthesis of Acoustic Particles Eduardo Reck Miranda Centre for Music Technology - University of Glasgow 14, University Gardens - Glasgow G11 8QQ - Scotland - United Kingdom E-mail: eduardo ABSTRACT In this article I introduce a sound synthesis system, Chaosynth, that uses a cellular automaton to produce sounds and explain how I used parallel programming to speed up its performance. Chaosynth is inspired by the granular synthesis technique; it functions by generating large streams of acoustic particles in order to form complex soulnd events. Most granular synthesis techniques use stochastic methods to control the formation of the sound events. Chaosynth, however, uses a cellular automaton. A full html project report is available in the World Wide Web:, Introduction: Granular Synthesis and Chaosynth The granular synthesis of sounds involves the production of thousands of short acoustic particles (for example, 50 milliseconds each) in order to form larger sound events. This synthesis technique is inspired by Denis Garbor's proposition that larger complex sound events are composed of simple acoustic particles, or sonic grains (Garbor, 1947). The composer Iannis Xenakis (1971) suggested the first theory of granular sound representation for musical purposes and several others (for example, Barry Truax (1988) and Curtis Roads (1991)) have proposed granular synthesis systems. So far, most of these systems use stochastic methods to control the production of sonic particles (for example, density and duration of particles). With Chaosynth I propose a different method: the use of a cellular automaton. Cellular Automata, Music and ChaOs Cellular automata (CA) are mathematical models of dynamic systems in which space and time are discrete and quantities take on a finite set of discrete values. Various composers and researchers have used CA to aid the control of both higher level musical structures (musical form) and lower level sound structures (that is, the spectrum of a sound event) (Millen, 1990; Miranda, 1993; 1994). Chaosynth uses CA to control the inner structure of sounds. A cellular automaton (CA) is often represented as a regular array with a discrete variable at each site, referred to as a cell. The state of a CA is specified by the values of the variables at each cell. It evolves in synchronisation with the tick of an imaginary clock, according to an algorithm called global transition function, which determines the value of a cell based upon the value of its neighbourhood (Cood, 1968; Wolfram, 1983). As implemented on a computer, a CA is represented as a grid of tiny rectangles; each rectangle represents a cell and the values of cells are indicated by different colours. The CA used in Chaosynth is called ChaOs (an acronym for Chemical Oscillator) (Miranda et al., 1992). The values of the ChaOs cells are represented by a number between 0 and n-1. The value 0 corresponds to a quiescent state, whilst the value n-1 corresponds to a burned state. All values between 0 and n-1 exhibit a degree of depolarisation; the closer a value gets to n-i, the more depolarised it becomes. The global transition function of ChaOs is defined by 3 rules simultaneously applied to all cells: (a) if a cell is quiescent: it may or may not become depolarised at the next tick of the clock. This depends upon the number of polarised cells (Pcells) in its neighbourhood (8 neighbours), the number of burned cells (Bcells) in its neighbourhood and the cell's resitance to depolarisation (rl and r2); cell = int(Pcells/ri)+int(Bcells/r2) (b) if a cell is depolarised: its tendency is to become more depolarised as the clock continues to tick. Its state at the next tick of the clock depends upon two factors: the capacitance k of the cell and the degree of polarisation of its neighbourhood. The degree of polarisation of the neighbourhood is the sum of the numbers which correspond to the states of the 8 neighbours (Pdegree) divided by the number of polarised neighbours (Pcells); cell = k+int(Pdegree / Pcells) (c) if a cell is burned: ChaOs generates a new quiescent cell at the next tick of the clock. The Mapping Technique - Each acoustic particle produced by Chaosynth is composed of several partials (additive synthesis); each partial is a sinewave produced by an oscillator. ChaOs controls the frequency values and the duration of a particle, but the amplitude values are set up by the user beforehand. The values of cells are associated to frequency values and oscillators are associated to a number of cells. The frequency values of partials at tick I C M C P ROC E E D I N G S 199523 233

Page  234 ï~~of the CA's clock are established by the arithmetic mean of the frequencies associated with the values of the cells that belong to an oscillator. The duration of a whole sound event is determined by the number of iterations of the CA and the duration of the particles; for example, 100 iterations of 50 milliseconds particles result in a sound event of 5 seconds of duration. This mapping method is interesting because it explores the behaviour of ChaOs in order to produce sounds in a way which resembles the functioning of some acoustic instruments. The random initialisation of cell's values in the grid produces an initial wide distribution of frequency values, which tend to settle to an oscillatory cycle. The Parallelisation of the System Chaosynth currently runs on a Connection Machine CM-200, based at Edinburgh Parallel Computing Centre (EPCC) in Scotland. To parallelise the system I used PUL-RD, a tool developed at ECPP (Brown, 1994). PUL-RD splits up a CA into regular subgrids and distributes them for concurrent processing. Each subgrid of ChaOs corresponds to an oscillator (Figure 1). In this case, Chaosynth computes all oscillators in parallel; up to 256 oscillators can be used. Figure 1: Chaosynth computes all oscillators in parallel. 11 I 1 i I i f i i f i i \ \ \ \ Conclusion From the many possibilities for mapping the behaviour of ChaOs onto the parameters of the synthesis algorithm, I have chosen to implemen only one, which is capable of producing interesting sounds. The sounds produced by Chaosynth resemble the sounds of flowing water. It can produce a wide range of bubbling sounds in various flow speeds, by varying the speed of ChaOs' internal clock. Variations in tone colour are achieved by varying the frequency values associated to cells and the amount of cells per oscillator. Different rates of transition, from noise to oscillatory patterns, are obtained by changing the values of rl, r2 and k. The system was implemented with the support of Martin Westhead and Robert Fletcher of EPCC. References Brown, S (1994), Parallelising Grid-Based Applications with PUL-RD, EPCC. Cood, E. F. (1968), Cellular Automata, Academic Press. Gabor, D. (1947), "Acoustical Quanta and the Theory of Hearing", Nature, 159(1044):591-594. Millen, D. (1990), "Cellular Automata Music", ICMC Glasgow 1990 Proceedings, pp. 314-316. Miranda, E. R. (1993) "Cellular Automata Music: An Interdisciplinary Project", Interface, 22(1):3-21. Miranda, E. R. (1994) "Cellular Automata Music Composition", Languages of Design, ( 1994)2:105-107. Miranda, E. R., Nelson, P. and Smaill, A (1992), "ChaOs: a Model for Granular Synthesis by means of Cellular Automata", Annual Report & Project Directory 1991-92, EPCC, pp. 153-1-56. Roads, C. (1991) "Asynchronous Granular Synthesis", Representation of Music Signals, G. De Poli et al. (editors.), The MIT Press. Truax, B. (1988) "Real Time granular synthesis with a DSP computer", Computer Music Journal, 12(2): 14-26. Wolfram, S. (1983) "Statistical mechanics of cellular automata", Reviews of Modern Physics, 55(3):601-623. Xenakis, 1. (1971), Formalized Music, Indiana University Press. 234 ICMC PROCEEDINGS 1995