Page  165 ï~~Musical Applications of a Cellular Automata Workstation Andy Hunt, Ross Kirk, Richard Orton Music Technology Group University of York Heslington, York YO1 5DD United Kingdom ABSTRACT: The CA Workstation incorporates a user-definable cellular automata driver to produce high definition graphical patterns and textures. Areas of interest to the user can be selected and applied interactively to various musical parameters. The CA output can be mapped to pitch sets or to control data to manipulate external sound generators, typically a MIDI device or a DSP system generating granular streams. The mappings can be controlled in real-time allowing the user to seed and change the harmonic fields, along with the related transition rules as the automaton develops. This paper describes methods by which different partitioned areas of cellular automata output, selected graphically by the user, can be used to control many independent note, control and timbral generators. Introduction Cellular Automata can be conveniently used to produce large amounts of patterned data with a varying amount of self-similarity. This fact has led many people to suspect that they may be readily translatable into musical material because music can be regarded as a series of sounds related to each other in various ways and thus exhibiting structural coherence. Until now many compositions using Cellular Automata (CA) have been created on a computer with the CA algorithms built into the compositional program. This can produce musically interesting results, but most of the time the composer is at the mercy of the algorithm - the music being automatically produced. The CA Workstation described here aims to interrupt this automatic process to let the composer interact directly with the CA at a high-level and thus to t II I!,I. L!*4' t, make significant artistic decisions A j cIr a UNV___ (which are very difficult to put into code) leaving the computer to do all the mathematical work. The opening screen of the workstation (Fig 1 right) allows variety of CA patterns produced ER C[INEI ' graphically at high resolution. At ____ ___ present the user can seed the CA, TOA1S1......I!pL~ i,o0. then let it run with a variety of"..... rule-numbers, neighbourhoods Fig 1: Front Screen of the Cellular Automata Workstation and screen widths.L ICMC 165

Page  166 ï~~A neighbourhood in this context is a set of cells from the current generation which are used to produce the next generation. These cells may or may not be in physical proximity to the one being calculated. The rule-number and neighbourhood can be defined by the user and are then used by the program to determine how the automaton develops. The process can be stopped and started with parameters being changed as often as required. Thus the composer can view a large variety of CA patterns which have been left to evolve from one to many thousands of generations. Areas of particular visual interest can then be 'zoomed-in' on for closer study (see Fig 2 below) and may then be used to control various musical parameters. Musical Parameters The Workstation allows the user to produce data in a variety of forms for controlling musical devices. The simplest - but most restrictive - form of output is the mapping of CA cell data onto pitches which are then sent out as MIDI notes. Pitch-Sets The basic concept of note control is the 'PitchSet'. The composer allocates a pitch to each horizontal cell position across the screen. The note corresponding to that pitch will, be played for as long as the CA has an active (black) cell at the current generation. This process can be visualised to be a moving line which triggers notes (according to the positions of the active cells) as it passes vertically over the pattern. The line can be set to move automatically (with its speed controlled by the user) - or it can be dragged over the pattern by the user with a mouse. This latter form of control begins to turn the workstation into a live performance instrument. As the pattern is played, the user has interactive control over the character of the music, as defined by the currently active pitch set,the note volumes, the octave and semitone transpositions and the choice of instrument. ICMC 166

