Risset's Arpeggio

Composing Sound using Spectral Scans

Reginald Bain
University of South Carolina
rbain AT mozart.sc.edu

Introduction

Composer and research scientist Jean-Claude Risset's harmonic arpeggio instrument produces a beautiful drone-like sound, over which occurs a downward cascading arpeggio of a composer-specified subset of the harmonic series. The instrument's timbre is likened by some to the sound produced by an overtone singer. Created by beating patterns that result from closely-spaced sinusoids, Risset describes the arpeggio gestures as "spectral scans" [1]. "Risset's arpeggio" is a perfect vehicle for exploring Risset's interest in creating instruments that are sonic processes and are capable of producing rich timbres that respond predictably under precise parametric control. What is more, the instrument is a convenient entry point into the worlds of spectral composition and sine wave interference patterns. Inspired by Risset's amazing instrument, the author employed similar designs in his Csound composition Strange Attractors & Logarithmic Spirals (2001) [2]. This article introduces Risset's instrument and then presents some compositional examples that demonstrate how the author extended it for use in his aforementioned composition.

Note: This article uses a Greek letter that may not correctly display in some browsers. If the Greek capital letter delta is not displayed here: Δ, please try another browser like Mozilla, Opera, Safari, etc. that supports the use of this character.

I. The Arpeggio Instrument

Historical Background

Risset's arpeggio is one of the examples presented in his "Introductory Catalogue of Computer Synthesized Sounds," a collection of timbres and sonic processes that he created at Bell Telephone Laboratories [3]. He assembled this collection in 1969 for one of the first computer music courses at Stanford University [4]. Originally coded in MUSIC V, Csound versions of the instruments are currently available to the reader in the The Csound Catalog with Audio CD-ROM[5] and Amsterdam Catalogue of Csound Computer Instruments (ACCCI) [6]. Finally, it should be mentioned that the arpeggio instrument is prominently featured in Risset's compositions Inharmonique (1977), Songes (1979) and Contours (1982) [7].

Csound Code Examples and Prerequisites

This article has seven downloadable code example files (see the .zip file above). These example files are referred to in the article and should be rendered using Csound so that the audio examples may be heard. Example 1 shows the Csound code for Risset's arpeggio that is used in the first code example file and in the discussion that follows.

The reader should be aware that the code presented in Example 1 differs from Risset's original instrument and is based on the Csound code published in The Csound Catalog. Readers in need of a canonical version of the Csound code for Risset's instrument should consult The Csound Catalog or the ACCCI versions cited above. Finally, it should be mentioned that a basic knowledge of the harmonic series and Csound syntax is assumed below. Readers in need of a Csound tutorial for beginners should consult Richard Boulanger's Introduction to Sound Design in Csound, Chapter 1 of the The Csound Book, which is available in print and online [8].

Controlling the Pitch Content of the Arpeggio

We begin our discussion of Example 1 with the score code's f-statement. As shown in Figure 1, GEN10 [9] is used to create a composite waveform built from the weighted sum of seven sinusoids.

; 1 2 3 4 5 6 7 8 9 10
f1 0 4096 10 1 0 0 0 .7 .7 .7 .7 .7 .7

Figure 1. GEN10 controls the pitch content of the harmonic arpeggio.

The comment statement (;) numbers the harmonic partials of GEN10. The frequency relationships in the GEN10 specification are:

f, 5f, 6f, 7f, 8f, 9f, and 10f,

where f is the fundamental frequency [10]. To obtain the actual frequencies of the seven sinusoidal components, multiply the respective partial numbers by the fundamental frequency (ifreq) given in the i-statement in Figure 2.

Figure 2. The i-statement specifies the fundamental frequency, as well as other parameters.

The seven frequencies specified by the GEN10 routine in Figure 1 are:

96, 480, 576, 672, 768, 864 and 960 Hz,

whose relative amplitudes are

1, 0.7, 0.7, 0.7, 0.7, 0.7 and 0.7,

respectively. In Figure 1, be sure to note that partial 1's amplitude value is set to 1 (giving it some extra weight) whereas partials 5, 6, 7, 8, 9 and 10 are all set to the same lesser value 0.7. Note too how partials 2, 3 and 4 are omitted by setting their values to 0. The GEN10 routine sums these seven sinusoids and creates the requested 4096-point function table (f-table) f1 which loads at time 0 [11]. Figure 3 shows one cycle of f1's waveform alongside its spectrum[12].

