We turn now to the carrier signal and consider how to make it more controllable. In particular, we would like to be able to slide theh spectral energy continuously up and down. Simply sliding the frequency of the carrier oscillator will not accomplish this, since the spectra won't be harmonic except when the carrier is at an integer multiple of the fundamental frequency.
In the stretched wavetable approach we can accomplish this simply by sampling a sinusoid and transposing it to the desired ``pitch". The transposed pitch isn't heard as a periodicity since the wavetable itself is read periodically at the fundamental frequency. Instead, the sinusoid is transposed as a spectral envelope.
Figure 6.7 shows a carrier signal produced in this way, tuned to produce a formant at 1.5 times the fundamental frequency. The signal has no outright discontinuity at the phase wraparound frequency, but it does have a discontinuity of slope, which, if not removed by applying a suitable modulation signal, would have very audible high-frequency components.
![]() |
Using this idea we can make a complete description of how to use
the block diagram of Figure 6.3
to produce a desired formant. The wavetable lookup on the left hand
side would hold a sinusoid (placed symmetrically so that the phase
is zero at the center of the wavetable). The right-hand-side
wavetable would contain a Hanning window function (or perhaps
another appropriate windowing function as will be developed in
chapter
). If
we desire the fundamental frequency to be
, the
formant center frequency to be
, and the
bandwidth to be
, we set the ``stretch"
parameter to the center frequency quotient
and the index of modulation
to the bandwidth quotient
.
The output signal is simply a sample of a cosine wave at the desired center frequency, repeated at the (unrelated in general) desired period, and windowed to take out the discontinuities at period boundaries.
Although we aren't able to derive this result yet (we will need
to do Fourier analysis, developed in chapter
), it will turn
out that, in the main lobe of the formant, the phases are all zero
at the center of the waveform (i.e., all cosines if the waveform
runs from
to
). This
means we may superpose any number of these formants to build a more
complex spectrum and the amplitudes of the partials will combine by
addition. (The sidelobes don't behave quite this well: they are
alternately of opposite sign and will produce cancellation
patterns; but we usually can just treat them as a small,
uncontrollable, residual signal.)
This method leads to an interesting generalization, which is to
take a sequence of recorded wavetables, align all their component
phases to those of cosines, and use them in place of the cosine
function as the carrier signal. The phase alignment is necessary to
allow coherent cross-fading between samples so that the spectral
envelope can change smoothly. If, for example, we use successive
snippets of a vocal sample as input, we get a strikingly effective
vocoder. This will also require Fourier analysis to carry out, so
we will postpone this to chapter
.
Another technique for making carrier signals that can be slid
continuously up and down in frequency while maintaining a
fundamental frequency is simply to cross-fade between harmonics.
The carrier signal is then:
The obvious way of making a control interface for this synthesis
technique would be to use ramps to update
and
, and then to compute
and
as audio signals from the ramped, smoothly
varying
and
. Oddly
enough, despite the fact that
,
,
and
are discontinuous functions of
, the carrier
turns out to vary continuously with
, and so if the desired center
frequency is ramped from value to value the result is a continuous
sweep in center frequency. However, more work is needed if
discontinuous changes in center frequency are needed. This is not
an unreasonable thing to wish for, being analogous to changing the
frequency of an oscillator discontinuously.
There turns out to be a good way to accomodate this. The trick
to updating
and
is to note that
whenever
is a
multiple of
, regardless of the choice of
,
, and
as long
as
. Hence, we may make discontinuous
changes in
,
, and
once per period (right when the phase is a multiple of
), without making discontinuities in the
carrier signal.
In the specific case of FM, if we wish we can now go back and
modify the original formulation: