<-- Back to Previous Page | TOC | Next Section --> |
Chapter 4: The Synthesis of Sound by ComputerSection 4.1: Introduction to Sound Synthesis
|
||
What Is Sound Synthesis?Weve learned that a digitally recorded sound is stored as a sequence of numbers. What would happen if, instead of using recorded sounds to generate those numbers, we simply generated the numbers ourselves, using the computer? For instance, what if we just randomly select 44,100 numbers (1 seconds worth) and call them samples? What might the result sound like? The answer is noise. No surprise hereit makes sense that a signal generated randomly would sound like noise. Philosophically (and mathematically), thats more or less the definition of noise: random or, more precisely, unpredictable information. While noise can be sonically interesting (at least at first!) and useful for lots of things, its clear that well want to be able to generate other types of sounds too. Weve seen how fundamentally important sine waves are; how about generating one of those? The formula for generating a sine wave is very straightforward: y = sin(x) Thats simple, but controlling frequency, amplitude, phase, or anything
more complicated than a sine wave can get a bit trickier. |
||
Sine Wave ExampleIf we take a sequence of numbers (the usual range is 0 to 2, perhaps with a phase increment of 0.1—meaning that were adding 0.1 for each value) and plug them into the sine formula, what results is another sequence of numbers that describe a sine wave. By carefully selecting the numbers, we can control the frequency of the generated sine wave. Most basic computer synthesis methods follow this same general scheme: a formula or function is defined that accepts a sequence of values as input. Since waveforms are defined in terms of amplitudes in time, the input sequence of numbers to a synthesis function is usually an ongoing list of time values. A synthesis function usually outputs a sequence of sample values describing a waveform. These sample values are, then, a function of timethe result of the specific synthesis method. For example, assume the following sequence of time values. (t1, t2, t3,....., tn) Then we have some function of those values (we can call it f(t)): (f(t1), f(t2), f(t3),....., f(tn)) = (s1, s2, s3,....., sn) (s1, s2, s3,....., sn) are the sample values. This sine wave function is a very simple example. For some sequence of time values (t1, t2, t3,....., tn), sin(t) gives us a new set of numbers {sin(t1), sin(t2), sin(t3),....., sin(tn)}, which we call the signals sample values. |
||
As well see later, more
sophisticated functions can be used to generate increasingly complex waveforms.
Often, instead of generating samples from a raw function in time, we take
in the results of applying a previous function (a list of numbers, not
a list of time values) and do something to that list with our new function.
In fact, we have a more general name for sound functions that take one
sequence of numbers (samples) as an input and give you another list back:
theyre called filters. |
||
You may never have to get quite this "down and dirty" when dealing with sound synthesismost computer music software takes care of things like generating noise or sine waves for you. But its important to understand that theres no reason why the samples we use need to come from the real world. By using the many available synthesis techniques, we can produce a virtually unlimited variety of purely synthetic sounds, ranging from clearly artificial, machine-made sounds to ones that sound almost exactly like their "real" counterparts! There are many different approaches to sound synthesis, each with its own strengths, weaknesses, and suitability for creating certain types of sound. In the sections that follow, well take a look at some simple and powerful synthesis techniques. |
<-- Back to Previous Page | Next Section --> |
©Burk/Polansky/Repetto/Roberts/Rockmore. All rights reserved.