[Prev (Percussion Synthesis)][Next (Physical Modeling)][Table of Contents]

Chapter 6. Additive Synthesis

In the usual subtractive synthesis approach, a complex waveform is incrementally whittled away to produce the wanted sound. To use an artistic analogy, subtractive synthesis is like sculpting marble - the marble is chipped away to reveal the statue beneath. Another approach would be like sculpting with clay, where the clay is molded and clumped together to create the desired shape. Such a way of doing sound synthesis is known as additive synthesis.

6.1 What is Additive Synthesis?

Additive synthesis is a technique which builds sounds from the bottom up, by incrementally adding simple waveforms together to achieve the desired resultss. Additive synthesis can be used to very accurately model almost any musical instrument, given enough computational resources. Computational resources are limited on the Nord Modular, however, implying that perfect emulations of instruments will not be achievable. But, very good results can be obtained in some cases!

Besides the high demand on computational resources, additive synthesis has some implementational quirks which can affect the quality of the synthesized sound. One of these arises from the fact that a large number of sound sources are being added together. Since each of these sound sources has some noise, adding them together will neccessarily increase the noise level. Compare this to the situation in subtractive synthesis where the output noise can be less than the noise level of the input waveform, due to the filtering. Thus, instruments created using additive synthesis can be noisy. Another factor to consider is the relative fragility of the harmonic structure of the additive sound. If the user has some control over some aspect of the additive process, say in the amplitude or frequency of some overtone, the complex harmonic structure that provides a certain type of sound can be destroyed, leading to a thin sound. In fact, one of the main criticisms of additive synthesizers is that they produce rather thin sounds. This is not an problem with additive synthesis per se - additive synthesis does have the capability to make rich powerful sounds. The problem is that the characteristics of the overtones must be carefully and precisely set in order to achieve such sounds. It may be difficult to do this just by manually adjusting the sound parameters. Resynthesis based on mathematical analysis of the target sound is usually required to obtain good results. Another problem with additive synthesis is that transient sounds are very difficult to synthesize. This is because transients require a large number of rapidly varying overtones to obtain accurate reconstructions. The phase relationships between the various oscillators must also be carefully controlled to get a sharp attack. Even though the harmonic structure of a sound does not depend on the relative phases of the individual oscillators (except in rare cases of complete cancellation), temporal events such as rapid attacks or decays are very much dependent on the oscillators phases. Noisy instruments, such as drums, flutes, and cymbals, are also hard to synthesize, again due to the large number of overtones required. One can overcome this difficulty somewhat by modulating the overtone frequencies and amplitudes with noise signals. This has the effect of spreading the sinewave frequency, which is itself just an impulse in the frequency domain, to a broader range of frequencies. In general, however, additive synthesis is at its best when synthesizing sounds that are quasi-periodic.

The basic additive synthesis patch is shown below.

Figure 6.1. A basic patch that can be used as a template for additive designs (J. Clark).

6.2 Re-Synthesis

If you play around with the patch shown in figure 6.1, trying to adjust the parameters to achieve a certain sound, you quickly realize that it is not so easy to get what you want. You can learn quite quickly how filters affect the sound of square waves and sawtooth waves, and so using subtractive synthesis it is not too hard to make something close to the sound you are thinking of. Even getting FM synthesis using a fixed patch setup such as in the Yamaha DX-7 to do what you want can be learned after a bit of practice. But Additive synthesis never seems to get any easier no matter how long you work at it. Doing additive synthesis by hand is always a matter of tedious setting of partial frequencies and sculpting partial envelopes. Having a table of partial frequencies and partial amplitude time variations constructed from spectrographic measurements of a real sound (such as a clarinet or piano) can help remove the trial and error part of the additive synthesis design process. This sort of design process is probably better left to automated, computerized, re-synthesis methods. In re-synthesis, a real instrument is sampled, and the measured waveform subjected to a time-varying spectral analysis. For example, spectra could be computed using an FFT algorithm over moving time windows of 20 milliseconds width, over the extent of the instrument's sample. Peaks in each of the spectra are detected and localized, and the strong ones identified as partials. These peaks are tracked from time-window to time-window. The amplitude and frequency variation of each tracked spectral peak are then measured. From these variations the parameters for the partial frequency and amplitude envelopes are generated.

