Main Group 02: Additive Synthesis, Same Units

Return to main index
01 Basic Instrument
3 sinus wave, exponential envelope, gong
4 sinus wave, exponential envelope, ratio control of frequencies in score, bell
5 sinus wave, power envelope, spectral analysis of a chord
5B as 5, exponential envelope
6 sinus wave, exponential envelope, constant number of additive units, individual control of iamp, idur and ifq, bell
6B different Csound implementation of 6
7 variable wave & envelope, linear and exponential decay experiments
13 Linear Envelope Transfer Functions
1 basic instrument with various constants and ratios applied to a single LINSEG envelope, brass
1B as 1, different LINSEG envelope
40 LFO on Frequency
1 equidistant frequency cluster, LFO pitch contour, starship
41 RANDI on Frequency
1 basic instrument with added small random frequency variation, LINEN envelope, brass
2 as 1, different OSCIL envelopes, brass from physical analysis data
42 Frequency Transfer Functions
1 variable pitched drums
43 Extremely Small Frequency Offsets
1 arpeggio instrument, tibetan chant like
44 Exponential Frequency Control
1 basic instrument with continuous frequency and amplitude control, endless glissando
2 as 1, different Csound implementation with PHASOR and TABLE, cycle studies
2B as 2, pitch studies


The additive synthesis instruments of this main group are assembled from equal building blocks. Apart from different data fed to these designs, the instruments differ in their methods of controlling the envelope and waveform. Sometimes the addition is directed from within the score file by using a note statement for each harmonic. This is a very flexible method that allows to vary the amount of harmonics with every event. On the other hand the hardcoding of a constant number of parallel basic instrument blocks is more economical.

Again, some of Risset's fine instruments adorn this part of the catalogue. The composer has written his thesis on trumpet tones and extensively used additive designs in his compositions. He points out that instrumental imitation is not aimed at duplicating an instrument, but at shedding light on properties that can endow sounds with naturalness, richness and character. The brass timbre, for example, is characterized by a law of variation between physical parameters, rather than by a physical invariant such as a spectrum (Risset 1989: p. 68).

Sub group numbering logic
     basic instrument:                            01 to 09
     modification of amplitude:                   10 to 29
     modification of frequency:                   30 to 69

Suggested Reading

Lorrain, Denis 1980.
"Inharmonique, Analyse de la Bande de l'Oeuvre de Jean-Claude Risset."
Rapports IRCAM, 26.

Mathews, M. and J.-C. Risset. 1969.
"Analysis of Instrument Tones."
Physics Today 22(2):23-30.

Moore, F.R. 1977, 1985.
"Table Lookup Noise for Sinusoidal Digital Oscillators." Computer Music Journal 1(2):26-29.
Reprinted in C. Roads and J. Strawn, eds. 1985.
Foundations of Computer Music.
MIT Press, pp. 326-334.

Moorer, J.A., and Grey, J.M. 1977, 1978.
"Lexicon of Analyzed Tones (Part 1: A Violin Tone)."
Computer Music Journal 1(2):39-45.
"Lexicon of Analyzed Tones (Part 2: Clarinet and Oboe Tones)."
Computer Music Journal 1(3):12-29.
"Lexicon of Analyzed Tones (Part 3: The Trumpet)."
Computer Music Journal 2(2):23-31.

Moorer, J.A. 1985.
"Analysis-based Additive Synthesis."
in Strawn, J., ed. 1985.
Digital Audio Signal Processing: An Anthology.
A-R Editions, pp. 160-177.

Risset, J.-C. 1966.
"Computer Study of Trumpet Tones."
Murray Hill, N.J.: Bell Telephone Laboratories.

Risset, J.-C. 1969.
"Introductory Catalogue of Computer Synthesized Sounds."
Murray Hill, N.J.: Bell Telephone Laboratories.

Risset, J.-C. 1969b.
"Pitch Control and Pitch Paradoxes Demonstrated with
Computer-Synthesized Sound."
Journal of the Acoustical Society of America 46:88.

Risset, J.-C. 1989
"Additive Synthesis of Inharmonic Tones."
in Mathews M.V. and J.R. Pierce, eds. 1989.
Current Directions in Computer Music Research.
MIT press, pp. 159-163.

Risset, J.-C. 1989b.
"Computer Music Experiments 1964-..."
in C.Roads, ed. 1989.
The Music Machine. MIT Press, pp. 67-74.

Risset, J.-C. 1989c.
"Paradoxical Sounds."
in Mathews M.V. and J.R. Pierce, eds. 1989.
Current Directions in Computer Music Research.
MIT press, pp. 149-158.

