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: