22.09.2015 Views

of Microprocessors

Musical-Applications-of-Microprocessors-2ed-Chamberlin-H-1987

Musical-Applications-of-Microprocessors-2ed-Chamberlin-H-1987

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

DIRECT COMPUTER SYNTHESIS METHODS 119<br />

even a simple sample computation. Unfortunately, implementation <strong>of</strong> the<br />

technique is complicated somewhat by the fact that, for most ftequencies,<br />

there is a nonintegral number <strong>of</strong> samples per cycle <strong>of</strong> the waveform. The<br />

problem is solved by tabulating the waveform at a frequency for which there<br />

is an integral number <strong>of</strong> cycles per sample. When table lookup is tequited at<br />

a diffetent frequency, the table lookup routine, for example, might be<br />

requested to "find the 8. 763rd entry" in the table. Interpolation between the<br />

8th and 9th sample may be performed or, if the table is large enough, the<br />

nearest tabulated entry, which would be the 9th, would be used. There is<br />

thus a trade<strong>of</strong>f between table size, lookup time, and sound quality, since<br />

errors result in background noise being added to the waveform. Since the<br />

costs <strong>of</strong> memory are declining faster than the speed <strong>of</strong> memory or computers<br />

is increasing, table lookup without interpolation is a frequently used<br />

technique. In fact, completely table-driven synthesis programs are possible.<br />

Note that the table method can also be applied to envelopes and any other<br />

curve that is likely to be used more than once. Table Lookup methods wilL be<br />

studied in detail in Chapter 13 and again in Chapter 20.<br />

Hardware Aids<br />

Another way to increase computation speed is to connect some<br />

specialized hardware to the computer that is designed to be especially efficient<br />

in the calculations typically needed for music. For the microcomputer<br />

user, a hardware multiplier wouLd be <strong>of</strong> great benefit if his microprocessor<br />

chip does not have multiply and divide built in. The difference in processing<br />

speed can easily be 10: lover muLtiplication in s<strong>of</strong>tware and might resuLt in<br />

a three- to fivefold increase in overall music program speed. The multiplier<br />

could be expanded into a muLtiplier-summer, which would speed up sum<strong>of</strong>-products<br />

calculations such as a Fourier series. A full array processor normally<br />

performs high-speed operations on matrices and vectors such as multiplication,<br />

addition, and even inversion. In sound synthesis, it could be used<br />

to compute severaL samples <strong>of</strong> several sounds at once and thus greatly speed<br />

things up. A device known as a "fast Fourier transform processor" is specifically<br />

optimized for computing Fourier transforms. Although normally used<br />

to rapidly compute the spectrum <strong>of</strong> a waveform for sound and vibration<br />

analysis, most can also compute a waveform given the spectrum. Although<br />

there are limitations in using a Fourier transform processor for generating<br />

changing waveforms, its availability can be a great asset.<br />

Digital Sound Modification<br />

Nearly all <strong>of</strong> the sound modification techniques described in Chapter 2<br />

can be easily implemented in a direct computer synthesis system. Spectrum

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!