We will refer to the waveform/spectrum stored in the f-table as the source spectrum because, as we will soon see, it controls the pitch content of Risset's arpeggio.

GEN10 is an ideal tool for creating composite waveforms from harmonically-related sinusoidal components that have static amplitudes. For example, the f-statement in Figure 4 generates f-table 2 (f2), a source spectrum based on the first 16 partials of the harmonic series, in a single line of code.

Notice that, unlike the partial configuration in Figure 1, all of the partials here are equally weighted. To emphasize certain partials over others the relative amplitude values of the GEN10 routine must be strategically weighted. For composers interested in exploring the harmonic and linear resources implied by harmonic series proportions, it may be useful to think of the series in terms of traditional music notation. Since 96 Hz is approximately the pitch G2 (C4 is middle C), we show the series on that fundamental pitch in Figure 5.

Figure 5. Traditional music notation for the first 16 partials of the G2 harmonic series.

The noteheads of partials 7, 11, 13, and 14 are filled in because their tunings are significantly different (lower or higher, respectively) than their equal-tempered counterparts. Of course, the harmonic series contains an infinite number of possibilities for compositional exploration. Two interesting examples include the 6:5:4 just major triad

f3 0 4096 10 0 0 0 1 1 1

stored in f3, and the natural scale created from partials 8-16 (with partial 14 omitted) stored in f4.

f4 0 4096 10 0 0 0 0 0 0 0 1 1 1 1 1 1 0 1 1

Rendering code example file "1-RissetArpeggio.csd" using Csound, we can hear Risset's arpeggio of source spectrum f1, as well arepeggios of f2, f3 and f4.

When f1 is the source spectrum, Risset's harmonic arpeggio sounds something like the gesture notated below in Figure 6.

Figure 6. Chantlike music notation approximating the first seven seconds of
the arpeggio of source spectrum f1.

Although this chantlike notation (with harmonic partial numbers) can convey the basic pitch sequence for the first few seconds of the arpeggio, it is difficult to notate the gesture over longer time spans. One remarkable feature of Risset's arpeggio is the heavily accented attack phase of the tone. This is caused by the phase relationships between its constituent parts. In order to get a better sense of the range of possibilities that may be explored, we need to gain a better understanding of how this instrument exploits wave interference patterns between slightly mistuned digital oscillators to create such beautiful, and intricately-woven, musical fabrics.

Instrument Design

Charles Dodge and Thomas Jerse provide an analysis of Risset's instrument in their book Computer Music: Synthesis, Composition, and Performance [13]. The authors discuss the instrument's appearance about 3 minutes into Risset's composition Inharmonique, describing its sonic quality as dronelike with a clearly perceived fundamental, over which occurs a downward cascading arpeggio through the harmonic series. Looking at Example 1 (a) again, we can see that nine interpolating oscillators (oscili) create this dynamic timbre. All nine oscillators share the same amplitude envelope (aenv), phase (0) and composite waveform (iwf), however, each oscillator is tuned to a slightly different fundamental frequency. As Figure 7 shows, the frequency offset variables evenly space the fundamental frequencies symmetrically above and below ifreq.

In total, 63 sinusoids are interacting to create the arpeggio of f1. For source spectrum with n sinusoidal components, 9n sinusoids are interacting to create the arpeggio. Because the frequency offsets are all expressible in terms of i1, Figure 8 shows one way to view Risset's instrument: as the source spectrum (ss) applied to each of the nine symmetrically mistuned fundamental frequencies.

a9

a7

a5

a3

a1

a2

a4

a6

a8

ss(ifreq-4i1)

ss(ifreq-3i1)

ss(ifreq-2i1)

ss(ifreq-i1)

ss(ifreq)

ss(ifreq+i1)

ss(ifreq+2i1)

ss(ifreq+3i1)

ss(ifreq+4i1)

Figure 8. The source spectrum (ss) applied to each of the nine symmetrically mistuned fundamental frequencies.

The Beating Effect

