Center for New Music and Audio Technologies |
Next: Computing the Sine Function
Up: FPGAs for Sound Synthesis
Previous: FPGAs for Sound Synthesis
In 1906, Thaddeus Cahill demonstrated a new instrument - the
Telharmonium, the first and largest sound synthesizer ever developed
[1]. Powered by electricity, but without the benefit of
electronic amplification, the smoothly rotating tone generators of the
Telharmonium emitted synthetic tones purer than nature - sinusoidal
waves in the precise integer ratios of just intonation. Moved by the
spectacle of this demonstration, the elderly American author Mark
Twain (1835-1910) wrote: ``Every time I see or hear a new wonder like
this I have to postpone my death right off. I couldn't possibly leave
this world until I have heard it again and again!'' [2].
Many efforts on developing and improving sound synthesis followed with
a greater or lesser degree of success. The invention of the stored
program electronic digital computer in the 1940s finally opened the
way for the present era of sound synthesis and since the first
experiments of Max V. Mathews in 1957, multiple techniques of sound
synthesis have been invented.
One of the most successful methods of sound synthesis is based on the
summing of time-varying sinusoids, also known as additive
synthesis. This method is described using the following equation:
|
(1.1) |
The structural reconstruction can be carried out either in the time
domain (see Figure 1.1) or the frequency domain.
Figure 1.1:
Time-domain additive synthesis
|
In either case the sinusoids are additively accumulated to create the
output [3]. Theoretically any sound can be reproduced by
proper control of the sinusoids over time. However, all the control
parameters plus the sinusoidal function themselves must be calculated
at the sampling rate - a quite demanding task even for todays
CPUs. The load on the CPU can be reduced significantly by separating
the control and synthesis tasks, and assigning the task of computing
the sinusoids to a co-processor, such as an FPGA. The following
sections describe how to compute sinusoids and how to control the
sinusoids attributes in such a device.
Next: Computing the Sine Function
Up: FPGAs for Sound Synthesis
Previous: FPGAs for Sound Synthesis
Home
Norbert Lindlbauer
2000-01-19