Page  513 ï~~Proportional Recursive Stochastic Composition Using COMP2, a Smalltalk-80 Composition Program Within the Kyma Digital Synthesis System Brian Belet Assistant Professor of Music Department of Visual and Performing Arts Clark University 950 Main Street Worcester, Massachusetts 01610-1477, USA e-mail: Abstract COMP2 is a proportionally governed recursive stochastic composition program written by the composer in 1991 using the Smalltalk-80 programming language within the Kyma digital synthesis system. COMP2 is designed to compose music in which all aspects of the composition are unified aesthetically and procedurally. This is accomplished through the use of a composer-defined set of initial values which directly or indirectly determine all of the required variable values through recursive stochastic procedures. Like its 1985 Fortran predecessor COMP1, COMP2 uses twelve ratios as its generating "Ur set". These ratios correspond to twelve primary interval ratios (or proportions) of Just Intonation, and are used here as an aesthetic dedication to Ben Johnston (although any number of composer-defined values can be used). Two compositions were generated with COMP1, and to date one new work is currently being refined with COMP2 (for flute and Kyma system, with early 1992 performances scheduled). The resulting proportional recursive stochastic compositions utilize pseudo-curved aural space in several parameters to insure that parameter boundaries are neither exceeded nor actually reached. Not specifically microtonal, these works are micro-x-al, where "x" represents every parameter and every relationship in the work. COMP2, operating on the Kyma system, permits real-time software synthesis in an intuitive, composer-friendly, yet extremely powerful desktop environment, which is a significant improvement over COMP1. Introduction It has been and remains this composer's interest to aesthetically and procedurally unify the diverse aspects of human compositional and computer processes within a given musical work. A series of related compositions have been generated using algorithmic programming and software synthesis to explore the possibilities of creating resultant unified compositional complexity from initial aesthetic simplicity ("simplicity" is used here as "elegance"). This relates conceptually to the various explorations and experiments in astrophysics that seek to discover one or more Grand Unification Theories [GUTs] that will ICMC 513

Page  514 ï~~unify the four basic forces of nature (the strong nuclear force, electromagnetism, the weak nuclear force, and gravity; listed in decreasing order of strength) and all of the physical universe that is governed by these forces, into one initial "Ur-force" at the moment of creation. Proportions have been selected as the central unifying programming factor for these compositions as ratios, and ratio scales, offer the most precision for generating, and thereby measuring, relationships in ordered (scalar) systems. In contrast to simpler nominal, ordinal, and interval scales, ratio scales permit an infinite number of points and relationships between any two established scale points (S. S. Stevens. "Mathematics, Measurement, and Psychophysics." Handbook of Experimental Psychology. 1951). COMP1 The program COMP1 was written by this composer in 1985 (revised in 1989) using Fortran to generate score data using proportionally guided, pseudo-recursive stochastic procedures. Two compositions were generated with this program and realized using Music 360 at the University of Illinois' Computer Music Project: At Last! {GUTs la), for twelve live instruments arranged into four spatially separated trios, percussion, and computer tape; and As Long As We Are Here {GUTs ib), for computer tape alone. The computer instruments included two types of additive synthesis (with proportionally determined added partials), AM, and FM (each with proportionally determined and dynamic MI). These instruments stochastically called stored sine and Just-derived audio wave tables for their required fundamental, added partial, carrier, and modulator signals. While COMP1 served as an initial exploration into the unification of the composition process and the resulting sound, there were several limitations presented by both the programming and the synthesis languages. Fortran is not inherently recursive, so extensive duplicate programming blocks were required to simulate recursive processes. Music 360, like many software synthesis languages before and since, separates the score and orchestra in distinct, and therefore separate, conceptual operations. Events are inherently treated as notes and phrases, which affects all aspects, both aesthetic and procedural, of the resulting composition. Music 360 also does not permit real-time sound processing, which dramatically impedes the process of experimenting with raw sounds. COMP2 COMP2 was written during 1991 using the Smalltalk-80 object-oriented programming language within the Kyma digital synthesis system. Both the language and the system carry very little inherent aesthetic prejudice, which leaves the composer quite free to impart his or her own aesthetic concerns and algorithmic procedures throughout the compositional process. The dedicated DSP hardware component (Capybara) permits both real-time and sample-to-disk software synthesis with CD-quality ADC and DAC. Operating on a host Macintosh workstation, the software component (Kyma) permits an intuitive continuum of approaches to constructing and controlling sound structures. There is no distinction between score and orchestra as all structures and procedures are treated as "Sounds", and an unlimited number of nested Sounds may be used. Icons are used to set up dynamic "patches" which can include ScoreLanguage Sounds, each of which contains a Smalltalk program. Like its predecessor COMP1, COMP2 is designed using only generative (additive) procedures so that only the exact amount of final data is generated, in contrast to sieve (subtractive) procedures. The "Ur" material consists of twelve Just Intonation ratios, each manipulated to permit both increasing and decreasing change in variable values. ICMC 514