Page  167 ï~~Not every position in the pitch set needs to contain a,'*;"note. In effect, certain columns of cells can be muted and,, " --:" correspondingly removed from the display by using the,=:. ==a 'pitch-mask' feature (compare Figs 3 and 4).:: "..:::..... U. Other Data Mappings. U.Â~ Â~"Â~ Â~" Â~" Composers need control over many more musical - parameters than note pitches. Thus the workstation allows the - user to partition the CA output into blocks which can be mapped onto data inputs of any electroacoustic or MIDI Fig 4:The same pattern as in Fig 3, but instrument. These blocks are formed from user-nominated with a pitch-mask applied columns in the CA pattern, contiguous or dispersed. In this way the user is allowed to construct data streams which will be used as templates into which variable data from the CA is inserted.. As an example, a control parameter for granular systhesis on a DSP system (such as grain density) can be constructed, where the data is taken from material that the composer chooses from the CA pattern. Alternatively, a MIDI system exclusive or control string (volume, stereo panning, modulation etc) can be created in which the 'value' byte is extracted from each generation of the CA. While the compositional choice in the above examples is made graphically, we recognise that aesthetically pleasing visual patterns do not automatically lead to interesting sounds. Indeed the CA workstation was produced in order that composers could explore this interrelationship. It is possible to regard the CA patterns as providing an iconic representation of material being developed. High-Level Control using MidiGrid The above two examples concentrate on the direct mapping of CA cells into either note or control information. A much higher level of musical control can be obtained by using MidiGrid in combination with the workstation. MidiGrid ['] is a program which allows the user to perform and interact with complex musical material in real-time. Notes, chords, sequences, control strings and entire compositions of arbitrary length can be stored in grid boxes. These boxes can either be triggered by the player (using a mouse) or may be triggered remotely by incoming MIDI notes. This function was originally intended for the player of a MIDI controller instrument (keyboard, wind-controller, drum-pad etc) to be able to remotely trigger musical material stored on the grid. However, it offers the user of the CA workstation a much higher level of control over a palette of musical material. a,,.r "-r -,-;-:,.,The composer can prepare a grid in ty irrrrrrrrrr advance containing all the musical material for * * ', a piece - splitting it up into sections, chords, ri i:.r::: sequences or control data as appropriate. 5 MOTES Next, the pitch-sets within the CA workstation {/' 'ii! i i.::are prepared so that they trigger the boxes i!i~i;!:............................ il~i within MidiGrid when they are activated by the!:::.,.::..:::::::::::: C CA pattern. T hus the co m poser has not only *:::::i... -.....:i:iii prepared a musical palette, but has chosen; "":... '"" graphically the CA pattern which will be used.... to control the performance of the music. At,,,,,,=o,,,,,.,BEATS,, any point the CA pattern, the pitch-sets or the musical material can be altered thus providing Fig 5 Â~A MidiGrid performance screen containing a many levels of feedback for the composer. variety of notes, chords and sequences ICMC 167

Page  168 ï~~Harmonic Evolution One area of investigation for the musical exploration of the CA workstation is that of pitch sets which change in time, giving rise to harmonic evolution. Two methods of control are being implemented: real-time control, and a form of score-control. The former is most suitable for interactive improvisation, in which the musician can learn how different CA parameters can be shaped by the pitches played live at a musical keyboard. The notes played define a dynamic pitch set and this effectively filters the CA output. Here the resulting harmonic evolution is under the direct control of the performer. The other form of control is, we believe, equally important, because it provides a method of composing with the system, and also provides extra facilities not available under real-time control. The 'score' for the harmonic evolution in this case is an ASCII text, giving times in seconds, with their associated pitch-sets. In addition, however, other parameters are specified: transition times and transition rules. Transition times are the durations in seconds over which the change from one pitch set to the next takes place. The transition begins to operate from the time allocated to the target pitch-set minus the transition time, and is completed at that time. The transition time can of course be set to zero, in which case there is a sudden, chordal change. The transition rules are the ways in which the initial pitch set is transformed into the target pitch set. In the simplest implementation the rules are types of substitution, but interpolative and decorative rules are also being investigated. Graphical Manipulation It should be pointed out that the graphical CA patterns may be stored in an intermediate stage as image fileswhich may be graphically manipulated within a picture editing program. Indeed it is possible, as a by-product of this process, to control the music from the output of drawing programs or picture scanners. This can be considered analogous to the preparation of a graphical score, as the resulting material can be loaded back into the CA workstation in order to control the musical material. This process gives the composer the freedom to over-rule the CA output wherever this would achieve a better musical result. Future Work The emphasis of the work so far has been MIDI based. As indicated above, we feel that other possibilities, perhaps relating to granular synthesis, but also to other electroacoustic applications, lend themselves particularly well to treatment by the CA approach. The implementation of this will require a more flexible and high-performance environment. We are therefore proposing to investigate the application of cellular automata concepts to the MIDAS DSP based multi-processor system which was described at last year's conference [2]. References and Useful Reading [1] HUNT A. KIRK R. ORTON R. "MIDIGRID: An Innovative Computer-Based Performance and Composition System". (p392) ICMC GLASGOW 1990 PROCEEDINGS. [2] P.R.KIRK, R.ORTON "MIDAS: A Musical Instrument Digital Array Signal Processor" (p127) ICMC GLASGOW 1990 PROCEEDINGS. [3] WOLFRAM S. "Theory and Applications of Cellular Automata". Singapore, World Scientific (1986). [4] MILLEN D. "Cellular Automata Music" (p314) ICMC GLASGOW 1990 PROCEEDINGS. [5] STEWART I. "Does God Play Dice? - The New Mathematics of Chaos" Penguin (1990). [6] CHAR EYRON J. "Digital Synthesis of Self-Modifying Waveforms by means of Linear Automata". Computer Music Journal Vol 14 No.4 (Winter 1990) p25 - 41. ICMC 168