Page  416 ï~~Graphical Control of Granular Synthesis using Cellular Automata and the Freehand Program Richard Orton, Andy Hunt, Ross Kirk Music Technology Group University of York Heslington, YORK YO1 5DD United Kingdom Email: rol, adh2, prkl @ uk.ac.york.vaxa ABSTRACT: Freehand is a graphical drawing program designed for multiple outputs: to CSound, a DSP environment (MIDAS), a set of Composers' Desktop Project signal processing routines (Groucho), and MIDI. Recent work has focused on its use with granular synthesis techniques, permitting streams to be specified in terms of density, frequency movement, bandwidth and relative amplitude. A novel feature is the use of cellular automata to filter or otherwise modify the output by mapping the cellular automata to the tendency masks produced by the Freehand output. Comparative musical examples will be given. Freehand The essential features of the Freehand program were briefly discussed in a paper at ICMC, Glasgow 19901. Traces which represent musical events can be drawn with a mouse, grouped into objects, and mapped to a choice of one or more outputs. The output to CSound2 has been extensively used while awaiting the MIDAS3 hardware. Freehand creates a number of files:/nputfiles, which are data-reduced representations of the screen traces, and output files, for example a CSound score and a number of data tables which are written in floating-point format (as f/oatsams)to the Composers' Desktop Project (CDP) soundfile system. That they are written as soundfiles is largely a matter of convenience: there can be very many files, and the soundfile area is normally a large block of disk memory capable of storing multiple files. Conversion facilities to normal operating system files and back again exist if this were to be required. Set Instr No, 97- 1 Out utliode 1 11: ' OpnSrenFl / i iii"i e cr uation IIIDAS.! Oe=2 =_: cen2Set Frequency Limits 5roucho Draw Waveforn Save All Files 3 uf:IMuIaI,1I iIMuMa Confirm Tenp. Files 4 Show Field Divisions MIDIC Window Delete Temp, Files 5 =: =========.... MClear All Data Glisand -"Plag?IIDI Read Harmonic FieldVGlsadPayID..........MMM MMMMMMMMMM- MM M..... -.........M,Pla Soundfile Quit 8 / Freedraw O Breakpoints 10 11 12 13 Fiv 1: C"o//age of Freehand menu items ICMC 416

Page  417 ï~~Desk File Set Instr No, Drumlode Out ut.Jode Action Each of these files contains 1K of floats, lying between minus 1 and Free Draitnl plus 1, calculated from the screen coordinates of the traces drawn. In all cases, if using the standard CDP 640 by 400 pixel screen, interpolation between screen points has taken place in order to expand the data to 1K. The most typical use of such trace-data is k to regard them as controls to an oscillator, permitting, for example, glissandi of arbitrary complexity to be made. Within CSound, these tables can be read by GEN 01, and mapped to whatever frequency input is required. Within Freehand it is possible to seti Fg2"Three groups ofFreehand traces frequency limits as offsets which are then written into the CSound score, enabling re-interpretations of the same data to be made with different results. However, as will be readily understood, the data can be mapped onto other parameters, and it is this possibility which has been used to explore the granular synthesis technique. Parameters for Granular Synthesis Let us briefly consider the parameters which we might wish to control in creating granular streams. These might be: stream density (ie, the average number of streams occurring at a particular time); the frequency trajectory of streams; the bandwidth of frequency displacement around the trajectories; the spatial location of a stream, and the positional spread of the grains within the spatial soundfield; the relative intensity of streams, and the degree of amplitude variation permitted within a stream. This is by no means an exhaustive list, but will suffice to indicate that a great many controls are possible, particularly when we wish to vary these parameters during the course of the evolution of streams. There is actually a further important feature, which at least in the CSound implemention of granular synthesis adopted here is tackled by a different route: the harmonic/inharmonic content of the source grains used. There exists within the CDP system a means of graphically controlling the evolution of partials within additive synthesis, where up to sixty-four partials can be individually controlled. By adopting this method, the individual grains can be shaped quite precisely, and the amplitude and frequency values set as scalars to the frequency and amplitude content of the individual grain data, using the adsyn unit generator. Desk File Set Instr Ho. Dra.aode Output.ode Action -- FREEHAND - So Freehand traces may be Free Dring Page 1 Trace Â~ suitably scaled within the score and sent as controls to whatever unit generator output is required for a particular function. The user can assign each trace output to one or more granular control parameters. The same trace may be used for several different controls, with different scales of ". __output, or separate traces may be created. to control as many different functions as " required. In practice, Freehand has been I found to be most useful in controlling I.those aspects which lend themselves to _______________________________________ visualisation, such as the control of fre 3 quency sweeps and spatial positioning, Fig 3. A sin le Freehand trace designed to be used as a qec wesadsailpstoig A Fr guwhile other more statistical data is usually tendency mask for granular synthesis left to control from the score. ICMC 417

Page  418 ï~~Desk File Set Instr No. DrauJ4ode 0utput-aode Action ~~ FREEHAND i Free Draulno Page I Trace 4 Fi 4. Two pairs of Freehand traces designed to limit the tendency masks. Control data is limited to the regions between the traces. Since scores contain many thousands of individual events, it is important to find an automatic way to produce them. One method is to use CScore' to generate the score according to stochastic principles from special format data files5. Here the broad tendencies of the streams to move in a particular direction can be described in the data file, which is then given particular detailed shape by the application of CScore. We envisage two methods by which this may be done: the first, which we term 'parallel' streaming, is achieved by creating a single Freehand data trace which provides the tendency mask. Successive perturbations based on stochastic processes are applied to the mask in order to produce multiple stream outputs to the stream density required. The second method, which we term 'serial' streaming, is again produced starting from a single trace. In this case, however, the trace is replaced at each stream generation by perturbations applied to its predecessor. This produces stream textures which tend to deviate further from the original trace. In each case, CScore creates an often massive score which is normally retained only long enough for the synthesis to take place. Instead of using CScore to provide these perturbations, the output of a Cellular Automaton (CA) can be used. The CA Workstation described elsewhere in these Proceedings can produce several tables of numbers calculated from user-partitioned areas of the CA pattern6. These values are scaled such that when applied to the tendency mask, the results remain within the frequency limit specified by the Freehanduser. An extension of this concept is to specify two tendency masks as upper and lower constraints for the perturbations allowed. These two tendency masks are permitted to cross - possibly more than once - since the crossing point merely implies a non-perturbed singular value. With this method pulsating bandwidths can be created. Future Work We are currently working on implementations of the granular synthesis perturbation technique operating under the MILAN procols used by the MIDAS system7. This is being undertaken initially by simulation on the NeXT computer before being ported onto the MIDAS hardware. In this way a preliminary evaluation of the MILAN protocols can be carried out. References [1] KIRK, P.R., ORTON, R. "MIDAS: A Musical Instrument Digital Array Signal Processors. (P. 127) ICMC Proceedings, Glasgow 1990. [2] VERCOE, B. CSound, M.I.T. The Composers' Desktop Project supports this synthesis and processing environment. [:3] See Reference 1, above. [4] CScore provides a 'C' library for the creation of scores, and is released with the CSound software. [51 We are grateful to Peter Bowcott, who originally suggested the use of CScore to expand reduced storage data. [6] See HUNT, A. KIRK, R. and ORTON, R. "Musical Applications of a Cellular Automata Workstation". ICMC, 1991. [7] See Reference 1, above. ICMC 418