So far we have seen additive and subtractive synthesis. Another synthesis technique is modulation. Modulation means that you use one signal to control a parameter of another signal. In this class we will focus on the two most common Amplitude Modulation (AM) and Frequency Modulation (FM).
11.1 Amplitude Modulation (AM)
We have seen how to control amplitude with constants, line segments, and envelope generators. In this case, we will control amplitude with an oscillator. Thus, at its simplest, amplitude modulation is just multiplying the outputs of two osc~ objects together as seen in Figures 11.1 and 11.2.
We generally think of one signal as the carrier signal (the one to be modulated) and the other one as the modulating signal (the one that does the modulating). In practice, this is indifferent as it is multiplying two signals together, but in these examples we will keep the nomenclature.
When we use low modulating frequencies (lets say less than 5 Hz) and a higher carrier frequency (for example 300hz) we perceive a tremolo, that is, a periodic change in amplitude and a fixed frequency. For example, if we modulate with 1 Hz, the sounds get louder and quieter automatically twice a second, but the frequency we hear is clearly still 300Hz. Something like this is seen in Figure 11.2.
When we use high modulating frequencies (lets say above 15-20Hz) we hear pitch changes rather than amplitude changes. In fact, if we modulate a signal with a carrier frequency of 350Hz with a modulating signal with a frequency of 50Hz, what we will effectively hear are two frequencies: 300Hz and 400Hz. You can in fact test and compare these two constructions (Figures 11.1 and 11.3) to see if you hear any difference.
We call these resultant frequencies “sidebands”. In the case of AM, the carrier and modulating signals dissappear and give way to the sidebands or resulting frequencies. In the Figure below then, we can see how a signal with carrier frequency (fc) and a signal with modulating frequency (fm) we obtain two resultant sidebands: fc +/- fm. For instance, if fc = 300 and fm = 100, we obtain two sidebands: 300+100=400 and 300-100=200. To prove that fc and fm are interchangeable, we reverse the values for fm and fc and obtain the same results. So if fc = 100 and fm = 300, then 100+300=400 and 100-300=-200. However, as there are no negative frequencies in audio, we in fact hear 200Hz.
Finally, try multiplying your adc~ input (carrier signal) times an oscillator (modulating signal) with a frequency higher than 30Hz. Sing into your microphone or play an instrument. As these signals often have several harmonics, each of these harmonic frequencies will produce two sidebands.
11.2 Frequency Modulation (FM)
Another common modulation technique is called Frequency Modulation or FM.
In this case, we use one oscillator to control the frequency of another oscillator. The basic construction of FM synthesis is shown in Figure 11.5.
When we use an audible carrier frequency (fc) (e.g. 440Hz) and use a low modulating frequency (fm) (eg. 1Hz) and an index of say 15, the resulting is an siren-like oscillating frequency that goes from 425Hz to 455Hz. If we see this on the spectrogram, we will see a single frequency going up and down. A slightly higher fm (3-5Hz), will produce the effect of a “vibrato”.
If however, we make fm higher than say 20-30Hz, we will hear that instead of a single frequency gliding up and down we begin to hear stable frequencies. These frequencies are also known as sidebands.
As the modulation index goes up, we will also hear more harmonics gradually and the spectrum will be come richer.
Sidebands show up at specific frequency relationships as shown in Figure 11.6. Sidebands are spaced by the modulation frequency fm. As with the case of AM, all negative frequencies are reflected around the y axis. Because of this relationship between sidebands and the modulation frequency the relationship between fc and fm can produce two kinds of spectra: harmonic and inharmonic.
harmonic spectra: When fm is a multiple or exact division of the fc {… .125 .25 .5 1 2 3 4 …} then the resulting spectra is harmonic as it produces an even spacing of sidebands as shown in Figure 11.6.
inharmonic spectra: However, when fm is not a multiple or exact division of the fc then the resulting spectra is inharmonic as it produces an uneven spacing of sidebands as shown in Figure 11.7.
Because of this property of sidebands, it is possible to create a patch where instead of controlling the modulation frequency (fm) directly, we can control a parameter called harmonicity ratio that produces the fm. The Harmonicity Ratio (hr) is defined as:
hr = fm/fc
Thus, the fm can be calculated by:
fm = hr * fc
We can also tie the modulation index to the fm with a broader more general index that results from multiplying the hr * fm.
In this way, our final fm patch is shown in Figure 11.8. If you control the index and the overall amplitude dynamically with an ADSR you should hear some classic FM synthesis keyboard sounds.
11.3 Clone
So far, we have used abstractions in the same way as objects that are loaded individually, but whenever we need a bank of abstractions, we can also use the clone object. Clone takes as arguments the number of abstractions to be “cloned” and potentially a list of arguments. Each abstraction that is cloned, will have as its first argument ($1), the number or “id” of the abstraction.
For example then, if you create the object [clone myabs 8] you will create 8 copies of the abstraction called “myabs”. Each instance of “myabs” will have a number id which starts at 0 and ends at 7. Therefore, if your abstraction has an object [r myabs-$1] then $1 will take the value of the id. Any subsequent arguments to clone will start at $2.