Page  515 ï~~Just Interval Ratioalu __ 1./Ratio,/Vlu1I M7 15:8 1.875 8:15 0.533" m7 7:4 1.75 4:7 0.57 M6 13:8 1.625 8:13 0.615 m6 8:5 1.6 5:8 0.625 P5 3:2 1.5 2:3 0.66 _ A4 11:8 1.375 8:11 0.7272 P4 4:3 1.333" 3:4 0.75 M3 5:4 1.25 4:5 0.8 m3 6:5 1.2 5:6 0.833' M2 (large) 9:8 1.125 8:9 0.88W M2 (small) 10:9 1.11T 9:10 0.9 m2 16:15 1.066_ 15:16 0.9375 Table 1. Structural ratios derived from Just Intonation intervals. These ratios are used to generate all aspects of the composition, from large-scale temporal structure and densities to detailed selection of event start time (including whether there be sound or silence), duration, sound source (live or computer-generated instruments), frequency, amplitude, timbre (including reverb), articulation, and location. (t C14QÂ~ 6O6 6 c5 Â~1 05 I I. 00 I II 6 0 0 M M N O O 1 11 0 oc6 ISI 00 6 00 00 00I p O O,:5) I i SI II I 0.0 I II I i I I I II I I I (0.5) I II I II I I II I I 1.0 At Figure 1. Proportional division of total time (normalized to 1.0) using 1./Ratio values (0.5 < x < 1.0) and their reflections around 0.5, [1. - (1./Ratio)] (0.0 < x < 0.5). The program uses a random number generator, focused by various probability tables (themselves generated by the initial set of ratios), to make the necessary decisions of temporal change in each event parameter. This process serves as the computer analog to the composer's "intuition", that undefinable process of human creativity. Several parameters operate in pseudo-curved ranges, including frequency, amplitude, reverb, and stereo location (and its related panning operations). This procedure prevents these parameters from exceeding, or actually reaching, their respective boundaries. In these parameters (also normalized to 1.0), proto-values are first proportionally generated, tested against the established boundaries, and then curved if either boundary is exceeded. PRO(n) = Ratio values (increasing proportion a:b, where a > b) ZPRO(n) = 1./Ratio values (decreasing proportion b:a) New (proto-) Value [Vp] = Old Value [Vold] * PRO(n) ICMC 515

Page  516 ï~~For increasing values: If VP > high boundary [HB], then VP = (HB - Void) * ZPRO(n) + Void For decreasing values: If VP,< low boundary [LB], then Vp = Void - [(Void - LB) * ZPRO(n)] Figure 2. Proto-values generated and curved, if needed, to remain within established boundaries. Values thus determined in a global range are then mapped proportionally onto a specific, reduced range when needed. This occurs frequently in the frequency parameter for live instruments: proto-frequencies are generated in the global frequency range of the computer-generated sounds (e.g., between 20 and 10,000 cps, if SR=20,000), and then mapped to the reduced range of a specific instrument. [Note: log = log10] Rg = global range RS = specific (e.g., instrument) range HBg = global high boundary HBs = specific high boundary LBg = global low boundary LBs = specific low boundary Vg = global proto-value Vs = specific value (e.g., mapped frequency) Rfac = range factor Rg = log HBg - log LBg [Note: Rg and Rs are defined as constants RS = log HBs - log LBs in program initialization.] log VP- log LBg Rfac R Vs = antilog [(RS * Rfac) + log LBS] Figure 3. Global values mapped onto specific ranges. This computing environment allows this composer to work more accurately towards the unification of process and structure, of live activity and computer processing, and of computer-assisted composition and computer-generated sound throughout a composition, while still permitting dynamic timbral control (which remains the great strength of software synthesis). A new work for flute and Kyma system, {GUTs 2a} in the series, is currently being refined using COMP2. It is being realized in two performance formats: one for flute and Kyma system operating in real time (for use when the Kyma system is available); and one for flute and previously recorded Kyma-generated tape (when the system is not available). Summary This composer's interest to aesthetically and procedurally unify the diverse aspects of human compositional and computer processes within a given musical work using proportional, recursive, stochastic algorithms is greatly enhanced and advanced through the use of the Smalltalk-80 programming language within the Kyma digital synthesis system. ICMC 516