When two sinusoids with slightly different frequencies (and with equal amplitudes and phases) are summed, the result is an interference pattern called first-order beats, or more informally beats[14]. Beats are the periodic variation we perceive in the amplitude of the resultant tone. Most musicians are familiar with this beating effect from the traditional role it plays in tuning instruments. A bit of trigonometry, however, is required to describe the phenomenon precisely. Say the frequencies of the two sinusoids we want to mix (see the + sign in equation 1, below) together in Csound are f1 and f2 (each sinusoid with amplitude 1 and phase 0), the resultant waveform may be described by equation (1).

Equation (2) shows that the linear superposition of the two sine waves in equation (1) is another sine wave whose frequency is the average of the two original frequencies and whose amplitude is modulated (see the * sign in equation 2, above) by a cosine wave. The average of the two frequencies, (f1+f2)/2 in equation (2), is called the center frequency. The periodic variation in the amplitude of the resultant tone is caused by the cosine wave. The number of variations per second we perceive, called the beat frequency (Δf), is equal to the difference between the two frequencies. Note that it matters not whether f1 is greater than f2, or f2 is greater than f1. Equation (3) shows a concrete example, the sum of two sub-audio sinusoids (f1 = 1 Hz, and f2 = 1.1 Hz) whose frequencies are close and whose amplitudes have been scaled by 1/2 so that the peak amplitude of the resultant waveform is 1.

(3)

Figure 9 (a) shows the graph of the destructive interference pattern created by equation (3).

(a)

(b)

Figure 9. Beats.

Figure 9 (b) shows the same graph with the cosine "amplitude envelope" outlined. Rendering code example file "2-Beats.csd" using Csound, we can explore a wide variety of beat patterns. For example, 440 and 442 Hz sinusoids produce 2 beats per second; as do 440 and 438 Hz. (i.e., Δf= 2); 440 and 443 Hz produce 3 beats per second, as do 440 and 437 Hz (Δf= 3); and so on. Experimenting with frequency separations less than1 Hz:440 and 440.1 Hz produces 1 beat every ten seconds (Δf= 1/10); 440 and 440.2 Hz produce 2 beats every ten seconds, which simplifies to 1 beat every 5 seconds (Δf= 2/10 = 1/5); and 440 and 440.08 produce 8 beats every 100 seconds, which simplifies to 2 beats every 25 seconds (Δf= 8/100 = 2/25); and so on. Be sure to experiment with a wide variety of values for f1 and Δf.

Finally, it is important to understand that at a certain frequency separation, the beating sensation gives way to a sensation of roughness. At a still larger separation, two separate tones are perceived. We can explore this continuum of sensations by holding f1 constant and slowly moving f2 away from it in either direction. Code example file "2-Beats.csd" also contains a simple tone experiment that holds f1 constant at A4, 440 Hz. while f2 glissandos exponentially from: (1) 440 to 660 Hz, up a 3:2 fifth; and (2) 440 to 293.333 Hz , down a 3:2 fifth. First we hear a unison, followed by beats, then we experience a sensation of roughness, and ultimately two separate tones (not to mention combination tones). When Δf is less than about 10-15 Hz we typically hear the beating effect, but keep in mind the exact value depends on frequency.

Controlling the Rate of the Arpeggio

Rendering code example file "3-ArpeggioRate.csd" using Csound we can explore how ideltaf, or i1, affects the rate of the arpeggio for a given source spectrum. In general, the larger the value of ideltaf the faster the rate of the harmonic arpeggio. Values less than about 1/10 Hz are typically useful.

To understand why Risset's instrument produces the downward cascade of the source spectrum's component frequencies, it is helpful to create a 7 x 9 matrix of all the frequencies involved [16]. Furthermore, if we set ifreq and ideltaf to convenient values, it is much easier to see the harmonic partial and beat frequency relationships. For example, if we set ifreq to 100.4 and ideltaf to 0.1 Hz we get the following convenient set of nine mistuned fundamentals:

S= {100, 100.1, 100.2, 100.3, 100.4, 100.5, 100.6, 100.7, 100.8}.

Applying source spectrum f1 to the nine members of S, we get the 63 frequencies shown in Figure 10.

Rendering code example file "4-Fig10Matrix.csd" using Csound, we can hear each row of the matrix presented in high-to-low order (i.e., 10S, 9S, 8S, etc.), first individually, then superposed one at a time until all rows are sounding together. (It should be mentioned that unlike in Example 1, this example uses 63 equally-weighted sinusoids.) When the rows are played individually, be sure to note the distinct interference pattern created by each row. When they are superposed, be sure to note how Risset's arpeggio slowly begins to emerge as each row of the matrix is added. The relative rates at which the rows reach peak amplitude might be described as a 10:9:8:7:6:5:1 polyrhythm. The differing rates cause the members of the f1 source spectrum (represented by the rows of the matrix) to come into phase in descending order, creating the downward cascading effect. For longer durations, a macro-level textural "phasing" effect becomes apparent that is similar to the resultant patterns found in the phase music of American composer Steve Reich [17].

To gain an even deeper appreciation for the complexity of the beating effect, consider that each row of Figure 10 actually produces 36 first-order beating pairs of sinusoids. This is the number of 2 element combinations created by each 9-tone row [18]. If second-order beats (e.g., beats between octave-related sinusoids) and binaural beats (beats between sinusoidal pairs presented separately to the left and right ears) are taken into account, there are even more possibilities to consider.

II. Strange Attractors & Logarithmic Spirals

Extending Risset's Instrument Design

The author's Csound composition Strange Attractors & Logarithmic Spirals sets two beautiful mathematical forms into opposition: strange attractors, chaotic systems that cycle periodically, yet never repeat exactly the same pattern; and logarithmic spirals, a familiar shape found through nature and art. The attractor featured in this work is the Lorenz Attractor, a chaotic system of differential equations discovered by MIT scientist Edward Lorenz [19]. When initialized with a special set of values, the values employed in this work, its graph bears a striking resemblance to a butterfly. The sonification of the Lorenz Attractor that is used in the work is based on an instrument design by Hans Mikelson [20]. This instrument produces sounds that range from noise pulses to percussive zips and buzzes. A discussion of the Lorenz Attractor instrument is beyond the scope of this article. However, all of the other sounds in the work were produced using variations on Risset's arpeggio, so that is where we will focus our attention for the remainder of the article.

Example 2 shows the orchestra code for instr 3, an extended version of the Risset instrument.

Rendering code example file "5-SA&LS1.csd" using Csound, we can hear the raw musical material for the section beginning at 0:40, and ending at 1:20, in the author's Centaur recording [2]. This example includes neither the Lorenz Attractor sounds nor the reverb that was added outside of Csound. This passage also features instr 1, an instrument with essentially the same structure as instr 3 except that it does not employ the moving-pan routine. Rather, it relies on the beating patterns created between the left and right channels to create a dynamic stereo image. To keep the master stereo signal levels in balance, note events are often paired in left-to-right (L->R) and right-to-left (R->L) combinations as shown in Figure 12.

In Example 1, the amplitude envelope is created using the linen opcode. Here the envelope is created with the oscili opcode and its shape with GEN07. The static frequency variable ifreq in Example 1 is replaced with the exponential control signal kfreq. This allows glissandi to be specified using the glissando distance parameter igldst. This parameter is expressed as the decimal equivalent of an ascending or descending interval frequency ratio. For example, igldst = 1.5 specifies a glissando that ascends a just perfect fifth (3:2), whereas igldst= 0.5 specifies a glissando that descends an octave (1:2).

Fibonacci Numbers as Compositional Determinants

As explained in the first part of this article, Risset's instrument can be used to create "spectral scans" of lines and harmonies implied by the harmonic series. This simple approach to spectral composition dominates the work as a whole. Another important structural model is the Fibonacci sequence [22].

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, ...

Every musical parameter in the work is derived from it in one way or another [23]. Its connections to the logarithmic spiral [24] and golden ratio [25] are also explored, for example, as the pitch interval 1.618:1 spanned by many of the exponential-shaped glissandi [26]. The equations for the logarithmic spiral and golden ratio are given in Figure 15.

The work's free intonation is shaped by the fact that the sequence of Fibonacci ratios (1:1, 2:1, 3:2, 5:3, 8:5, 13:8, 21:13, 34:21, etc.) converges to the golden ratio. For variation and contrast, the related Lucas sequence is also employed [27].

1, 3, 4, 7, 11, 18, 29, 47, 76, 123, 199, ...

Tempo selections are also guided by Fibonacci and Lucas proportions. Csound score language time-warping statements, like the one shown in Figure 16, keep the tempo in constant flux [28].

t 0 34 12 89 13 55 32 89

Figure 16. Time warping.

Scaling

Musical sonification, the artistic process of turning numbers into sound for compositional purposes, relies on the technique of parameter scaling. Notice how the start time and duration (idur) values in Figure 17 are obviously derived from the Fibonacci sequence.

However, in order to provide other instrument parameters with a meaningful range of values derived from the Fibonacci sequence, it is often necessary to multiply or divide the sequence by a constant value. For example, Figure 18 shows two straightforward ways Fibonacci numbers are scaled in the composition.

2

3

5

8

13

21

34

55

89

...

* .1

.2

.3

.5

.8

1.3

2.1

3.4

5.5

8.9

...

* .01

.02

.03

.05

.08

.13

.21

.34

.55

.89

...

Figure 18. Fibonacci number scaling.

Once appropriately scaled, the Fibonacci sequence may be of use in a wide variety of contexts including the context shown in Figure 19 where Fibonacci numbers are used to create the components of a source spectrum.

Returning to Figure 17, notice that the ideltaf values are also Fibonacci related. Note events are frequently paired in this manner to create polyrhythmic arpeggiations based on Fibonacci proportions. The iamp values are also scaled. However, during the composition of the work convenient Fibonacci values (e.g., 1300, 2100, 3400, 5500, 8900, etc.) were employed. This approach to scaling, although quite labor intensive, allowed the composer to freely experiment with the supple dynamics and rhythms that may be produced using Fibonacci proportions.

Spectral Composition

Rendering Csound code example file "6-SA&LS2.csd" using Csound, we can hear a concrete example of how lines and harmonic progressions are derived from the harmonic series. Figure 20 shows f-tables f11 through f19.

Figure 20. Harmonies and lines derived from harmonic series proportions.

Each f-table represents a harmony or line in the example. Referring back to the harmonic series notated in Figure 5, we can see that f-table 11 (f11) specifies a "tonic" chord created using partials 20, 16, and 12, that is, a 20:16:12 just major triad. Similarly, f12 specifies an 18:15:12 "dominant" chord, and f13 specifies the natural scale discussed in the first part of the article. The remaining f-tables specify the chords in a harmonic sequence derived from descending harmonic partial relationships. This example, which occurs at 6:53-7:37 in the Centaur recording, culminates in a return to the tonic harmony via a presentation of the f13 natural scale in three simultaneous forms: static, glissando up two octaves (4:1), and glissando down two octaves (1:4). Please note that the background pedal points in this passage are not included in the example.

Inharmonic Spectra

Rendering code example file "7-SA&LS3.csd" using Csound, we can hear our final extension to Risset's instrument. Instr 2 allows inharmonic tones to be created with the Risset arpeggio instrument design [29]. Instr 2 is essentially the same as instr 1 except that the line of code in Figure 21 is added to allow for the specification of inharmonic partial relationships using GEN09 [30].

These two inharmonic tones make their first appearance in the Centaur recording at 2:58. They are the constituent components of the spiral canons in the section that follows. The spirals begin to emerge at 3:44 and take full flower in the canons between 4:10 and 5:09. The raw material for 4:10-5:09 is given in the final code example file. The frequency ratios used in the example are derived from the Fibonacci-inspired scaling matrix shown in Figure 23.

Conclusion

Risset's arpeggio is an unexpectedly complex and amazingly versatile instrument that exploits interference patterns between closely-spaced sinusoids to create "spectral scans" of composer-specified subsets of the harmonic series. In the context of Risset's instrument design, the author has shared some examples from his Csound composition Strange Attractors & Logarithmic Spirals that employ Fibonacci numbers as compositional determinants. It is the author's hope that these techniques will be of use to other composers.

Acknowledgements

This article was partly supported by a University of South Carolina Provost's Arts and Humanities Grant. The code example files were created using QuteCsound [32].

[26] John Chowning, et al. "The Reconstruction of Stria." Computer Music Journal Volume 31, No. 3 (Fall 2007). The entire issue is dedicated to the reconstruction of Chowning's 1977 composition Stria and is an excellent starting point for study of compositional applications of the golden ratio.