You are on page 1of 13

Vesa Vlimki and Antti Huovilainen

Helsinki University of Technology

Oscillator and Filter
Laboratory of Acoustics and Audio Signal
Algorithms for Virtual
P.O. Box 3000, FI-02015 TKK, Espoo, Finland Analog Synthesis

Virtual analog synthesis refers to computational derstood, because imitating analog electronics with
methods that imitate the sound production prin- digital processing is not as easy as it may seem. One
ciples used in electronic music synthesizers of the problem is aliasing caused by sampling of analog
1960s and 1970s. In practice, it means digital sub- waveforms that have rapid changes. The spectra of
tractive synthesis. In this paper, we introduce new such waveforms contain infinitely high frequencies,
methods to generate digital versions of classical and the signals are thus not band-limited. Another
analog waveforms with reduced aliasing. We also difficulty is that analog filters do not obey simple
propose modifications to the digital nonlinear linear theory. With high signal levels they generate
model of the Moog ladder filter. These virtual ana- distortion. This does not naturally occur in digital
log synthesis techniques enable the production of processing, but it must be designed and implemented
retro sounds with modern computers. on purpose (Rossum 1992; Huovilainen 2004).
In this paper, we discuss new versions of oscilla-
tor and resonant filtering algorithms that can sound
Introduction like old analog synthesizers. Computationally very
efficient oscillator algorithms not requiring wave-
Virtual analog synthesis refers to computational tables and having reduced aliasing distortion are
simulation of the sound generation principles of proposed for classical waveforms used in subtrac-
analog synthesizers of the 1960s and 1970s. In prac- tive synthesis. These algorithms are modifications
tice, it means digital subtractive synthesis. The ba- and extensions of the digital sawtooth waveform
sic principle in subtractive synthesis is, first, to algorithm based on the differentiated parabolic
generate a signal with rich spectral content, and wave (DPW) proposed recently by Vlimki (2005).
then to filter that signal with a time-varying reso- A new digital resonant filter structure is also pro-
nant filter. posed for subtractive synthesis. It is a modified ver-
Virtual analog synthesis became a popular com- sion of the nonlinear digital Moog ladder filter
mercial term around 1995, when Clavia introduced introduced previously by Huovilainen (2004). The
the Nord Lead 1 synthesizer, which was marketed new structure reduces the computational cost of
as an analog-sounding digital synthesizer that uses the nonlinear digital Moog filter by using a single
no samples (Clavia 2002). Instead, all sounds were nonlinearity instead of five nonlinear functions in-
generated by simulating analog subtractive synthe- side filter sections. The new digital Moog filter
sis. Previously, the Roland D-50 synthesizer of the structure also decouples fairly well the cutoff and
late 1980s worked in a similar way, although it con- the resonance parameters and offers several response
tained sampled sounds. An early example of an at- types by selecting a weighted sum of different out-
tempt to design a digital synthesizer that sounds put points.
analog was Synergy (Kaplan 1981).
Design and implementation of digital subtractive
synthesis are more demanding than is generally un- Analog Subtractive Synthesis

This paper is a revised and extended version of the paper New The electronic music modules introduced by Rob-
approaches to digital subtractive synthesis that was published ert A. Moog in the mid-1960s are one of the most
at the 2005 International Computer Music Conference, important innovations in music technology (Moog
Barcelona, Spain, September 2005.
1965). A few years later, his company introduced
Computer Music Journal, 30:2, pp. 1931, Summer 2006 products where the various modules, such as oscil-
2006 Massachusetts Institute of Technology. lators, filters, and amplifiers, were integrated into a

Vlimki and Huovilainen 19

Figure 1. A typical block Figure 2. The block dia- Figure 3. Matlab code
diagram of subtractive gram of the DPW algo- showing the implementa-
synthesis as it was imple- rithm (Vlimki 2005). tion of the DPW sawtooth
mented in the Prophet 5 algorithm. The variable
synthesizer in the late delta must be initialized to
1970s. the ratio of the fundamen-
tal frequency to the sam-

3. Alias-suppressing methods in which it is ac-

cepted that some aliasing occurs, but an at-
tempt is made to attenuate it sufficiently.

In this work, we focus on the third category of