Re-synthesis is not a simple process, even for computers. It is often difficult to detect spectral peaks, as the peaks may widen and merge with others, or be weak. Tracking peaks from one time segment to the next is also a difficult problem, as peaks may be created, disappear, or merge with other peaks. Nonetheless, quite good results can be obtained. This is not something that the Nord Modular is capable of doing itself, at least not with sufficient accuracy. One could write a computer program that would take in a wave file containing an instrument sample and spit out a Nord Modular patch (similar to that of figure 1) which would give an additive synthesis approximation to the sound. If you, or someone close to you, ever writes such a program, let me know!

If you are the patient type, you could try to do re-synthesis by hand, from a table or chart of partial frequencies and amplitudes. Since partial amplitudes in such charts are usually expressed in decibels (dB), it is neccessary to know the attenuation of the mixer and/or sine-bank level controls in dB. Ico Doornekamp has tabulated a list of gain values for the Nord Modular mixer level control in dB. Apparently (although I have not confirmed this) the same conversion factor can be used for the level control in the sinebank oscillator. The values are as follows:

127 1.00000 0.000 126 0.97852 -0.094 125 0.94617 -0.240 124 0.91984 -0.363 123 0.89383 -0.487 122 0.86836 -0.613 121 0.84320 -0.741 120 0.81852 -0.870
119 0.79414 -1.001 118 0.77023 -1.134 117 0.74680 -1.268 116 0.72370 -1.404 115 0.70109 -1.542 114 0.67883 -1.682 113 0.65703 -1.824 112 0.63570 -1.967
111 0.61480 -2.113 110 0.59422 -2.261 109 0.57406 -2.410 108 0.55445 -2.561 107 0.53523 -2.715 106 0.51641 -2.870 105 0.49805 -3.027 104 0.48008 -3.187
103 0.46250 -3.349 102 0.44539 -3.513 101 0.42867 -3.679 100 0.41237 -3.847 99 0.39648 -4.018 98 0.38102 -4.191 97 0.36602 -4.365 96 0.35133 -4.543
95 0.33711 -4.722 94 0.32328 -4.904 93 0.30984 -5.089 92 0.29680 -5.275 91 0.28431 -5.462 90 0.27183 -5.657 89 0.25787 -5.886 88 0.24391 -6.128
87 0.23461 -6.297 86 0.22530 -6.472 85 0.21600 -6.655 84 0.20425 -6.898 83 0.19249 -7.156 82 0.18466 -7.336 81 0.17682 -7.525 80 0.16898 -7.722
79 0.15923 -7.980 78 0.14948 -8.254 77 0.14298 -8.447 76 0.13648 -8.649 75 0.12998 -8.861 74 0.12204 -9.135 73 0.11409 -9.427 72 0.10880 -9.634
71 0.10350 -9.851 70 0.09820 -10.079 69 0.09186 -10.369 68 0.08551 -10.680 67 0.08128 -10.900 66 0.07705 -11.132 65 0.07282 -11.377 64 0.06784 -11.685
63 0.06286 -12.017 62 0.05953 -12.252 61 0.05621 -12.502 60 0.05289 -12.766 59 0.04907 -13.092 58 0.04525 -13.444 57 0.04270 -13.696 56 0.04015 -13.963
55 0.03760 -14.248 54 0.03517 -14.539 53 0.03273 -14.850 52 0.03030 -15.186 51 0.02820 -15.498 50 0.02609 -15.835 49 0.02399 -16.200 48 0.02189 -16.598
47 0.02049 -16.885 46 0.01908 -17.193 45 0.01768 -17.524 44 0.01618 -17.909 43 0.01468 -18.332 42 0.01368 -18.639 41 0.01268 -18.969 40 0.01168 -19.326
39 0.01063 -19.734 38 0.00958 -20.185 37 0.00888 -20.514 36 0.00818 -20.870 35 0.00748 -21.258 34 0.00678 -21.689 33 0.00607 -22.168 32 0.00560 -22.519
31 0.00513 -22.900 30 0.00466 -23.320 29 0.00419 -23.774 28 0.00373 -24.281 27 0.00342 -24.657 26 0.00311 -25.067 25 0.00280 -25.521 24 0.00251 -25.999
23 0.00222 -26.539 22 0.00202 -26.939 21 0.00183 -27.380 20 0.00163 -27.871 19 0.00145 -28.377 18 0.00128 -28.945 17 0.00115 -29.375 16 0.00104 -29.847
15 0.00092 -30.383 14 0.00081 -30.919 13 0.00070 -31.520 12 0.00063 -31.987 11 0.00056 -32.499 10 0.00049 -33.079 9 0.00044 -33.590 8 0.00038 -34.170
7 0.00034 -34.677 6 0.00030 -35.274 5 0.00025 -35.940 4 0.00022 -36.478 3 0.00019 -37.128 2 0.00017 -37.768 1 0.00015 -38.285 0 0.00000 -infinity
Table 6.1. Gain levels for different audio mixer level settings. The first number in each cell of the table refers to the mixer setting, the second to the linear gain level, and the third to the gain level in dB (I. Doornekamp).

