Modelling Ensemble Performance: Dynamic Just IntonationSkip other details (including permanent urls, DOI, citation information)
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 3.0 License. Please contact firstname.lastname@example.org to use this work in a way not covered by the license. :
For more information, read Michigan Publishing's access and usage policy.
Page 38 ï~~Modelling Ensemble Performance: Dynamic Just Intonation Richard D. Ashley School of Music Northwestern University 711 Elgin Road Evanston, Illinois 60208-1200 USA (708) 491-5431 email: email@example.com ABSTRACT This paper describes a software system for producing just-intonation performances of scores notated in conventional twelvetone equal temperament. The system is composed of a number of 'performers,' made of objects, which monitor each other's current pitch and frequency status as well as the more global harmonic context and tune to one another like an ensemble of strings or voices would. The system is written in Common Lisp and CLOS and is now running on the NeXT. 1. INTRODUCTION This paper discusses a computer program addressing a typical ensemble performance issue: ensemble intonation. Intonation is only one such aspect of performance; others include balance and ensemble timing. Tuning is an interesting first test case for working with computer systems which model, to some degree or other, the ways in which musicians interact with one another dynamically in the course of a performance; some of the lessons learned from this project may then be generalized to other parameters of performance. Some composers have dealt explicitly with special notations for just intonation; most of the systems they have used establish a scale or a finite set of pitch-classes which embody the necessary just interval relationships (an excellent computer tool for such work is the 'Just' application for the NeXT--see Parod, 1990). For music which is more chromatic, an increasingly large set of pitch-classes and accidentals is needed. Sometimes this is to allow for a wider range of consonance and dissonance to be used, but at other times it serves mostly to allow simple integer ratios within the chromatic context. Alternately, a relatively few kinds of pitch-classes and accidentals may be used, with the composer intending for the performers toplay something rather different.than the pitches actually notated--for example, indicating either standardtwelvetone equal temperament (TTEqT) or quarter-tones where simple integer ratios (such as those of just intonation) are actually intended to be performed. This project follows the last approach, using dynamic just intonation. On this model, the frequency of each note of the context is adjusted to produce a 'good' interval. In this, no attempt is made to delimit a pre-defined scale or set of pitchclasses. Rather, the frequency for each note is adjusted according to the musical context, guided by harmonic analysis and a set of heuristics for deciding what the 'best' just intervals are in that context. The end result is a harmonic context guided by frequency ratios rather than pitch-class names. 2. BASIC STRUCTURE OF THE SYSTEM I have implemented a system, called TuneUp, which models the kind of dynamic ensemble tuning described above. This system is comprised of: "a set of objects functioning as performers which 'communicate' with one another; * a database of information concerning harmonic functions and preferred tunings, and a set of functions for dealing with this database; and * a set of i/o functions which connect TuneUp to a sound synthesis system. TuneUp is written completely in Common Lisp using CLOS, and runs on the NeXT computer using the Music Kit as its sound-output system. At this time I am using the Common Music system (Taube, 1989) and associated CCRMA software as the sound-production substratum for TuneUp. The heart of TuneUp is a hierarchy of CLOS objects which define performers--using instruments and voices--which can communicate with one another. These performers are not 'instruments' in the sense of being synthesis patches; rather, they 38
Page 39 ï~~define a set of ways in which the instruments will behave according to context. The performer-objects have slots defining their notated pitches and their played frequencies; the performers are also aware of the current harmonic context, as well as the pitches and frequencies of the other instruments playing. The actual frequency played by a given instrument for a notated pitch will vary according to context, as happens with live ensemble performances. A partial rendering of the hierarchy used for most current testing is shown below, as Figure 1; classes (e.g. 'tenor') are in single boxes, with instances (e.g. 'enor 1') in double boxes. / Instrunment L./ [Voice [ Fret ] [iO! Luciano IJose Kid Figure 1: Performer-object hierarchy Each performer contains a number of slots, for such things as its name, the pitch-name, amplitude, and frequency of its current and previous notes, attack-time, range, and synthesis patch. The slots receive information from the score, which is represented as a note-list; their values are also altered dynamically according to the current harmonic context. 3. OPERATION OF THE SYSTEM: EARLY VERSION In its first version, TuneUp is a non-real-time, two-pass system. Pass 1 goes through the score, which is initially set up TTEqT, and has the instruments adjust their pitches. Pass 2 then performs the retuned score. The retuning works by interperformer communication. The performers post their pitches on central data structure, like a blackboard; the various pitches involved are then assembled into a chord type, and mapped onto chord tones within the chord type; these assignments are then returned to the performers from the analysis system. Each performer evaluates its place in the context, and finally one performer chooses itself as the 'reference pitch' to which all others should tune, announcing this to the ensemble at large. As the performers retune, they use a chord database. The chords themselves are stored as pitch-class sets, without inversional equivalents, with the frequency ratios between chord members. For example, a major triad is: chord-type: major-triad pc-set: (0 4 7) root-ratio: 1.0 third-ratio:1.25 fifth-ratio:1.5 indicating the generic type of chord, its pitch-class-set representation, and the just tuning ratios for the chord members. One major way in which TuneUp differs from other systems proposed for contextual tuning (such as Dannenberg & Benade, 1983) is its use of high-level constraints on the flexibility of tuning. Each performer definition has a slot for "fixed-notes," pitches which cannot be retuned. These are dependent on the nature of the instrument, voices have no fixed notes, viol-type instruments have their open strings and associated harmonics as fixed notes, and fretted stringed instruments and keyboards have all of their notes as fixed tones. A fixed note in one of the instruments requires that all other sounds tune to it, if possible--as happens in instrumental ensembles. Another interesting and experimental, aspect of TuneUp is its use of loca and global tonics as pitch-references in tuning; they serve as locally 'fixed' notes. In addition, in order to maximize, 39
Page 40 ï~~compositional power, the 'fixed note' element of the system can also be used to specify precise tunings desired by the composer. When a score is being retuned, the performers work within the context of some general constraints. These are: " tune variably-pitched notes to fixed notes; " tune newly-entering notes to the most stable relationships obtaining from the previous chord (either as common tones, suspensions, or fifth-relationships); " maintain a good relationship to the tonic, either that holding globally or a more local tonic; " hold 'drift' of pitch to a reasonable and small level. These constraints are applied to the process of retuning the score in the order shown; the final result is that each chord is examined with regard to its immediate and more global context before retuning. As an example of TuneUp.retuning a ITEqT score, consider the following passage from Monteverdi's Vespers of 1610--from a period well before the applicability of TTEqT. The frequencies each note would have in TrEqT are shown next to the note, on the left of the slash; TuneUp's retuned frequencies are to the right of the slash. 196.00/196.00 220.00/220.50 230.08/23520 261.63/261.33 ' /196.00/196.00 185.00/183.75 196.00196.00 220.(217. 98.00/98.00 146.83/147.00 196.00/196.00 1 ~U-. 261.63/261.33 220.00217.77 233.08/ 261.63/ 293.66/290.38 261.63/261.33 232.30 262.215 220.001217.77 220.00/217, 174.61/174.22 116.54/116.15 174.61/174.22 LAI _ _ _ _ _ _ _ _ Figure 2: Duo Seraphim (Monteverdi: Vespro della beate Vergine, 1610) equal temperament/just' tuning The flow of retuning in the example works as follows: Measure 1: Tonic is G; low G is a fixed note for 'cello; Tenor I and Tenor 2 tune to the cello. Measure 2: As a common tone, Tenor 2's G is held steady and not retuned; the D in the 'cello is a fixed tone and is not retuned; Tenor l's A is tuned at the just 3:2 ratio to the cello; finally, Tenor 2's F-sharp is tuned to a 5:4 ratio with the cello's D, completing the just major triad based on the fixed D of the 'cello. Measure 3: As the current tonic, Tenor 2's and the 'cello's Gs are set as 1:1 and 2:1 ratios to their Gs of Measure 1. Tenor l's B-flat is tuned at 5:6 with the G. Measure 4: No tones are in common with the prior sonority. The 'cello F is tuned to a 9:8 major second with the Gof the prior measure, and the other notes are tuned relative to this one. Measure 5: The 'cello B-flat is tuned 3:2 to its prior F, and B-flat is proposed as a new local tonic. The tenors tune tothe'cello in a 1: 2:5 ratio. Measure 6: The 'cello F returns to the 'tonic' frequency set in mm. 4-5; the tenors tune a just 1:4:5 triad. Thus, TuneUp does retune the score to produce a close approximation to just tunings. 40
Page 41 ï~~4. OPERATION OF THE SYSTEM: CURRENT VERSION The first version of TuneUp works as intended; it takes a note-list in normal pitch notation and provides a just-intonation version of that score. This could be adapted now as a real-time system to provide a dynamically retuning keyboard. One could then, for example, perform Renaissance madrigals or movements from the Art of Fugue on the keyboard and have them sounding in just intonation instead of TTEqT. With a sufficiently powerful computing engine, such as the IRCAM board for the NeXT, this might be feasible.... As an engineering solution to a musical goal, the first version of TuneUp works well. However, a different and more sophisticated set of issues have emerged in the course of developing the system. These include: *The 'tune-to-me' model used in the first version is too crude. Performers make continual adjustments over the course of a single performance and over different performances. How might this be modelled? Â~It would be preferable to have another means of representing 'good' relationships between instruments besides table lookup, so that the methods might be more easily generalized. "Performers use contexts which include the future--anticipating upcoming events--as well as the present and the past. It would be good to have ways of modelling this process as well. I am now working with a second version of the system to address these points. One of the major points of this second version is to begin developing performers whose contextual behavior can alter not only their tuning, but also dynamics (for balance and expression) and timing within the ensemble. What is emerging at this point is less like a rule-based system--the underlying metaphor for Version 1 of TuneUp--and more like a constraint-satisfaction system, where each performer's state acts a constraint on all other performers' actions. In Version 2, now under development, each performer retunes his note cyclically during its lifetime, not just before it is played. As each player tunes, others adjust to the new context, causing a small but constant flux in the frequency relationships of the chords. Ratios are not stored with the chords in a table but are calculated from the pitch information in the note-list. Thus, within the overall constraints of their instruments, the performer objects have to 'decide' what ratio to play, and adjust accordingly, instead of being told what to do. This is, overall, a more realistic situation. Finally, the performer objects can look ahead in the context a couple of events and do some rudimentary planning about what to do next. In this way things like approaches to open strings and anticipations of new harmonic structures can be handled more gracefully. This version of TuneUp is still too new to evaluate well. However, there are a number of good points about it which have emerged so far. First, the interaction between the performer objects is more plausibly like that of a human ensemble." A score can in fact be retuned different ways in different performances, which is also more realistic than the single retuning produced by the first version. Tuning is only one of the areas in which contextual adjustment of performance values might be interesting in computer music performance. Others include variations of rhythmic content for expressive performance (as for example when a jazz soloist will deviate from the 'notated' rhythms of a song, moving on either side of the beat for expressive reasons) and ensemble balance, bringing out lines to different degrees depending on their relative function in the texture (as haupstimme, nebenstimme, and so forth). However, these require a much different kind of analysis than the pitch-class-to-frequency mapping used here, and the problems are more difficult. Further investigation is needed to ascertain the feasibility and desirability of such systems. 5. ACKNOWLEDGMENTS Thanks to: Bill Parod, for his excellent tool for working with tunings, JUST; to Gary Kendall, for intellectual stimulation and collegiality; and to Ben Johnston, for the power and beauty of just intonation in his compositions. 6. REFERENCES Dannenberg, R., & Benade, A. (1983)An automated approach to tuning. Proceedings of the ICMC, 1983, pp. 80-91. San Francisco: Computer Music Association. Parod, W. (1990) A tuning system laboratory for the NeXT computer. Proceedings of the ICMC, 1990, pp.335-337. San Francisco: Computer Music Association. Partch, H. (1974) Genesis of a Music. New York: Da Capo Press.o Taube, H. (1989) Common Music: A compositional language in Common Lisp and CLOS. Proceedings of the ICMC, 1989, pp. 316-319. San Francisco: Computer Music Association. 41