single portable unit. Subtractive synthesis was the methods. Three approaches are currently available:
main principle used in these instruments. The Min- oversampling of trivial waveforms (Chamberlin
imoog was one of the most popular analog synthe- 1985, pp. 423424), the distortion and filtering of
sizers in the 1970s. sine waves (Lane et al. 1997), and the differentiated
The Prophet 5 synthesizer introduced by Sequen- parabolic waveform (DPW) (Vlimki 2005). We dis-
tial Circuits in 1979 has microprocessor controlled cuss and extend the latter method in the following.
electronics, but it is still an analog synthesizer. Its
block diagram, shown in Figure 1, is today a classic
example of the subtractive synthesis principle. It in- DPW Algorithm and the Sawtooth Waveform
cludes two oscillators, a resonant low-pass filter,
and two envelope generators (ADSR in Figure 1 The sawtooth waveform is a common source signal
stands for attack time, decay time, sustain level, in subtractive synthesis. Vlimki (2005) found out
and release time). There are a couple of alternative that a digital signal that closely resembles the saw-
waveforms available together with a noise source. tooth wavebut with attenuated aliasing distor-
tioncan be produced by differentiating a piecewise
parabolic waveform. The simplest version of the
Digital Oscillators DPW algorithm generates the sawtooth waveform
in four stages, as illustrated in Figure 2. First the
The sharp corners of geometric waveforms, such as trivial sawtooth waveform is generated using a
the sawtooth or the square wave, cause aliasing be- bipolar modulo counter, then the waveform is
cause such signals are not band-limited. Three dif- raised to the second power, the signal is differenti-
ferent classes of methods are known to avoid this ated with a first difference filter with transfer func-
problem: tion HD(z) = 1 z 1, and, finally, the obtained
waveform is scaled by factor
1. Band-limited methods that generate har-
c = fs/[4f0(1 f0/fs)], (1)
monics only below the Nyquist limit, such
as additive synthesis (Moore 1990, pp. 270 where f0 is the fundamental frequency of the saw-
271; Chaudhary 1998) and its variants, e.g., tooth signal and fs is the sampling rate. This scaling
wavetable synthesis (Burk 2004) and the dis- factor may well be replaced with c = fs/4f0, which
crete summation formulae (Winham and gives a slightly too small gain for high fundamental
Steiglitz 1970; Moorer 1976; Moore 1990, frequencies, but is accurate within 1 dB up to 4 kHz,
pp. 271273; Lazzaro and Wawrzynek 2004); when the sampling rate of 44.1 kHz is used.
2. Quasi-band-limited methods in which alias- Figure 3 shows how the basic DPW algorithm can
ing is low and its level can be adjusted by de- be programmed using Matlab. Note that the bipolar
sign to save computational costs, such as in modulo counter is slightly different from a phase
the BLIT (Stilson and Smith 1996a) and the accumulator used in conventional wavetable syn-
MinBLEP (Brandt 2001) techniques; thesis, because counting starts from 1 instead of 0.

20 Computer Music Journal

pling frequency, f0/fs. The Figure 4. Waveform and and the sampling rate is disturbance. These and
variable c is the scaling co- spectrum of (a, b) the triv- 44.1 kHz. In (b), (d), and other spectra presented in
efficient explained in text. ial sawtooth waveform, (c, (f), the desired spectral this paper have been com-
The comment after the per- d) the squared sawtooth components (2793.8 Hz, puted from a 1 s signal seg-
cent sign explains the pur- wave, and (e, f) the differ- 5587.6 Hz, 8381 Hz, . . .) ment with a 65536-point
pose of each line of code. entiated parabolic wave- are circled (o), while the FFT using a Chebyshev
form. The fundamental rest of the spectral compo- window function that
frequency is 2793.8 Hz nents are caused by alias- has a 120-dB side-lobe
(MIDI note number 101), ing and are heard as attenuation.

Figure 3

(a) (b)

(c) (d)

(e) (f)

Figure 4

