Open navigation menu
Close suggestions
Search
Search
en
Change Language
Upload
Sign in
Sign in
Download free for days
100%
(1)
100% found this document useful (1 vote)
293 views
19 pages
Dreamsong - The Composition (McNabb)
Uploaded by
wago_it
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF or read online on Scribd
Download
Save
Save Dreamsong - The Composition (McNabb) For Later
Share
100%
100% found this document useful, undefined
0%
, undefined
Print
Embed
Report
100%
(1)
100% found this document useful (1 vote)
293 views
19 pages
Dreamsong - The Composition (McNabb)
Uploaded by
wago_it
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF or read online on Scribd
Carousel Previous
Carousel Next
Download
Save
Save Dreamsong - The Composition (McNabb) For Later
Share
100%
100% found this document useful, undefined
0%
, undefined
Print
Embed
Report
Download
Save Dreamsong - The Composition (McNabb) For Later
You are on page 1
/ 19
Search
Fullscreen
Computer Music JournalMichael McNabb Center for Computer Research in Music and Acoustics Stanford University Stanford, California 94305 General Description Sound Elements Dreamsong was composed and realized during 1977 and 1978 at the Center for Computer Research in Music and Acoustics (CCRMA). The basic intent of the piece was to integrate a set of synthesized sounds with a set of digitally recorded natural sounds to such a degree that they would form a continuum of available sound material. The sounds thus range from the easily recognizable to the to- tally new, or, more poetically, from the real world to the dream realm of the imagination, with all that that implies with regard to transitions, recurring elements, and the unexpected. The essential sound elements in Dreamsong can be divided into five categories: simple frequency modulation (FMI, complex FM, sung vocal processing and resynthe- sis, other additive synthesis, and processed crowd sounds and speech, ‘The sung vocal sounds were originally those of a single soprano, Marilyn Barber. A total of 10 single held notes and one glissando, on different pitches and syllables, were digitally recorded. Most of the soprano sounds in the work are these tones pro: cessed in various ways. In certain cases, however, the tones were synthesized using additive synthesis based on a single Fourier transform of the steady state of the original signal. The resynthesized tones were overlapped with the originals when it was necessary to have individual control over each harmonic. The other main melodic and drone instrument is an additive synthesis instrument that generates its, ‘own time-varying formants using a particular kind of random process. The oscillating chords that ap- pear toward the beginning and again near the end Computer Music Journal, Vol 8, No.4, Winter 1981, (0148:9267/81/040036-18 $05.00/0 © 1981 Massachusetts Institute of Technology. 36 Dreamsong: The Composition were produced with simple FM, and all the bell sounds are various types of complex FM. The ambient crowd sounds were recorded from the catwalks of a large auditorium. Two micro- phones were suspended about 20 ft below the ceil- ing, and the sound was recorded on tape and later digitized. The speaking voice at the very end of the piece is that of Dylan Thomas. ‘Musical Material Musically, Dreamsong presents a relatively simple harmonic and melodic structure so as not to ob- scure the important textural and timbral transi- tions. There are two major modes from which most of the melodic and harmonic material is derived (Fig, 1). Mode 1 is essentially B-flat mixolydian, al though it is not always centered on B-flat. Mode 2 extends through a two-octave range before repeat- ing and is characterized by chromaticism and a division into two regions, one in whole and half steps, the other in thirds. The primary theme, which builds up over the ‘course of the piece, is from Mode 1 and is the set- ting of a line taken from a Zen sutra (Fig. 2, top] ‘The secondary theme, the first three notes of which appear at the outset and ending of the work and the whole of which is heard in the middle, derives gen- erally from Mode 2 |Fig, 2, bottom). ‘As regards duration in general, most of the slower shythms and section lengths derive from Fibonacci relationships, not because of their numerologic or mystic implications, but because they present a convenient and effective alternative to traditional thythmie structures. Of course, a little acknowledg- ‘ment of the gods of mathematics never hurt any computer musician. Some rhythmic units are based on a suboctave of a central pitch being used at the time. For example, the primary tone in the first oscillating chord at 102 see is F, 349.23 Hz. Six octaves below that is Computer Music JournalFig. 1. Two modes from which much of the pitch ‘material in Dreamsong Fig. 2. Themes in Dream- song. The primary theme (top).a setting of a Zen su: was derived. tra derived from Mode 1. Secondary theme (bot: tom), derived in part from Mode 2. Move 1 Mote? p. From per—fect. _noth—ing—ness the wond’—rous be—ing ap —pears (from a Zen sutra) 5.457 Hz, which is a period of 0.183 sec. This is the rate at which the chord oscillates from channel to channel and is four times the rate of the octave bells on B-flat in the background. Programs, Machines ‘The primary program used was MUS10, Leland Smith’s version of Tovar's MUSCMP (Tovar 1977; Tovar and Smith 1977), which is an extended ver- sion of Stanford's original music program (written by David W. Poole). That program was a descendant of Music IV, written by Max W. Mathews. This mu- sic compiler features a subset of Algol with special operations directed toward music synthesis. Thus, in addition to the usual unit generator—type fune- tions, one can program one’s own initialization- time and run-time functions, which allows a tre- mendous degree of flexibility in instrument design—yet to be matched by any hardware syn- thesizer currently operational. This flexibility was critical to the production of Dreamsong. Sound editing, filtering, and analysis were done using the programs EDSND by Loren Rush (Rush and Mattox, forthcoming) and S by James A. Moorer. In certain cases, note lists were generated with Leland Smith’s SCORE program [Smith 1972), although most of the work was generated in small sections to be digitally mixed, so that note lists could usually be typed in directly using the text editor. All computation was carried out on the DEC KL-10 processor of the Stanford Artificial Intel- ligence Laboratory. ‘About MUS10 Since much of the discussion in this article will be illustrated with code listings, it will be necessary to digress slightly to give a general introduction to the ‘MUS10 language. MUSIO code includes a mixture of floating-point variables and arrays, simple Algol statements and functions, and unit generators, which are special functions designed to cycle through waveform tables or envelopes or perform other processes such as random-number generation. These unit genera- McNabb 37tors are very similar to the unit generators in Music V (Mathews 1969). The code for a particular sound or process is ‘grouped into what is known as an instrument block, which begins with the declaration “instru- ‘ment (name);” (an example to be discussed later is given in Code Listing 3). The code in an instrument block is evaluated once per sample, with all current instruments being evaluated in order of definition. ‘The output of each instrument for that sample for each channel is then stored, and the process begins again for the next sample. ‘An instrument declaration may be followed by the declaration of variables local to that block, us- ing the declaration “variable (variable 1, (variable 2), ‘variable n);". Ifthe variables are to change in value during the course of a note (e.g, receive the value of unit generator], they are known as run-time vari ables and are preceded by a slash in the declaration (the first such example is in the code for RANDF, Code Listing 2). Otherwise they are initialization- time variables and will retain the first value that they are assigned. Arrays are declared with “array {oamet), (named... (name n [x);” where the elements of the array are numbered from 0 to x ~ 1. Variables and arrays may also be declared outside of an in- strument block, in which case they are global to all subsequent instruments. These are often used for communication between instruments. Following the instrument and variable declara- tions may come a block of code that is to be ex- ecuted only at the onset of a note. This block is prefaced with “i_only” (i.e., initialization only}. Either run-time or initialization-time variables may be assigned values in this block. There are a number of predeclared variables. SRate contains the sampling rate in Hertz. Outa, outb, outc, and outd store the final values of sam- ples going to each of four possible channels. A set of variables PI, P2, P3,... . Pm stores the parameters for each instrument call. Mag {for magic number] stores a value needed in unit generators and else- ‘where to compute the increments. Mag is normally set to the standard wavetable length divided by the sampling rate, Multiplying this by the desired fre- quency gives the increment. For example, if the wavetable is 512 words in length and sRate is 25600 Hz, then mag is 0.02. If the waveform is to be played at 200 Hz, then the increment becomes mag + 200 = 4. The unit generators referred to in this article are only a subset of those available in MUSIO. Oseil (amplitude, (increment, (areay)| returns a value from the given waveform array, depending on Ainerement), and scaled by (amplieud). Zoscil is similar to oseil, but interpolates be- tween adjacent array elements for increased ac- curacy (i., less noise}. Expen (or zexpen} is like oscil (or zoscil}, but reads through the array only once, holding the final value thereafter. Zosca is a form of zoseil that allows the wave- form index to be initialized to zosca’s first argument, Limen(amp), (ateack time), (decay time), (duration), (ara), (internal variable) allows independent control over the attack and decay portions of an envelope, like the LINENS unit generator of Music IVBF (Howe 1975). The ‘internal variable) must be de- clared by the calling routine (an example will be given in Code Listing 3}. Randh(amplitude) incremend) returns a value from a stepwise random function. ‘Valuein|(expression) is not a unit generator as such, but simply causes the given expression to be evaluated every n samples. Algol functions may be declared using the con- struct “funetion (argument 1), (argument 2)... (argument n)\" followed by a block of code that performs oper ations on the given arguments or global variables or both. These functions may also return a result to the instrument or function from which they are called. A number of predeclared functions exists: IntiR) returns the integer part of a real number R. Rand returns a random number between ~1 and 1. Powerixy) returns x’. Zeros) sets all elements in array A to 0. Sqrtix| returns the square root of x. ‘Two special operators, seg and synth, are used to set up envelope and waveform tables. Seg is used Computer Music JournalCode Listing 1. Code for the zeay and sbeLay functions, which are interpolating variable: length delay units. begin variable Samp1, Samp2; Buffer{Inptr] — Input; Sampl < Inptr ~ Curlen; if Samp1 <0 then Sampl — Samp! + BufLen; Inptr — Inptr + 1, if Inptr = BufLen then Inptr = 0; if Samp] < BufLen-I then Samp2. < Samp +1 else Samp? = 0; end; begin variable Samp1, Samp2, Sampl
| then UprBound <1, return|LowBound + (UprBound-LowBound) * (1+rand}/2); end; function ranpr|Amp,Freq Factor, OldVal,Diff, Cnt); begin variable /Interp; Interp < Cnt/(sRate/Freq); if Interp = 1 then Cnt — Interp <0; if Cnt = 0 then begin OldVal — OldVal + Ditf, Diff — ranpe{OldVal, Factor) ~ OldVal; end; Cnt — Cat +1, return|Amp * (OldVal + Diff * Interp|); end; array Curv,CurvDifi(128); (s" Curve data variable 1,CosLen; CosLen “127, for 1 <—0 step 1 until CosLen do Cury{l] — (1—COS|PI*+ {I/CosLen}})*.5; for 1<—0 step | until CosLen-1 do CurvDitfll] — Curv{l+ 1} ~ Curvilj, function ranprclAmp, Freq, Factor, OldVal, Diff, Cnt; begin variable Indx, NewVal Indx < (CosLen/sRate] * Cnt* Freq; if Indx = CosLen then Cnt —Indx — 0; if Cnt = 0 then begin OldVal — OldVal + Diff, Diff — ranpr(OldVal, Factor) ~ OldVal; end; Cnt < Cnt +1; return(Amp * (OldVal+ Diff * (Curvlindx]+CurvDiff{Indx] * {Indx—int{indx}}})}, end; McNabbcessing digitally recorded soprano tones. However, if certain kinds of transformations are desired, recorded tones cannot be used. For example, 220 sec into Dreamsong, a cluster of bells at random pitches gradually coalesces into a solo singing voice, and soon after that a whole chorus of singers coalesces into a single, low-frequency drone! In these cases, it is necessary to have absolute control over the frequency and amplitude of each harmonic of the voice. If the spectrum is generated by a set of individual sine-wave oscillators, one can easily interpolate from or to other similar sets of data, whether harmonic or inharmonic. The exploitation of spectral fusion phenomena (Chowning 1980) be- comes relatively simple and is rich with expressive possibilities. When such control was not needed, it was found that the application of the proper vibrato, overall frequency skew, and overall amplitude envelope to an otherwise steady-state waveform was quite ade- quate to synthesize a soprano voice convincingly (see Code Listing 3). The spectral information was obtained by doing a Fourier transform of a segment of approximately 200 msec of the original voice. This method of synthesis represents a considerable step in data reduction from complete three-dimen- sional analysis (time, frequency, amplitude) such as that done by the phase vocoder (Portnoff 1976). All the harmonics remain proportionally the same rela- tive to the fundamental (this would not be the case if an interpolation were taking place). In a complex compositional texture, where the exact reproduc- tion of a specific tone is not needed, this method gives very good results. Essentially, there is only one frequency function and one amplitude fune- tion. The frequency function in Code Listing 3 has ‘two parts, vibrato and skew. The skew function is a simplified representation of the natural tendency to “home in” on the pitch during the attack of the note. The vibrato is synthesized separately using RANDI, Ad ive Synthesis: Random Formant Instrument ‘The primary melodic and drone instrument in Dreamsong, other than the voice, also uses additive synthesis. It computes its own dynamic spectrum 42 based on a series of randomly generated formant structures. The overall spectral decay shape is sup- plied as an array of amplitudes ot possibly two ar- rays with a gradual interpolation between them. The formant structure is computed from a random. number tree, as shown in Code Listing 4, with the sum of the eight spectral amplitudes normalized to the value N by the Gettiarms function. The process is analogous to a binary fractal pattern (Mandelbrot 1977), only each iteration is randomized. The re- sults are quite different from results when eight independent random numbers are selected. For ex: ample, with the tree, all eight spectral amplitude values will come out equal only if all the random numbers turn out to be exactly 0.5. This process thus guarantees a much greater variety in the distri- bution of energy from one function call to the next. The instrument omm, given in Code Listing 5, appears many times in Dreamsong, in particular between 90 sec and 150 sec, between 265 sec and 415 sec (see Fig. 4), and between 477 sec and 510 sec. At the end of the second low drone (around 400 sec], the controlling spectral shape gradually allows only the 11th and 12th harmonics to be present (in a 12-harmonic version}, which become the two pitches around which the following whole section is based, thus effectively blurring the distinction between timbre and normal musical pitch struc- tures in a way possible only with digital synthesis. The instrument as presented here is somewhat sim- pler than that used in the piece, but all essential elements are present. In addition, envelopes for a sample case are given in the code. Two auxiliary functions are also defined, one that simply copies an array and another that interpolates between two arrays, given the interpolation fraction. Code Listing 5 contains a sample instrument call that begins generating new formants at l-sec inter- vals and gradually speeds up to 0.1-sec intervals, The overall spectral decay shape changes from Fl to F2 (also defined in Code Listing 5) in the first 2.5 sec of the note, which glissandos up from F to G and has 1.2% vibrato at 4.5 Hz. Frequency Modulation: Two Bells A complex FM instrument was designed to produce a cathedral-bell-like sound. It uses three carriers, Computer Music JournalCode Listing 3. Instrument Code Listing 4. Function SING, used to model a Getklarms, which singing voice with additive generates harmonics used synthesis and RANDAL, by instrument owm (Code Listing 5). array FI,F2,F3(512), synth(F1),1 1.0000, 20.7079, 30.0126, 40.0050, 50.0316, 60.0016, 70.0022, 80.0014, 90.0018, 100.0056, 110.0010, 120.0010, 130.0010, 140.0014, 999, segiF2), 01, 110, 0.725, 0.9375, 0.750, 075, 0100, segiF3};-11, 0312, 025, 050, -575, ~.5 100; instrument sinc; variable /X,/Y,/Cnt,/Val,/Va2,/Vib,/Env,/Sig,/Skew; iLonly begin X <— Y < Cnt < Val < Va2 <0; end; Vib <1 + RaNDFi(.01, 18, 0.6, X, ¥, Cnt}; ‘Skew = 1 + linenl.12, 0.2, 0.1, P2, F3, Val}; Sig < oseil|P4, (PS * mag)+ Vib * Skew, Fl); Env
1) as percentage of P3 P15: Vibrato rate P16: Amplitude envelope attack time (for linen} P17: Amplitude envelope decay time array Env Ramp], Ramp2,Gliss Syn{512), array F1,F2,CurShape,Shapel, Shape2, Amps, NewAmp,OldAmpl9], segiEnv; 0 1, 1 5, 0.7 25, 1 37.5, 0.7 50, 0 75, 0 100; seg(Rampl|; 0 1, 1 75, 1 100; segiRamp2|; 1 1, 0 100; segiGliss}, 0 1, 045, 155, 1 100; synth(Syn}, 1 1, 999, variable 1; for 1 <1 step 1 until 8 do begin Fil] — 1 / power(l,2}, FOIL] 1/1, end; F2[2| — F2[4] — F2{6] — F218] —0, function ArrTran|array X,array Y,I}; begin for I — 1 step 1 until 8 do X/I] < Y{I|; end; function FunIntrp (array One, array Two, array New, Fraction), begin variable I; for I — 1 step | until 8 do Newll] — Onell] +(Twoll]~One[l)) * Fraction, end; instrument om, variable /Switch, /Samples,/Amp,/Count, Limit,/Intr,/Vib, Var, AmpScl,/Rate,/Inc,/FormantPeriod,/AttAmp,/Att,/l,/Gliss, (HLL / HD, /3,/114,/H5,/16,/H7,/8; (Amplitude envelope (Upward ramp (Downward ramp (Upward glissando (Sine wave (Two spectral envelopes: (A= UN (A= UN (F2 gets odd harmonics only (Copies one array into another (interpolates between two arrays “4 Computer Music Journali_only begin Samples — Var <0; Switch — 1, ArrTran|Shapel,P9,1), ArrTran{Shape2,P10,1); GetHarms(NewAmp, Shapel, Amp — Pj, FormantPeriod < sRate * P6, Count = FormantPeriod + 1, Limit < sRate * P11, end; if Samples = Limit then begin Samples < Samples+1; Intr — Samples/Limit; value|16|(FunIntrp(Shape1,Shape2,CurShape, Intr]}; end; if Count > FormantPeriod then begin Count <0; ArrTran(OldAmp, NewAmp, I); GetHarms|NewAmp, CurShape, Amp]; end; Rate — P6 + oseil(P7—P6, mag/P2, P8); value{8|(FormantPeriod < int{sRate * Rate]}; value(4|(Switch — 1); if Switch = 1 then begin Intr — Count / FormantPeriod, for 1—1 step 1 until 8 do ‘Amps|_] — OldAmp|t}+(NewAmpll|—OldAmp|l))* Intr; Switch — 0, end; Count — Count + 1; AttAmp < expen|1, mag/.17, Ramp2}; if AttAmp > 0 then ‘Att — 1 + RANDH(0.5 * AttAmp, 4000 * mag); Gliss < oscill(P12—P3) * Att * mag, mag/P2, P13}, Vib < oscill(P14*P3) * Att * mag, mag * P15, SYN}; Inc — P3*Attsmag + Gliss + Vib; HI oscil{Amps|1], Inc, SYN}; H2 < oscil{Amps|2, 2 * Inc, SYN}; HB < oscil(Amps|3), 3 * Inc, SYN}; H4 < oscillAmps|4], 4 * Inc, SYN}; H5 < oscil{Amps|5}, 5 * Inc, SYN}; H6 < oscillAmps{6], 6 * Inc, SYN}; H7 < oscillAmps|7], 7 * Inc, SYN}; H8 < oscillAmps(8}, 8 Inc, SYN}; AmpScl <= linen(1, P16, P17, P2; P5, Var), outa — outa + (H1+H2+H3+H4+H5+H6+H7+H8)* AmpScl, end; play; mm 03 F 2000 Env 1 0.1 Ramp! Fl F2 2.5 G Gliss 0.012 4.5 0.2.0.2; finish, (initialization code (Get spectral envelopes (initial amplitudes (Rate of formant change (Counter for interpolating (How quickly to interpolate (interpolate spectral envelopes (Save previous formants (get new formants (Get rate of formant change (Convert to samples (Calculate current amplitudes (Attack noise envelope (Attack noise (glissando factor (vibrato factor (Calculate frequency increment (generate eight harmonics (Amplitude function (Output (sample instrument call McNabb 45Code Listing 6. An oscil Iator is used to shape a signal read in by the readin function; the shaping envelope name is passed in PA, instrument SHAPER; variable /Env; Env < zoscil(P3, mag/P2, PA; outa — outa + readin(RD} * Env; end; (Parameters: Beg, Dur, Amp scaler, Envelope (generate envelope (multiply times input samples each modified by one modulator, one of which con- tains a complex wave. The second carrier, which produces an inharmonic spectrum, actually con- tributes relatively little, since its amplitude is kept small. Most of the characteristic sound comes from, a combination of one harmonic spectrum, with a second harmonic spectrum having a fundamental a just minor 10th above the first. This instrument is used at the very beginning of Dreamsong and again in the middle, at about 350 sec. ‘A handbell sound was also created, which uses two modulators and two carriers like two simple FM units in parallel. There is no inharmonic ratio in either unit, and again the characteristic sound ‘comes from the combination of one harmonic spec: trum with another having a fundamental a just minor 10th above the first. Processing Techniques Shaping ‘Most of the following processing algorithms are constructed around the functions defined in the section entitled “Some Key Functions” and were ap- plied to the digitally recorded sung vocal and crowd sounds and to previously synthesized sounds. They demonstrate in particular the usefulness and ver satility of the zDeLay function. ‘An introductory example of sound file processing in MUS1O, Code Listing 6, is an instrament that reads a sound file, shapes its amplitude by a given function, and writes it out again, Comb Filtering, Flanging Perhaps the simplest application of 2DEtay is as a comb filter, which results when a delayed signal is, 46 added back to itself. Since the peaks thus produced are separated by a constant frequency, they form a harmonic series and can be used to give a pitched effect to an otherwise nonpitched sound. As more feedback is added, the filtering is more severe and the pitched effect is more pronounced. A delay of sRate/ samples (used for curten in Code Listing 1) will place the first peak at frequency f. If the delay is doubled and the delayed signal subtracted from. the original signal instead of added, the peaks form a pattern that corresponds only to odd harmonics, which produces an expectedly “hollow” effect. If feedback is used, the output signal must be renor- malized down to a reasonable amplitude. ‘Modulation of the delay time (cueten in Code List- ing 1) with a sine wave results in an effect known, as flanging. This term originated in the pop music recording industry when somebody got drunk and discovered that an interesting phasing effect could be produced by setting up a very short tape delay and leaning on the flange of the reel to change its speed slightly. Of course, functions other than a sine wave may be used as modulators. The max- imum delay time should be around one period of the sound being processed. This produces more than just a nice sound when the function used is not just a sine wave; if the modulating function un- dergoes discrete changes, a sequence of pitches is heard. This occurs in Dreamsong 30 sec into the piece, when the initial crowd noise is processed into playing the opening melodic motif. Choral Effect Amore useful ability of zpetay is to provide a cho- al-effect generator that can be used on any sound, in particular on digitally recorded sounds and syn- thesis instruments that are too complex to allow for multiple copies. In Code Listing 7, three delayed Computer Music JournalCode Listing 7. Instrument ‘cuorus: ranbFc and zostay functions are used to generate a choral effect from any sound. array Buffer{512); zero{Buffer); instrament CHORUS; variable /Sig, /Del,/De2,/De3, /Ds1,/Ds2,/Ds3, /Inptr Len,Dev,Rate,/Al,/A2,/A3,/B1, i_only begin ,/B3, (C1, /C2,/C3; Inptr — Al —A2—A3 BI —B2 B83 C1 C2 C30, Len < length(Buffer); Rate < P3, Dev < P4; end; Sig < readin|RD); Del Dev + RANDFC|Dev,Rate,.5,A1,A2,A3); De2 < Dev + RANDFC|Dev, 1. 1Rate,.5,B1,B2,B3); De3 — Dev + RANDFC|Dev,,.9*Rate,.5,C1,C2,C3}; Dsl < ZDELAY(Sig, Del, Len, Buffer, Inptr|; Ds2 < SDELAY(Sig, De2, Len, Buffer, Inptr), Ds3 < SDELAY(Sig, De3, Len, Buffer, Inptr), outa < outa + (Sig + Dsl + Ds2 + Ds3}* 0.3; end; copies of the signal are combined with the original ‘The delay time of each copy is modulated indepen- dently by a RANDFc. The frequencies of the three modulators are offset by about 10%. Panning, Doppler Shift ‘The instruments discussed in this section make up the spatial movement system used in Dream- song. Since the piece is in only two channels, every effort was made to maximize the effect of depth and movement. To this end, there is a panning instru- ment used to both simulate Doppler shift and mod- ulate the initial reflection times for reverberation. This instrument is set up to move the input signal in a straight line or in an arc through an imaginary space defined by distances given in meters. In general, the action may be thought of as taking place on an x-y coordinate “stage” (see Fig. 3). The amplitude of the direct (nonreverberated) part of the signal is scaled to be inversely proportional to the “distance” from the listener; maximum amplitude (4 Hz is typical (10 msec worth of samples is usually good for this (Input the samples (delays range from 0 to Dev#2; (three delayed versions of signal (SDELAY reads out in a different spot (Yet another copy (combine all with original, rescale ‘occurs when the sound is positioned at the same distance as the speakers. The delay of the direct signal is made dynamically proportional to the distance by use of a zpeLav. The first parameter to ‘zpetay is the scaled direct signal, and the second parameter is the delay time in samples, which is equal to the distance times the sampling rate di- vided by the speed of sound. Since only the delayed signal output from the zpetay is sent to the output, an accurate Doppler effect results as the distance changes. Computation of a Doppler effect in this ‘manner is efficient, and is equally applicable to synthesized and recorded sounds. Similar scaling was done on each channel of re- verberation as well as in the reverberation instru- ment. Modulation of the amplitude and reflection times of each channel of the reverberation was pro- portional to the total distance that the sound would travel—from the apparent source, back to the “wall,” then to the listener (who is, of course, as sumed to be in the ideal listening position; sigh]. Three “sources” of reverberation were calculated this way, one coming from each channel and one McNabb a7Fig, 3. The imaginary spa- tal environment defined by the panning and rever- beration instruments ex- tends beyond the two speakers (black squares) Shown at the bottom of the figure. The listener is ideally positioned at 0 along the bottom axis. The first five calls to the pan- ning instrument move the Distance (meters) sound in the shape of a five-pointed star. The sixth call continues traveling ‘one and one-half times around a circle, and the final call holds the sound in the final position, This is the frst such path that is used in Dreamsong, be- ginning 29 sec into the piece. Distance (meters) from both channels. Thus, if a sound were posi- tioned on the left, the reverberation from the right channel would be delayed and scaled at a lower am- plitude relative to the left channel reverberation. Robert Poor came up with the basic idea for this application of zpetay. Figure 3 is an example of how the reverberation instruments can be used to set up an imaginary space 15 m deep, with the speakers positioned 2.8 m from the listener in ideal position, Amplitude Modulation with Complex Wave From 70 to 100 sec in Dreamsong, a choral texture is gradually transformed into a texture that sounds like strings and brass. This effect was carried out by amplitude modulation (AM) of the digitized vocal tones with a simple FM instrument (see Code List ing 8]. The amounts of FM and AM modulation are gradually increased in parallel. For the effect 48 achieved in Dreamsong, the frequencies of the FM oscillators were close to the center frequency of the signal being modulated. Due to the random vibrato in the original signal, the subjective density of the sound is also increased due to phasing and beating effects with the steady FM tone. Pitch and Envelope Follower Instrument prrcit (Code Listing 9) reads in a file and puts out its pitch and amplitude contours. It does this by looking for the peaks of the waveform within a window that is dynamically readjusted ac- cording to the current amplitude. It remembers the precise time each peak occurs and calculates the frequency every period. After checking to see that a reasonable value results, it sends out the average of the last four values calculated (for smoothness}. It is a tricky business, and many of the variables need to be adjusted precisely for each individual file to Computer Music JournalCode Listing 8. Instrument Code Listing 9. Instrument another instrument (see oo amplitude prree puts out an Code Listing 10). The modulates a signal using amplitude and pitch Squelch removes low-level an FM-generated contour of the input signal transients from the more waveform. jin variables Amp and or less silent parts of the Freq, which can be read by input signal. synth(Fl};1 1, 999, (sine wave seg(F2),00, 1 100; (ramp from (0,0) to (100,0) instrument amop; (Beg, Dur, Freq, Deviation variable /Sig, /FmScl, /Out, /FM, /Am; Sig
Max then Max — Samp; (Keep track of local maxamp & minamp if Samp < Min then Min — Samp, value|[CCRI1\(S1 — 1); McNabb 49Gode Listing 9 (cont'd) if $1 = 1 then begin ‘Tmpl < Max ~ Min; ‘Tmp2 —Tmpl / 2, ‘MaxLim < Max ~ Tmpl * Peak_Window; MinLim — Min + Tmpl * Peak_Window; Max — Min = S1 —0; end; value[CCR2|(S3 — 1}; if $3 = 1 then begin Ampl — Amp2, ‘Amp2 < Tmp2, if Amp2 < Squelch then Amp? — 0, ‘Tmp3 — Amp2 — Ampl; S3 = Interp 0; end; Amp < Ampl + Tmp3# Interp; Interp < Interp + Inc; if Samp > MaxLim then if $2 = 0 then if Samp > Peak then begin Peak < Samp; Time2 < Cnt; end else $2 <1; if Samp < MinLim then if $2 = 1 then begin ‘TmpFreq ~ sRate / (Time? ~ Timel}; Freqs1[Cnt1] — TmpFreq; Sum <0; Avg —Sum/16, begin Freqs2[Cnt2] — Fregs1[Cntl]; Sum <0; Freq ~ Sum/4, CCRI <2» sRate/Freq; end; Cntl — Cntl + 1, if Cntl = 16 then Cnt <0; Timel < Time 2; Peak — $2 —0, end; Cnt — Cnt +1; end; for I —0 step 1 until 15 do Sum — Sum + Freqsl[I]; if abs(Freqsi[Cntl] ~ Avg] < Freq_Window * Avg then Cnt2 — Cnt2 + 1, if Cnt2 = 4 then Cnt2 <0, for 1 —0 step 1 until 3 do Sum < Sum + Freqs2[l; (Update limits for finding peaks every CCR1 samples (Current peak-to-peak amplitude (Peak amplitude (Amplitude window for positive peak (Amplitude window for negative peak (reset variables (update amplitude for contour every CCR2 samples (replace starting amp (goal amp < current peak from above (may not want very low amplitudes (net difference (reset variables (Interp from one amp value to the next (increment is 1/CCR2 (Let's look for the peak now (update peak value (note the time (in samples} (good time to figure out current frequency (new frequency value if TmpFreq > Avg * 2 then Freqs![Cntl] — Avg; if TmpFreq < Avg/?2 then Freqs][Cntl] — Avg; (take average ( of last 16 frequencies (Uf new value is not too (weird then accept it (Add to 4 most current (acceptable values (average these for smoothness (counter for freqs} array ithe two peak times (sample counter Computer Music JournalCode Listing 10, Instrument coma uses variables Amp and Freq from the rrrcx instrument (Code Listing 9) to control amplitude and peak position of the comb filter array BuifA,BuffB|512},BuffC[800), seg(Fl},0,1 0,18 0.6,34 1,50 1,100; seg(F2),0,1 0,50 0.1,57 0.3,64 0.6,71 1,100; instrument coms, variable /CrowdR, /CrowdL, /DelSigA, /DelSigB, /PtrA, /PtrB, /G, /CrowdAmp, /Del, /Voice; iLonly begin DelSigA < DelSigB — PurA — PuB <0; zero[BuffA); zero(BulfB), Freq = 200; Amp = 500; end; CrowdR < readin(RD}; CrowdL = readin(RD}; VoiceAmp < oscill1, mag/P2, F2); AmpMod — INTRP|1,Amp/500,F1}; CrowdAmp — AmpMod * (1-VoiceAmp]; G < oseill1, mag/P2, Fl); Del = sRate / Freq; DelSigR < zpetaviCrowaR * G, Del, 512, BulfA, PtrAl; DelSigh — zoetav(CrowdL * G, Del, 512, BuffB, PerB); Voice — petay|Samp, 800, Buff); outa < outa + (CrowdR+DelSigh] * CrowdAmp + outh < outh + (CrowdL+DelSigL] + CrowdAmp + end, (read in crowd sound in stereo (controls mix of unfiltered voice {controls modulation of crowd (by amplitude of voice (controls gain of filter (Freq comes from PITCH instrument, Code Listing 9 (stereo dynamic comb filters (delay voice to match delayed information ( from PITCH Voice * VoiceAmp, Voice * VoiceAmp; be read in. In Dreamsong, this instrument was used (1) to check the pitch of some of the soprano notes and (2) to follow the pitch and amplitude of Dylan Thomas's voice, which was used to modulate a zpetay comb filter on the crowd sound at the very end. The filtering/mixing instrument (coms) used for that is given in the next section. ‘Stereo Comb Filters Controlled by Pitch Instrument coms, given in Code Listing 10, reads in a stereo signal and filters it with a comb filter that has its first peak at the frequency provided by the prrcit instrument. It also modulates the ampli- tude of the input signal by the amplitude of the sound being read by prrc#t and gradually inter- polates between the sound being filtered and the sound doing the modulating. In Dreamsong, the modulating sound was Dylan Thomas's voice (taken from a recording) and it was used to filter the crowd sounds that serve as one of the motivic elements, ‘The passage begins with the straight crowd sound, which gradually becomes more and more processed until it takes on the pitch and cadence of Thomas's characteristic speech. At this point itis gradually cross-faded with the unaltered voice McNabb stFig. 4. Graphic representa- thickness of each line duced by the author with a = = nad oo = a pororarennet ra —— Se 2 : ree — | a = q 5 ‘_ e ‘ . =. ——, — — > Z — ee oe 204 = = —_—_—_——_{_ - 315 329 325 330 335 340 345 350 355 360 365 370 375 380 Times Computer Music JournalAcknowledgments ‘The author wishes to thank the many people who wrote and taught him to use effectively the pro- grams used in Dreamsong, who helped him over conceptual or mathematical stumbling blocks, and who calmly gave him encouragement when he was mad as hell about some programming bug and wasn’t going to take it any more. The many include John Chowning, John Grey, D. Gareth Loy, F. Rich- ard Moore, James A. Moorer, Robert Poor, Loren Rush, Bill Schottstaedt, Ken Shoemake, Julius Orion Smith, Leland Smith, Tovar, and Paul Wieneke. Thanks also to Stephen Volz, who helped me make that beautiful recording of the crowd, to so- prano Marilyn Barber, who provided so much with so few notes, and to John Strawn for his editorial assistance. References Amold, A. 1978, Private communication, Chowning, J. 1973. “The Synthesis of Complex Audio ‘Spectra by Means of Frequency Modulation.” journal of the Audio Engineering Society 21|7):526~534, Re- printed in Computer Music Journal 1|2|:46~54, 1977, Chowning, J. 1980. "Computer Synthesis of the Singing Voice.” In Sound Generation in Winds, Strings, Com puters, ed. J. Sundberg, Stockholm: Royal Institute of Technology, pp. 4-13. Gardner, M. 1978, “Mathematical Games: White and Brown Music, Fractal Curves, and One-over-f Fluctua- tions.” Scientific American 238(4):16~31 Howe, H.S,, Jr. 1975. Electronic Music Synthesis. New ‘York: Norton, Mandelbrot, B. 1977. Fractals: Form, Chance and Di- ‘mension. San Francisco: Freeman. Mathews, M. 1969. The Technology of Computer Music. ‘Cambridge, Massachusetts: MIT Press, Portnoff, M. R. 1976, “implementation of the Digital Phase Vocoder Using the Fast Fourier Transform.” IEEE Proceedings on Acoustics, Speech, and Signal Process- ing 24:243~248. Rush, L,, and J. Mattox. Forthcoming. “Mama Don’t Al: low No Tape Machine ‘Round Here: The Digital Audio Production Facility.” In Computer Music, ed. C. Roads and J. Strawn. Cambridge, Massachusetts: MIT Press Schroeder, M. R. 1961. “Natural Sounding Artificial Re- verberation.” journal of the Acoustical Society of America 10{3):219-223. ‘Smith, L. 1972. “Score: A Musician's Approach to Com: puter Music.” Journal of the Audio Engineering Society 20:7-14, ‘Tovar. 1977. “Music Manual.” Unpublished user's man- ual, Stanford: Center for Computer Research in Music and Acoustics. ‘Tovar, and L. Smith. 1977. "MUS10 Manual.” Unpub- lished user's manual. Stanford: Center for Computer Research in Music and Acoustics. McNabb 53
You might also like
The Bloomsbury Handbook of The Anthropology of Sound
PDF
100% (1)
The Bloomsbury Handbook of The Anthropology of Sound
577 pages
Spectres II Resonances - Shelter Press - Anna's Archive
PDF
100% (1)
Spectres II Resonances - Shelter Press - Anna's Archive
202 pages
Sound Objects Steintrager
PDF
0% (1)
Sound Objects Steintrager
294 pages
In Search of A Concrete Music - Pierre Schaeffer & John Dack & Christine North
PDF
100% (3)
In Search of A Concrete Music - Pierre Schaeffer & John Dack & Christine North
244 pages
Siska Adam Szigetvari Andrea - Interactive Music Live Electronics
PDF
No ratings yet
Siska Adam Szigetvari Andrea - Interactive Music Live Electronics
119 pages
(Musique - Sciences) Pranck Jedrzejewski - Mathematical Theory of Music-Delatour France (2006) PDF
PDF
No ratings yet
(Musique - Sciences) Pranck Jedrzejewski - Mathematical Theory of Music-Delatour France (2006) PDF
350 pages
Maryanne Amacher, "City-Links"
PDF
100% (1)
Maryanne Amacher, "City-Links"
14 pages
Jonty Harrison Sound Diffusion
PDF
No ratings yet
Jonty Harrison Sound Diffusion
11 pages
Oceanic Greg Egan PDF
PDF
No ratings yet
Oceanic Greg Egan PDF
1 page
Synth Cookbook
PDF
33% (15)
Synth Cookbook
25 pages
Amacher, Maryanne - Psychoacoustic Phenomena in Musical Composition
PDF
100% (1)
Amacher, Maryanne - Psychoacoustic Phenomena in Musical Composition
16 pages
Mind in Art PDF
PDF
100% (1)
Mind in Art PDF
9 pages
The Absent Presence of Progressive Rock in The British Music Press 1968 1974 PDF
PDF
No ratings yet
The Absent Presence of Progressive Rock in The British Music Press 1968 1974 PDF
33 pages
Pope Music Notations PDF
PDF
100% (1)
Pope Music Notations PDF
36 pages
Understanding Sound Art Practice
PDF
No ratings yet
Understanding Sound Art Practice
382 pages
The Bloomsbury Handbook of Sonic Methodologies by Michael Bull and Marcel Cobussen
PDF
No ratings yet
The Bloomsbury Handbook of Sonic Methodologies by Michael Bull and Marcel Cobussen
849 pages
A Chronology of Electronic and Computer Music and Related Events 1906 - 2013
PDF
100% (1)
A Chronology of Electronic and Computer Music and Related Events 1906 - 2013
50 pages
Tyndall, John - Sound
PDF
No ratings yet
Tyndall, John - Sound
368 pages
Sound Installation
PDF
No ratings yet
Sound Installation
14 pages
A History of Concepts of Space in Music
PDF
100% (2)
A History of Concepts of Space in Music
23 pages
Geometric Chords
PDF
100% (1)
Geometric Chords
37 pages
Salome Voegelin - The Political Possibility of Sound 2
PDF
No ratings yet
Salome Voegelin - The Political Possibility of Sound 2
20 pages
OpenFrameworks Lections: Interactive Sound
PDF
No ratings yet
OpenFrameworks Lections: Interactive Sound
35 pages
Electroacoustic
PDF
No ratings yet
Electroacoustic
61 pages
Morphopoiesis: An Analytical Model For Electroacoustic Music
PDF
100% (1)
Morphopoiesis: An Analytical Model For Electroacoustic Music
4 pages
MIDI: Sound Control: Juan P Bello
PDF
No ratings yet
MIDI: Sound Control: Juan P Bello
24 pages
The Whispering Voice Materiality Aural Qualities and The Reconstruction of Memories in The Works of Janet Cardiff and George Bures Miller Tina Rigby Hanssen
PDF
No ratings yet
The Whispering Voice Materiality Aural Qualities and The Reconstruction of Memories in The Works of Janet Cardiff and George Bures Miller Tina Rigby Hanssen
17 pages
Musicophobia, or Sound Art and The Demands of Art Theory
PDF
100% (1)
Musicophobia, or Sound Art and The Demands of Art Theory
20 pages
Vaggione-Some Ontological Remarks About Music Composition Processes Horacio Vaggione
PDF
100% (1)
Vaggione-Some Ontological Remarks About Music Composition Processes Horacio Vaggione
9 pages
01 Cook N 1803-2 PDF
PDF
100% (1)
01 Cook N 1803-2 PDF
26 pages
Workshop Notes-Physical Modeling Sound Synthesis Using Finite Difference Schemes
PDF
No ratings yet
Workshop Notes-Physical Modeling Sound Synthesis Using Finite Difference Schemes
21 pages
Wishart, Trevor - Sonic Composition in TONGUES of FIRE PDF
PDF
No ratings yet
Wishart, Trevor - Sonic Composition in TONGUES of FIRE PDF
9 pages
Gradual Process Music 2 PDF
PDF
100% (1)
Gradual Process Music 2 PDF
63 pages
(Orpheus Institute Series) Jonathan Impett - Sound Work - Composition As Critical Technical Practice-Leuven University Press (2022)
PDF
No ratings yet
(Orpheus Institute Series) Jonathan Impett - Sound Work - Composition As Critical Technical Practice-Leuven University Press (2022)
376 pages
On Timbre: Phy103 Physics of Music
PDF
100% (1)
On Timbre: Phy103 Physics of Music
30 pages
The Physics of Percussion
PDF
100% (1)
The Physics of Percussion
3 pages
RISSET An Introductory Catalogue of Computer Sy
PDF
No ratings yet
RISSET An Introductory Catalogue of Computer Sy
120 pages
Cox, Christoph - From Music To Sound - Being As Time in The Sonic Arts
PDF
100% (1)
Cox, Christoph - From Music To Sound - Being As Time in The Sonic Arts
10 pages
Fairlight Cmi Explained
PDF
No ratings yet
Fairlight Cmi Explained
20 pages
The Road To Plunderphonia - Chris Cutler PDF
PDF
100% (2)
The Road To Plunderphonia - Chris Cutler PDF
11 pages
Synthesis TAssMan
PDF
No ratings yet
Synthesis TAssMan
11 pages
Straebel-Sonification Metaphor
PDF
100% (1)
Straebel-Sonification Metaphor
11 pages
All I Want For Christmas Is You Chords
PDF
No ratings yet
All I Want For Christmas Is You Chords
4 pages
Irin Micromontage in Graphical Sound Editing and Mixing Tool PDF
PDF
100% (1)
Irin Micromontage in Graphical Sound Editing and Mixing Tool PDF
4 pages
P.Kokoras - Towards A Holophonic Musical Texture
PDF
100% (1)
P.Kokoras - Towards A Holophonic Musical Texture
3 pages
Determinacy and Indeterminacy
PDF
100% (2)
Determinacy and Indeterminacy
13 pages
Otoacoustic Emissions As A Compositional Tool PDF
PDF
100% (1)
Otoacoustic Emissions As A Compositional Tool PDF
3 pages
Hernandez Lanza Aschenblume PDF
PDF
100% (1)
Hernandez Lanza Aschenblume PDF
29 pages
Alvin Lucier - Chambers
PDF
No ratings yet
Alvin Lucier - Chambers
7 pages
Xsens Performance: Playing Music by The Rules
PDF
100% (1)
Xsens Performance: Playing Music by The Rules
2 pages
Glenn Gould, The Vanishing Performer and The Ambivalence of The Studio
PDF
100% (1)
Glenn Gould, The Vanishing Performer and The Ambivalence of The Studio
8 pages
An Introduction To Acoustic Ecology
PDF
100% (1)
An Introduction To Acoustic Ecology
4 pages
Sonic Interaction Design
PDF
No ratings yet
Sonic Interaction Design
4 pages
Aleatoric Music: Aleatoric Music (Also Aleatory Music or Chance Music From The Latin Word Alea
PDF
No ratings yet
Aleatoric Music: Aleatoric Music (Also Aleatory Music or Chance Music From The Latin Word Alea
6 pages
Cutler Plunderphonia
PDF
No ratings yet
Cutler Plunderphonia
9 pages
Jonathan Sterne-The Audible Past - Cultural Origins of Sound Reproduction-Duke University Press (2003)
PDF
No ratings yet
Jonathan Sterne-The Audible Past - Cultural Origins of Sound Reproduction-Duke University Press (2003)
8 pages
Questions For K Stockhausen
PDF
No ratings yet
Questions For K Stockhausen
5 pages
Cognitive Approach To Electronic Music Theoretical
PDF
No ratings yet
Cognitive Approach To Electronic Music Theoretical
4 pages
Simmon Emmerson: Aural Landscape
PDF
No ratings yet
Simmon Emmerson: Aural Landscape
6 pages
The Collection: Michael Pisaro
PDF
No ratings yet
The Collection: Michael Pisaro
28 pages
Musique Concrète - Ernst, David - 1972 - Boston - Crescendo Pub - Co - 9780875970813
PDF
No ratings yet
Musique Concrète - Ernst, David - 1972 - Boston - Crescendo Pub - Co - 9780875970813
52 pages
Musica Secundum Imaginationem - Notation, Complexity, and Possibility in The Ars Subtilior
PDF
No ratings yet
Musica Secundum Imaginationem - Notation, Complexity, and Possibility in The Ars Subtilior
14 pages
Physical Modeling
PDF
No ratings yet
Physical Modeling
6 pages
SIGCSE2016 JythonMusicWorkshopSlides Handout
PDF
No ratings yet
SIGCSE2016 JythonMusicWorkshopSlides Handout
26 pages