Shepard, R.N. 1964.
"Circularity in judgements of relative pitch."
Journal of the Acoustical Society of America 36:2346-53.


additional parameters: none

These percussive gong-like sounds are realized with additive synthesis. An exponentially decaying envelope is set onto a number of sinusoid waveforms.

In the first sound, all frequency components decay synchronously. The spectrum is invariant and recalls an electronic chime.

For the second tone, the same frequency components have a decay time approximately inversely proportional to their frequency: the principle is followed in a flexible manner to come to a more intricate decay pattern. Compared to the first sound, we find more life and naturalness here.

The next tone features a different set of frequencies, again with non-synchronous decay.

The last four tones overlap and their frequency components are sufficiently close to each other to produce beats. (Risset 1969: #420)


Orcestra and Score
WAV and mp3 outputs.


additional parameters: irat

This instrument is similar to the previous design: f51 generates an exponential decaying envelope. By applying decreasing durations for the note statements belonging to one additive event, envelope f51 shapes the sinus waves non-synchronously.

The frequency of the individual components is expressed by a ratio to the fundamental.

The bell-like timbre is obtained by 7 components (at 1, 2, 2.4, 3, 4.5, 5.33 and 6 times the fundamental frequency) with variable durations.

The second tone is obtained by only four additive components (1, 2, 2.5, 3.36).

The durations are 3 sec for the first tone, and 4 sec for the second tone. (Risset 1969: #410)


Orchestra and Score
WAV and mp3 outputs.


additional parameters: none

This is the ACCCI implementation of Risset's 'Spectral Analysis of a Chord': for each note of the chord successive harmonics are introduced gradually. Originally, the score file has been created with the help of a PLF sub routine (Mathews 1969: pp.78-86). Slightly different routines were used on each of the three two note groups, as is shown in brackets in the figure below.

[chord] 4 harmonics for group 1,
8 harmonics for group 2 and
10 harmonics for group 3 are generated in turn.

The durations of the successive harmonics are related to the fundamental note duration D by D-DD.

If DD = 0, they have the same duration as the fundamental, as shown to the right. The total duration of the sound for N harmonics is then given by: D(total) = D + N * TS.


For generation routine 2 the pattern is different:

The envelope has a parabolic attack and decay. This shape is created by the linear f31 multiplied by itself. The general design is additive. (Risset 1969: #500)


Orchestra and Score
WAV and mp3 outputs.


additional parameters: none

Variation on the preceding instrument: a percussive (instantaneous) attack and an exponential decay replace the parabolic attack and decay envelope. Everything else remains unchanged. (Risset 1969: #501)


Orchestra and Score
WAV and mp3 outputs.


additional parameters: none

This additive bell is built with the OSCIL1 unit generator, allowing individual durations to be controlled from within the orchestra file.

The module OSCIL1i has been created specifically for this type of instrument design. Csound enforces the use of a K-rate output argument for this unit generator.

Substitution of OSCIL1 by OSCIL can not be done for the following reason: the waveform oscillator is still 'on' after the end of the envelope has been reached. This leads to a series of chaotic sinus entries and clicks, depending on the duration ratios.

To avoid noise the envelope function f51 needs a minimum slope of 4096 to 1 before rescaling. (Vercoe 1993: morefiles/risset3.orc)


Orchestra and Score
WAV and mp3 outputs.


additional parameters: none

A different realization of an additive bell. The envelope is generated by EXPON. In contrast to the previous design, this unit generator allows the use of an A-rate output buffer. A longer performance of the instrument will use the last defined value of EXPON to continue on in the same direction (here: iamp = 1).


Orchestra and Score
WAV and mp3 outputs.


additional parameters: if1, if2

This is the additive part of Risset's 'Linear and Exponential Decay Experiments'. In his score the composer uses only three parallel building blocks, but this can be extended to any number, if there is a wish to do so.

In section 1 the waves with the higher harmonic content decay faster. This situation is often encountered in natural vibrating systems. The example of section 2 adds a slight detuning to add liveliness. In section 3, the waves with lower harmonic content decay first (not often found in nature), and section 4 adds a small detuning once more. The noise in sections 3 and 4 stems from the foldover components of the square wave f31. Section 5 repeats section 1, and the last section detunes the three oscillators just a little more than was the case earlier on. (Risset 1969: #300)


Orchestra and Score
WAV and mp3 outputs.


additional parameters: irise, idec

This run, again translated from the original Music 5 instrument of Risset, presents an economical way to synthesize brass tones, or in more general terms, sounds whose spectra depend upon the amplitude of one component (Mathews and Risset: 1969).

The design is as follows: LINSEG produces one amplitude envelope (0 < iamp < 120) which leads straight to the first sinus oscillator and serves to calculate relative amplitude values for the harmonics (in this particular case). The modification imposed by iratio and iconst will lead to an increase of the higher harmonics, as a function of amplitude.

For example, for iamp = 100, the seventh harmonic is seven times as strong as at iamp = 60. During the rise time of the tone, the higher harmonics will increase more rapidly.

On the other hand they will die away sooner during the decay period.

The linear scheme that governs this behaviour is laid out in the figure on page 46. (Risset 1969: #210)


Orchestra and Score
WAV and mp3 outputs.


additional parameters: irise, idec

This design uses a LINSEG envelope which is different from the previous one. The envelope produces a large and fast increase of the amplitudes in the rise. Both for instruments 02_13_1 and 02_13_1B the rise time itself is 50 msec. It is somewhat larger than in most actual trumpet sounds because of the unusual way in which the harmonics enter.

Risset adds here that these sounds are not presented as good imitations of trumpet sounds. There is no formant structure, there are not enough components and there is no frequency control. Yet, he points out, this design is not limited to brass-like sounds, and can be useful in other contexts.

The figure shows that below an amplitude of 33 the output will contain no harmonics, while for values between 33 and 50 the number of harmonic components increases to seven.

Reaching 50 on the abscissa, all functions are .05. This can be used as a point of reference, to understand how the quantities are distributed in this instrument. After passing through the sloped linear scaling functions, the amplitudes are multiplied by different amounts, proportional to 1000. For the second harmonic: 1000x.05=50, for the third harmonic: 2000x.05=100 and so on for the other harmonics. These amounts function as additional (or secondary) weighting factors of the harmonics.

While all following the LINSEG envelope, above an amplitude value of 50, the various harmonics increase 2,3 ... 7 times as fast as the fundamental (according to their harmonic number in this particular design). (Risset 1969: #210)

For implementations of this type of design, a multiplier before the output is used to scale the amplitude to the desired level. Any attempt to scale at an earlier stage would disturb the precarious balance of this instrument, as will be clear from the detailed exposition above.

Orchestra and Score
WAV and mp3 outputs.


additional parameters: irate, ioff1-ioffn

This instrument allows the movement of a cluster of frequencies in a linear fashion. The breakpoint function f35 specifies the trace all frequencies will follow. On that trajectory the partials maintain the same absolute distance from each other. The exact intervals are given by the set of ioffn variables: in this scheme half of the frequency components are within LFO range and the other half is just outside that range (4.5, 9.4, 23, 39 and 84 Hz offset).

The variable irate controls the time needed for one complete scanning of this function: in our example it takes 20 seconds.

The tone gives the impression of a starship during take off.


Orchestra and Score
WAV and mp3 outputs.


additional parameters: irise, idec, ifundr

This additive instrument shows individual an amplitude envelope and frequency for each partial. Rise and decay times are specified by the variables irise and idec. It is a simplification of instrument 02_41_2 and based on physical analysis data of trumpet tones.

The frequency of the partials is subject to small random fluctuations. The range of these fluctuations is set to 6% of the fundamental frequency for all partials. (Risset 1969: #200)


Orchestra and Score
WAV and mp3 outputs.


additional parameters: if2, ifundr

In this example Risset used data from real trumpet tones to synthesize brass-like sounds. The amplitude envelopes of the partials are individually specified as breakpoint functions. (Mathews and Risset 1969)

Additionally, the frequencies of the components are random modulated at a rate of 10 Hz with an amplitude of 4% of the fundamental frequency. Both values are low; the random frequency fluctuation plays a minor part in this particular tone quality. (Risset 1969: #200)

Data for other analysis-based additive synthesis instruments is published by Moorer: cello, trumpet and clarinet (Moorer 1985).


Orchestra and Score
WAV and mp3 outputs.


additional parameters: iamp2, ifq2, iamp3, ifq3 ipcf, iatt1, idec1, iatt2, idec2, iatt3, idec3

This design emulates a pitched drum with control on the pitch contour.

One oscillator produces the fundamental wave (160Hz) and the other two oscillators create inharmonic partials: 225, 300, 375, 450 Hz for the second oscillator and 468, 549, 610, 671, 732, 915, 1037 and 1098 Hz for the third oscillator.

The amplitude envelopes are given by three EXPSEG unit generators. The rise time for the fundamental is 10 or 30 msec, its steady state is 0 or 30 msec, and its decay is set to 1.6 seconds. The remaining two EXPSEG modules ensure a fast decay of the inharmonic partials. In this example, the set of partials take .6 and .3 seconds respectively to decay to 1/1000th of their initial amplitude.

The pitch evolution is following the functions f31 (stays the same), f32 (increasing about a third), f1 (sinus with an amplitude of a third) and f33 (decreasing a third).

The examples are ordered in the same sequence. The last tone is to demonstrate the degenerate effect of a long rise paired with a very brief decay of the inharmonic contributors. (Risset 1969: #440)

The instrument can also be classified in main group 03. This would underline the functional difference of the oscillators. Nevertheless, we prefer to focus on the technical parallelism of the design.


Orchestra and Score
WAV and mp3 outputs.


additional parameters: ioff, irise, idec

This remarkable tibetan harmonic chant like effect is created by nine sinusoidal oscillators, whose frequencies are almost identical: separated by a fraction of 1 Hz from each other. Thus for each component, amplitude modulation leads to its enhancement or cancelling out in turn. In his composition 'Mutations', Risset gives the instrument two different envelopes: one with sharp rise and one is a more gradual rise.

02_43_1 has been modified to choose rise and decay times from the score file, instead of using an oscillator as envelope generator. A very brief rise sounds like the attack of a string instrument. The score fragment is from 'Mutations'. (Lorrain 1980: phase6; Vercoe 1993: morefiles/risset1.orc)


Orchestra and Score
WAV and mp3 outputs.


additional parameters: none

The instrument plays an endless glissando or Shepard tone, named after its inventor R.N.Shepard. In this realization the sound appears to descend infinitely. (Shepard 1964: pp. 2346-53; Risset 1969b: p. 88)

10 parallel units perform the same calculations, but not at the same time! Amplitude and frequency envelopes of the parallel building blocks differ in phase by 1/10th of a cycle.

The frequencies follow an exponential decay, from ifq=3900 to ifq=3900*2-10. This equals a descent over 10 octaves from the start to the end of the 120 second note event.

The phase difference spaces the frequency components exactly one octave apart. Thus, an octave descent takes 120s/10 = 12 seconds here.

The bell-shaped function f71 controls all amplitudes with the effect of enhancing the frequency trajectory of components in the mid-frequency range, and attenuating low and high frequency components. The lowest and highest frequencies are inaudible.

Interpolating oscillators are recommended to avoid noticeable noise or discontinuities due to round-off errors. More in general this holds for all sounds that include frequency modulation. (Mathews 1969: p. 134; Moore 1977: pp. 26-29, 1985: pp. 326-334)

A sinus starting at 270 degrees (+1,/2) eliminates the additional step of abusing an audio file to generate a bell-shaped function. (Risset 1969: #513)


Orchestra, Score, Sample and Table
WAV and mp3 outputs.


additional parameters: icycle

This is a realization of the Shepard tone or endless glissando that utilizes TABLE(I) and PHASOR. The tables contain a bell-shaped and an exponential functions. The variable icycle controls the speed of incremental indexing.

Cycle time studies. The score file explores how different values of the variable icycle affect the sound. For the first tone the sampling index advances 1/100th of a cycle. In the second tone the index moves at 1/50th and in the last setting it increases to 1/25th of a cycle. The duration is 20 seconds for each note.

The bell-shaped function cannot be generated by any of Csound's GEN routines directly. There is a way though, to obtain a table of an arbitrary mathematical function by making one extra step.

First, a purely mathematical orchestra calculates the table values. After this run, the desired table exists as a datafile. From now on, any instrument can make use of the new table. GEN 01 retrieves the values of the soundfile into a function table. Like all GEN routines, GEN 01 by default rescales the given values to the range (-1 < x < 1). Loaded into internal memory, the function table can be used like any wave or envelope function table.

In instrument 02_44_2, the datafile Sflib/88_01_2.TAB is called up by GEN 01 to give the bell-shaped function.

A subdirectory Sflib (Soundfilelibrary) within the main soundfile directory is useful to protect mathematical and other special audio files from wildcard operations on the soundfile directory. (Vercoe 1993: morefiles/ENDLESS.ORC; Vercoe 1993: morefiles/ risset4.orc)

02_44_2B additional parameters: icycle

Pitch studies. This instrument varies the start frequency for the glissando descent. We show three notes with a duration of 20 seconds and start frequencies of 32000, 16000 and 8000 Hz.


Orchestra and Score
WAV and mp3 outputs.

Return to main index
Last modified: Wed Jun 27 06:52:05 BST 2007