The waveform produced by the bipolar modulo Raising the signal to the second power modifies
counter resembles the sawtooth waveform, as seen the waveform so that it now consists of parabola seg-
in Figure 4a, but it sounds badly distorted. The rea- ments, which form the unipolar, non-negative signal
son is that its spectrum decays slowly, about 6 dB shown in Figure 4c. The spectrum of this waveform
per octave. When it is sampled, the spectral compo- decays at about 12 dB per octave, and this is why
nents above the Nyquist limit are mirrored down to aliasing is reduced in Figure 4d (Vlimki 2005). Fi-
the audible frequencies. This is clearly seen in Fig- nally, when the piecewise parabolic signal is differ-
ure 4b, where the desired harmonics are indicated entiated and scaled, the signal again looks like the
by circles and the rest of the peaks are aliased im- sawtooth waveform, see Figure 4e, but the aliased
ages. This signal is called the trivial sawtooth wave. components are suppressed, as seen in Figure 4f.

Vlimki and Huovilainen 21

Figure 5. Magnitude re- point average filter (dash- Figure 6. (a) The waveform
sponses of (a) the ideal dif- dot line), (b) the ideal dif- and (b) the spectrum of the
ferentiator (dashed line), ferentiator (dashed line), signal obtained with the
the first-order FIR differen- and the averaged differen- averaged differentiator.
tiator (solid line), the two- tiator (solid line).

(a) (a)


(near 1) are smoother than in Figure 4e. The corre-

sponding spectrum (see Figure 6b) has decayed
faster at high frequencies than that in Figure 4f. Lis-
A remaining problem is that at high frequencies tening confirms that this attenuation of the highest
the level of aliased components is close to that of octave suppresses the aliased components and
the harmonics. This may lead in some cases to slightly improves the sound quality.
beating. A solution to alleviate this is to replace the
differentiator with its averaged version HD(z) = (1
z 2)/2 = (1 z 1) (1 + z 1)/2, which does not spoil the Pulse Waveform
simplicity of the algorithm. This filter is a combina-
tion of a two-point average filter and the first- Another common waveform used in subtractive
difference filter. Figure 5a compares the magnitude synthesis is the rectangular pulse waveform. A
responses of the first-difference filter (1 z 1)/2 and special case is the square wave, which is a sym-
the ideal differentiator, and also shows the magni- metric rectangular wave with a duty cycle of 50%.
tude response of the two-point average filter. It can A rectangular waveform can be produced by sub-
be seen that the response of the simple differentia- tracting two sawtooth waves with a proper phase
tor is very close to the ideal at low frequencies. The shift. There are two different principles to imple-
error exceeds 1 dB above 11 kHz. Figure 5b gives the ment this, as shown in Figure 7. Any sawtooth
magnitude responses of the ideal differentiator and waveform generator principle can be used. We
the proposed averaged differentiator, which is an consider the use of the DPW algorithm described
FIR comb filter. The proposed filter is very similar above.
to the ideal differentiator at low frequencies with Figure 7a uses two sawtooth waveform generators
less than a 1-dB deviation below 5 kHz. At high fre- with a phase shift to generate a pulse waveform.
quencies, much attenuation is achieved, which is This two-oscillator method allows smooth pulse-
necessary to suppress the potential beating artifacts. width modulation, since the phase shift can be con-
The waveform and spectrum resulting from the tinuously controlled by offsetting the counter in
use of the proposed averaged differentiator are one of the oscillators. The computational cost of
shown in Figure 6. It is seen that in the discrete- this method is simply twice that of a single saw-
time waveform in Figure 6a the transitions from the tooth generator.
maximum value (near +1) to the minimum value Alternatively, as suggested by Lowenfels (2003),

22 Computer Music Journal

Figure 7. Two alternative outputs and (b) a combina- Figure 8. Comparison of
ways for implementing a tion of a sawtooth wave- rectangular waveforms: (a)
rectangular pulse genera- generator and an FIR comb The trivial and (b) DPW-
tor: (a) a difference of two filter. based square waveforms;
sawtooth wave generator (c) the trivial and (d) DPW-
based rectangular pulse
wave with 20% duty cycle.

(a) (a)



an FIR comb filter can be used to copy and shift a

sawtooth wave to produce a pulse wave, as depicted
in Figure 7b. This basic implementation requires
some additional memory and one addition per
sample. However, only phase shifts corresponding (d)
to an integral number of samples are available. Con-
sequently, not just any pulse-width can be imple-
mented accurately, and real-time modulation of the
pulse-width will not sound smooth but will be con-
taminated by zipper noise.
An interpolated delay line can be used in the
structure of Figure 7b to enable continuous control
of the phase shift for pulse-width modulation. In ence of two DPW sawtooth generators with an ap-
practice, a delay line is then cascaded with a frac- propriate phase shift. Their spectra are shown in
tional delay filter, which produces the decimal part Figure 9. The trivial square waveor a pulse wave
of the delay-line length. A first-order all-pass filter with 50% duty cycledisplayed in Figure 8a suffers
or a low-order Lagrange interpolation FIR filter from heavy aliasing, as can be seen in Figure 9a,
(Laakso et al. 1996) is a good alternative for imple- where everything else but the four odd partials of
menting the required fractional delay. However, the the fundamental are images caused by aliasing. The
computational cost of the FIR comb filter with an DPW-based square wave shown in Figure 8b has a
interpolated delay line is approximately the same as much cleaner spectrum, as seen in Figure 9b: just a
that of two DPW-type sawtooth waveform genera- fraction of aliased components are visible above the
tors. For some hardware systems, such as signal 60-dB level, and all aliased components at frequen-
processors, the need for additional delay-line mem- cies below 10 kHz have been suppressed consider-
ory may be inconvenient because of the very lim- ably. However, at high frequencies the level of some
ited on-chip memory. Thus, the two-oscillator first-generation images have not been reduced at all;
method shown in Figure 7a is a more attractive real- compare, for example, the levels of the spectral peak
ization scheme for pulse-width modulation. at 19 kHz in Figures 9a and 9b.
Figure 8 shows examples of trivial pulse wave- As another example, the trivial and DPW-based
forms and the same waveforms generated as a differ- rectangular pulse waves with a duty cycle of 20% are

Vlimki and Huovilainen 23

Figure 9. The spectra of the Figure 10. The triangular Figure 11. Signals from in-
waveforms in Figure 8. waveform generation termediate phases of the
based on a piecewise para- proposed DPW-based trian-
bolic signal. gular waveform algorithm:
(a) The bipolar modulo
counter, (b) the squared
sawtooth (filled circles) and
the square (open circles),


Figure 10

(b) (a)

(c) (b)

(d) (c)

given in Figures 8c and 8d. Again, a similar improve- (d)

ment is obtained: aliasing is reduced much at low and
mid frequencies, but not that much at high frequencies
around 20 kHz (see Figures 9c and 9d). The DC com-
ponent (i.e., the average signal level) is also smaller
in the DPW-based signal than in the trivial one.
Figure 11
Triangular Waveform
ity for subtractive synthesis. It is realized with a
The triangular waveform is also a typical source sig- bipolar modulo counter that toggles its direction of
nal in subtractive synthesis. In discrete-time trian- counting every time it reaches the value +1 or 1.
gular waveform generation, aliasing is not as serious It is possible to devise a high-quality algorithm to
a problem as it is in the cases of the sawtooth and produce a triangular waveform with reduced alias-
the pulse waveforms. This stems from the fact that ing. Lane et al. (1997) proposed one such algorithm,
the spectrum of the triangular waveform falls off at which is based on filtering a nonlinearly distorted
the rate of about 12 dB per octave, and not 6 dB sine wave. We show how the triangular waveform
per octave. For this reason, a trivial triangular wave- can be produced by employing the bipolar piecewise
form generator may provide a sufficient sound qual- parabolic waveform.

24 Computer Music Journal

(c) the bipolar piecewise par- Figure 12. (a) The trivial Figure 13. The spectra of spectral components, or
abolic, and (d) the approxi- triangular, (b) the bipolar the waveforms shown in odd harmonics of the fun-
mated triangular signals. piecewise parabolic, and Figure 12: (a) the trivial tri- damental (2793.8 Hz,
The fundamental frequency (c) the alias-free triangular angular, (b) the bipolar 8381.4 Hz, 13969 Hz, . . .),
of the obtained triangular waveforms. The funda- piecewise parabolic, and are circled (o).
signal is 2793.8 Hz and that mental frequency is (c) the alias-free triangular
of the modulo counter is 2793.8 Hz. waveforms. The desired
two times higher, 5587.6 Hz.

(a) (a)

(b) (b)

(c) (c)

Figure 12 Figure 13

The block diagram of the proposed algorithm is spectra of the trivial and DPW-based triangular
shown in Figure 10. A bipolar modulo counter is waveforms. It is seen in Figures 12a and 12c that the
used, where the fundamental frequency is twice difference between these two waveforms is micro-
that of the desired triangular signal. This initial scopic, apart from the initial transient in Figure 12c,
waveform, which is equivalent to the trivial saw- which lasts for one sample when the first-order FIR
tooth signal, is shown in Figure 11a. After squaring differentiator is used. Nevertheless, the spectra
the initial waveform, it must be turned upside given in Figure 13a and Figure 13c are quite differ-
down by subtracting it from one (see Figure 11b). ent: the level of the aliased components is much re-
The signal is modulated by a (trivial) square wave duced at low frequencies in Figure 13c. Figure 12b
with the fundamental frequency 2f0 (see Figure 11b, shows the bipolar parabolic signal, whose spectrum
open circles) to produce a piecewise parabolic wave- is given in Figure 13b. It can be noticed that the
form of the desired type (see Figure 11c). The square spectrum of this signal decays fast with frequency,
waveform must be phase-locked to the bipolar mod- about 18 dB per octave. This is why aliasing is less
ulo counter; this is easy by toggling the sign of the severe than in the case of the trivial triangular
square waveform when the counter reaches +1. Fi- wave. It can also be noted that the triangular wave
nally, the resulting bipolar piecewise parabolic approximation (see Figure 12c) is perfectly symmet-
waveform is differentiated and scaled to obtain a tri- ric above and below the zero level. Thus, its spectrum
angular waveform with reduced aliasing, which is (see Figure 13c) is free of even harmonics, which are
presented in Figure 11d. not well suppressed in some other triangular wave-
Figures 12 and 13 compare the wave shapes and form approximations.

Vlimki and Huovilainen 25

Figure 14. The compromise
one-pole filter section.

Digital Resonant Filters

A resonant filter used in computer music differs
from traditional IIR filters in mainly three ways: the
parameters are changed at a rapid rate, the order is
usually predetermined instead of matching to cer-
tain stop-band attenuation specification, and a con-
trollable resonant peak is introduced near the cutoff
frequency. nance. To realize the filter, a unit delay has to be in-
A perfect digital resonant filter then fulfills the serted in the feedback path, but this couples the
following criteria. cutoff and the resonance controls. Various ways of
compensation have been examined, with the com-
1. Coefficient update should be fast. To avoid
promise version (Stilson and Smith 1996b) being
clicks, the coefficients should be updated on
the most attractive. The compromise version in-
a per-sample basis (Rossum 1992).
serts a zero at z = 0.3 inside each one-pole filter
2. The filter cutoff and resonance parameters
section, thus mostly decoupling the resonance and
should be decoupled. Change in one should
the cutoff parameters. The modified one-pole filter
not affect the other.
structure is shown in Figure 14.
3. The filter should stay unconditionally stable
The coefficient g determines the cutoff frequency.
as long as parameters are inside the allowed
For very low frequencies, it can be trivially derived
from the analog prototype filter as g 2fc/fs, where
4. The filter should have a response similar to
fc is the desired cutoff frequency and fs is the sam-
an existing analog resonant filter. Some ana-
pling rate. This, however, leads to the actual cutoff
log filters have a characteristic sound that
frequencies increasingly deviating from the desired.
should be emulated, if possible.
Due to the transfer-function zero at z = 0.3 and the
5. The filter should be capable of self-oscillation.
unit delay in the feedback path, the resonant fre-
A number of filters trying to meet the criteria have quency cannot be easily predicted. Figure 15a com-
been developed. We take a closer look at the Moog pares three ways of calculating coefficient g: the
low-pass filter (Moog 1965) here. impulse invariant, the bilinear, and the direct linear
All of the methods deviate from the desired tun-
Digital Moog Filter ing at high cutoff frequencies. Some form of com-
pensating this deviation must therefore be used. A
The Moog ladder filter (Moog 1965) can be consid- least-squares fit of a fourth-order polynomial to
ered the first musical filter. It features independent compensate the directly tuned section gives the fol-
voltage control of both the cutoff frequency fc and lowing equation for parameter g:
the resonance Cres while also having a characteristic
g = 0.9892wc 0.4342wc2 + 0.1381wc3 0.0202wc4 (2)
sound of its own. The filter consists of four identi-
cal one-pole low-pass sections (implemented with where wc = 2fc/fs is the cutoff frequency in radians
an innovative transistor ladder circuit) in series per sample. The tuning error, see Figure 15a, is then
with a global negative feedback to produce a reso- below 15 cents within the 0 to 14-kHz range of the
nant peak near the cutoff frequency. cutoff frequency at a 44.1-kHz sampling rate. This
A digital model of the Moog filter was first pre- is accurate enough so that the filter can be tuned to
sented by Stilson and Smith (1996b). As in the ana- a multiple of a tones fundamental frequency to em-
log prototype, it has four one-pole filters in series, phasize an individual harmonic or, when self-
and a global feedback is used to produce the reso- oscillating, to produce an additional harmonic.

26 Computer Music Journal

Figure 15. (a) Deviation in scaling, and the polyno- Figure 16. Improved Moog- can be used to select the
tuning of the resonance fre- mial method for calculat- style filter. Each block la- type of output (low-pass,
quency in the compromise ing the filter cutoff beled as LP contains the high-pass, band-pass, or
Moog filter using the coefficient. (b) Deviation one-pole filter structure notch filter or one of their
scaled impulse invariant in feedback amount from shown in Figure 14. Coeffi- combinations).
transform, the bilinear z- ideal. cients A, B, C, D, and E
transform, the direct linear


Improved Moog Filter

While the Stilson-Smith Moog filter model (Stilson

and Smith 1996b) is certainly useful and solves the
problem of fast coefficient update, it becomes un-
stable at very large resonance values and it cannot
self-oscillate. Furthermore, it does not emulate the
(b) characteristic distortion produced by the original
transistor ladder circuit. Huovilainen has developed
an improved model that simulates the ladder cir-
cuit by inserting nonlinearities inside the one-pole
filter sections (Huovilainen 2004). This improved
model emulates more closely the characteristic
sound of the original Moog filter and is also capable
of self-oscillation. A disadvantage is the need for
five hyperbolic tangent (tanh) function evaluations
per sample and for oversampling by a factor of at
least two.
We propose an alternative extended model pre-
sented in Figure 16. The embedded nonlinearities
within sections are replaced by a single nonlinear-
ity, thus greatly reducing the computational cost of
the filter. We have used the tanh function for the
Figure 15b shows the error in the amount of feed- nonlinearity, but any smoothly saturating function
back, too. This error can similarly be compensated may be used. There is a difference in the sound
by a suitable polynomial. Using compared to the full nonlinear Moog filter model
(Huovilainen 2004), but this new model can emu-
Gres = Cres (1.0029 + 0.0526wc 0.0926wc2 + late most of the behavior, such as self-oscillation.
0.0218wc3), (3) Its output is also always bounded.
The traditional Moog filter and similar cascaded
where 0 Cres 1, the error is less than 1% at fre- one-pole filters suffer from a decreasing pass-band
quencies below 17 kHz. This polynomial has been gain as the resonance is increased, because the reso-
obtained by fitting in the least-square sense a third- nance is produced with a global negative feedback.
order polynomial to the inverse function of the feed- If a fraction of the input signal is subtracted from
back deviation curve shown in Figure 15b. The the feedback signal before multiplying by the reso-
corrected behavior is also displayed in Figure 15b. nance parameter, the pass-band gain change can be

Vlimki and Huovilainen 27

Figure 17. Comparison of
output waveforms of the
simplified (see Figure 16)
and the full (Huovilainen
2004) nonlinear Moog filter
models using a sinusoidal
input for two different
choices of cutoff frequency.

controlled (Curtis Electromusic Specialties 1984). A both the input waveform and the distortion func-
value of 1.0 for the Gcomp parameter in Figure 16 tion are symmetric. The difference almost disap-
keeps the pass-band gain constant. This, however, pears when the resonance parameter is increased.
results in a large increase of the output amplitude This can be attributed to the negative feedback em-
as the resonance is increased. To maintain the over- ployed to produce the resonance peak. As soon as
all level approximately constant, the value of the the pass-band gain compensation is used, the differ-
Gcomp parameter should be set to 0.5, resulting in a ence is restored. The simplified Moog model of
6-dB pass-band gain decrease at the maximum reso- Figure 16 therefore seems best suited for uses where
nance (compared to a 12-dB decrease in the original a large overdrive is not demanded. The simple non-
Moog model). linearity still limits the amplitude when a very
Figures 17 and 18 compare the two models for high resonance amount or the self-oscillation
210-Hz sinusoidal and sawtooth inputs using mod- mode is used.
erate overdrive. The input peak-to-peak amplitude Another improvement to the original Moog model
is 2.0 for the full model and 1.0 for the simplified is the addition of various frequency response modes
model in order to visually match their behavior. besides the original 24-dB/oct low-pass filter mode.
The output signals have been normalized to ease This can be easily achieved by mixing the outputs of
the comparison. The difference is clearly visible the individual sections with different weights. The
in the sine wave when the cutoff is much above the concept was pioneered in the Oberheim Xpander
input frequency. For the sawtooth wave the differ- and Matrix-12 synthesizers (Oberheim 1984), but it
ence is smaller. An interesting effect is the asym- was not widely used due to the large number of re-
metric output shape in the full model even though quired components and the need for precision resis-

28 Computer Music Journal

Figure 18. Comparison of wave input with (left) no
output waveforms of the resonance, (center) with
simplified (see Figure 16) 50% resonance, and (right)
and the full (Huovilainen with 50% resonance com-
2004) nonlinear Moog filter bined with a 6-dB pass-
models using a sawtooth band gain compensation.

Table 1. Examples of Weighting Coefficient Values Figure 19 shows examples of four-pole low-pass,
for Typical Magnitude Response Types That Can Be two-pole low-pass, and two-pole high-pass filter re-
Obtained with the Filter Structure of Figure 16. sponses produced by the filter structure of Figure
16. More examples of responses as well as the equa-
Filter Type A B C D E
tions for deriving the coefficients are available else-
Two-pole low-pass 0 0 1 0 0 where (Oberheim 1984). The filter response shapes
Four-pole low-pass 0 0 0 0 1 remain relatively constant independent of the cutoff
Two-pole band-pass 0 2 2 0 0 frequency, but the amplitude falls as the cutoff fre-
Four-pole band-pass 0 0 4 8 4 quency is increased. The drop depends on the re-
Two-pole high-pass 1 2 1 0 0 sponse used but can be readily compensated using a
Four-pole high-pass 1 4 6 4 1
polynomial gain correction. For most responses, a
simple linear correction will be sufficient.

tors. Accurate mixing is trivial in the digital domain,

and a large number of different low-pass, band-pass, Conclusions
high-pass, and notch filter responses and their com-
binations can be easily realized. Table 1 shows We discussed new oscillator and resonant filter al-
weighting coefficient values for common filter gorithms. The DPW oscillator algorithm generates
types. Morphing between these modes is possible an approximate sawtooth waveform that has re-
by changing the coefficients at runtime, thus allow- duced aliasing with respect to the trivial sawtooth
ing interesting modulation possibilities. waveform (i.e., the modulo counter output). This re-

Vlimki and Huovilainen 29

Figure 19. Example filter
responses with a 1-kHz
and a 10-kHz cutoff fre-

cently proposed method is probably the simplest Valkonen of VLSI Solution Oy (Tampere, Finland)
useful technique for this purpose, because only the for helpful discussions.
trivial sawtooth is simpler, which is practically use-
less due to its heavy aliasing. In this paper we pro-
posed an alternative differentiator for the DPW References
algorithm that suppresses high frequencies to avoid
audible artifacts. We introduced methods to pro- Brandt, E. 2001. Hard Sync without Aliasing. Proceed-
duce pulse and triangular waveforms based on the ings of the 2001 International Computer Music Confer-
parabolic waveform. ence. San Fransisco: International Computer Music
The new nonlinear model of the Moog ladder fil- Association.
ter is based on a cascade of four first-order IIR filters hardsync.html
Burk, P. 2004. Band Limited Oscillators Using Wave Table
and a memoryless nonlinearity within a feedback
Synthesis. In Audio Anecdotes IITools, Tips, and
loop. The proposed new Moog filter structure has Techniques for Digital Audio, pp. 3753. Eds. K. Greene-
nice advantages, such as a smaller computational baum and R. Barzel. Wellesley, MA: A. K. Peters, Ltd.
cost than that of a recently proposed nonlinear filter Chamberlin, H. 1985. Musical Applications of Micro-
structure, the adequate decoupling of the cutoff fre- processors, 2nd Ed., Hayden Book Company.
quency and the resonance parameters, and the pos- Chaudhary, A. 1998. Bandlimited Simulation of Analog
sibility to obtain various types of filter responses by Synthesizer Modules by Additive Synthesis. Proceed-
selecting a weighted sum of different output points. ings of the Audio Engineering Society 105th Conven-
The proposed methods allow the synthesis of retro tion, paper no. 4779, San Francisco, CA: Audio
sounds with a modern computer. Engineering Society.
Clavia DMI AB. 2002. The Virtual Analog Concept.
Curtis Electromusic Specialties. 1984. CEM 3328 four
Acknowledgments pole low-pass VCF.
This work has been financed partly by the Academy Huovilainen, A. 2004. Nonlinear Digital Implementa-
of Finland (project no. 104934, Control, Analysis, tion of the Moog Ladder Filter. Proceedings of the In-
and Parametric Synthesis of Audio Signals). The ternational Conference on Digital Audio Effects.
authors are grateful to Teppo Karema and Tomi Naples, Italy, pp. 6164.

30 Computer Music Journal

Kaplan, S. J. 1981. Developing a Commercial Digital Journal of the Audio Engineering Society 24(9):
Sound Synthesizer. Computer Music Journal 5(3): 717727.
6273. Oberheim Electronics, Inc. 1984. Oberheim Xpander Ser-
Laakso, T. I., V. Vlimki, M. Karjalainen, and U. K. vice Manual. Los Angeles, CA.
Laine. 1996. Splitting the Unit DelayTools for Frac- Rossum, D. 1992. Making Digital Filters Sound Analog.
tional Delay Filter Design. IEEE Signal Processing Proceedings of the 1992 International Computer Music
Magazine 13(1):3060. Conference. San Fransisco: International Computer
Lane, J., D. Hoory, E. Martinez, and P. Wang. 1997. Mod- Music Association, pp. 3033.
eling Analog Synthesis with DSPs. Computer Music Stilson, T., and J. O. Smith. 1996a. Alias-Free Digital
Journal 21(4):2341. Synthesis of Classic Analog Waveforms. Proceedings
Lazzaro, J., and J. Wawrzynek. 2004. Subtractive Synthe- of the 1996 International Computer Music Conference.
sis without Filters. In Audio Anecdotes IITools, San Fransisco: International Computer Music Associa-
Tips, and Techniques for Digital Audio, pp. 5564. Eds. tion, pp. 332335.
K. Greenebaum and R. Barzel. Wellesley, MA: A. K. papers/
Peters, Ltd. Stilson, T., and J. O. Smith. 1996b. Analyzing the Moog
Lowenfels, D. 2003. Virtual Analog Synthesis with a VCF with Considerations for Digital Implementation.
Time-Varying Comb Filter. Proceedings of the Audio Proceedings of the 1996 International Computer Music
Engineering Society 115th Convention, paper no. 5960. Conference. San Fransisco: International Computer
New York: Audio Engineering Society. Music Association, pp. 398401. http://ccrma.stanford
Moog, R. A. 1965. Voltage-Controlled Electronic Music .edu/~stilti/papers/
Modules. Journal of the Audio Engineering Society Vlimki, V. 2005. Discrete-Time Synthesis of the Saw-
13(3):200206. tooth Waveform with Reduced Aliasing. IEEE Signal
Moore, F. R. 1990. Elements of Computer Music. Engle- Processing Letters 12(3):214217.
wood Cliffs, NJ: Prentice-Hall. Winham, G., and K. Steiglitz. 1970. Input Generators for
Moorer, J. A. 1976. The Synthesis of Complex Audio Digital Sound Synthesis. Journal of the Acoustical So-
Spectra by Means of Discrete Summation Formulae. ciety of America 47(part 2): 665666.

Vlimki and Huovilainen 31