6.3 Group Additive Synthesis

Having a separate frequency and amplitude envelope for every sinusoid in the set of overtones is very resource intensive. This is a serious problem in systems like the Nord Modular in which these resources are limited. One way in which to increase efficiency is to group sets of overtones and associate just a single amplitude/frequency envelope pair to each group. This grouping makes the design process more difficult, as the designer must now identify those overtones which have similar frequency and amplitude dynamics. One commonly used grouping technique is to identify groups consisting of overtones that are harmonically related. The advantage of such groups is that they can be generated using single, filtered, non-sinusoidal, waveforms. This approach can be thought of as a hybrid of additive synthesis and subtractive synthesis, where the subtractive process controls the spectral properties of the individual groups, and the additive process combines different groups to obtain the overall desired result.

Figure 2 shows an additive synthesis patch that divides 24 partials into 5 groups, each with its own amplitude envelope. A manual re-synthesis approach was taken for the design of this patch. A piano sample was examined using the spectral analysis capabilites of Cool-Edit. Spectra were obtained at 50 millisecond intervals over the length of the sample (to give 20 spectra for a one second long sample). First, a spectrum from near the middle of the sample was examined to determine the location of the strongest spectral peaks. The relative amplitudes (in dB) of these peaks were measured. These amplitudes were used to set the levels of the sine-bank oscillators, using the conversion factor given in table 6.1. Then, the peaks were tracked (manually!) in the other time window spectra by a nearest-neighbor heuristic (the peaks don't shift very much in this sample) and their amplitudes roughly plotted. The partial groups were assigned from the amplitude plots by grouping together spectral peaks whose amplitude curves looked qualitatively similar. Multi-stage envelope modules were used to implement amplitude curves that more-or-less matched the general shape of the partial amplitude plots. The resulting sound is something like a piano, at least more like a piano than a saxophone. The sound is rather organ-like, a common result of additive synthesis.

6.4 Morphing

Additive synthesis may be used to great effect to synthesize a single type of sound created by an instrument, but has difficulty in synthesizing changing sounds. Most musical instruments are expressive, which means that their sounds can be altered by the performer. Many synthesis techniques, such as FM synthesis, can be controlled with a few parameters. These parameters affect the sound in a global fashion. In additive synthesis, the parameters determining the sound are the partial amplitudes, phases, and frequencies. Changing a single one of these will have little effect on the sound, unlike the changing of a single parameter in an FM synthesised instrument. In order to get an expressive change in the sound of an additive synthesized instrument, a large number of parameters need to be changed at once - a difficult task for the performer!

A solution to the problem of adding expressiveness to additive synthesis is morphing, where the performer controls a morph, or smooth transition, between two different sets of additive synthesis parameters. One could also use an approach similar to wave-terrain synthesis, in which the performer specifies a one-dimensional trajectory or curve in the high-dimensional space of additive synthesis parameters. Different points in this space correspond to different sounds, and in this way the performer can move from one sound to the next.

Morphing can be accomplished in many ways. Two of the most common are cross-fading of two different waveforms, and varying, in a concerted manner, a number of parameters between two different settings. In the Nord Modular the cross-fade module can be used to implement the first type, while the Morph controller groups can be used to implement the second type. It is greatly preferable to use the Morph controller group than cross-fading, as cross-fading requires duplication of most of the patch. Besides using the Nord Modular morph groups, morphing of voltage-controllable parameters can be implemented using cross-fading of the parameter values between two different levels. This approach is more tedious to implement than the morph groups but is very flexible, and can control a large number of parameters, whereas the morph groups are limited to controller a maximum of 25 parameters in the Nord Modular.

The patch shown in figure 6.2 is an example of such a morphing approach. The morph group is assigned to knob 1 in this patch, but could also be assigned to a MIDI controller such as key velocity or aftertouch. The sound morphs from the (re-synthesized) piano sound to a rather clangourous sound. Note the switch (controlled by knob 2) that enables syncing of the oscillators. When the morph knob is fully clockwise (to play the piano sound), the sync switch has little effect. This is because most of the partials are harmonic. When the morph knob is fully clockwise, so that the clangorous sound is being played, the sync switch has a significant effect.

Figure 6.2. An additive synthesis patch illustrating grouping of partials, and morphing of parameter settings (partial amplitudes and frequencies) (J. Clark).

6.5 Adding Transients

It is difficult to create sounds having percussive attacks just with the addition of sine-wave partials. Taking a page from the Roland D-50 synthesizer, which combined subtractive synthesis steady tones with PCM samples of transient sounds, we can combine additive synthesis sound generation with subtractive synthesis generated transients. This is illustrated in the following patch:

Figure 6.3. Adding transients to an Additive synthesis patch (J. Clark).

In this patch, an impulsive noise burst and a short pulse-wave transient are mixed with a simple 5-voice additive synthesis sound. The fifth partial of the additive part is implemented with a pulse generator rather than with a sine-wave. This is a useful trick when you have a limited number of partials to work with - let the highest partial be a non-sinusoidal wave, with lots of harmonics. This non-sinusoidal partial then fills in the higher harmonics. Otherwise, the sound would be dull and lacking in sparkle. A couple of LFOs are added to give some extra motion to the sound.

6.6 Which Oscillator to Use?

In the Nord Modular there are a wide range of oscillator modules to choose from. Which of these modules are best for implementing additive synthesis?

The slave sinewave oscillator is good for additive synthesis for a number of reasons:
- It produces a single sinusoidal harmonic.
- It is the single oscillator that uses the least DSP cycles (3%), and uses just a bit more DSP resources than 1/6 of the sine-bank.
- It has an FM input, which can be used to provide dynamic variation of the pitch of the partial.
- It has an AM input, which can be used to control the amplitude of the partial.

The slave FM sinewave oscillator is also very good for additive synthesis. It is slightly more expensive in terms of DSP usage than the non-FM slave sinewave oscillator (3.2% vs. 3.0%) but has one important advantage, that is, it has oscillator sync. This can be used to ensure that all harmonic partials will have a fixed relative phase. Be careful in using oscillator sync on non-harmonic partials, as this will introduce extra harmonics which will be hard to control (of course, these extra harmonics might just give you that sound you are looking for!). The FM sine slave oscillator also has an FM input, which can be used to provide dynamic variation of the pitch of the partial. Use this carefully if you are also using oscillator sync, as the FM then will not cause a change in pitch, but will create extra harmonics.

The number of oscillators that we can use in a Nord Modular additive synthesis patch is limited by the available DSP resources. But what if your grand scheme for the greatest patch ever requires more oscillators than this? Well, one way to get a larger number of oscillators is to go cheap and dirty and use LFO modules as the partial generators. An example is shown in the patch below, which uses 64 slave LFOs. You could probably squeeze in more oscillators, but I think you get the point. Triangle oscillators are used as they use the least DSP cycles of any of the LFO slave oscillators. Triangle waves have some low-amplitude higher harmonics, which limits the types of sounds that can be achieved. This slight drawback is insignificant in face of the other drawbacks of using the LFO slave oscillators - the aliasing that is present at higher frequencies, and the limited control one has over the frequency of the harmonics. This patch seems best for generating noisy clangourous sounds! One might question the use of audio mixers in this patch. Wouldn't it be cheaper to use control mixers? Yes, it would, but it would not make any difference to the overall number of oscillators or polyphony that we can achieve, since this is set by the zero-page usage rather than by DSP cycles. And using 8-input audio mixers is much more convenient and simpler to wire up than the 2-input control mixers that are available. You need 7 of these control mixers to construct an 8-input mixer, and the amount of wiring is considerable. Note that group synthesis is used in this patch - the oscillators are partitioned into groups of eight, and each group is amplitude modulated by a single envelope generator.

Figure 6.4. Additive synthesis patch using LFOs as partial sources (J. Clark).

[Prev (Percussion Synthesis)][Next (Physical Modeling)][Table of Contents]

(c) James Clark 2003