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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

MUSIC SYNTHESIS SOFTWARE 699<br />

Many other possibilities should come to mind. In fact, the appearance<br />

<strong>of</strong> the input language need not even bear a resemblance to NOTRAN. In this<br />

respeer, "basic NOTRAN" would be used as a musical "machine language"<br />

with a high-level compiler generating code for it.<br />

Level 0 Routines<br />

Although seemingly out <strong>of</strong> sequence, Level 0 routines are discussed<br />

here because for most microcomputer direct synthesis installations they<br />

would comprise a separate program and separate pass <strong>of</strong> the data. As mentioned<br />

earlier, Level 0 routines operate on the individual sound samples<br />

produced by the Levell routines to introduce reverberation, choral effeers,<br />

etc. The reader should not underestimate the utility <strong>of</strong> these simple techniques<br />

in enhancing and "de-mechanizing" the sound <strong>of</strong> even the most<br />

sophisticated synthesis methods.<br />

The techniques described in Chapter 14, however, require large<br />

amounts <strong>of</strong> memory for simulated delay lines and therefore would probably<br />

not fit if implemented as part <strong>of</strong> the synthesis program. Thus, Level 0<br />

functions would be written to read a sample stream from a mass storage<br />

device, process it, and write the altered stream on another device.<br />

In some cases, the "acoustical environment" created by the Level 0<br />

routines must change during the course <strong>of</strong> the score. If the ability to dynamically<br />

specify reverberation parameters is desired, the Level 0 program will<br />

also have to scan the score while processing the sample string. Virtually all <strong>of</strong><br />

the score data will be ignored, but timing will have to be followed to<br />

determine where in the sample string to change reverberation parameters.<br />

Sample Storage Devices<br />

The mass-storage device used to hold computed sample data usually<br />

determines a delayed playback synthesis system's performance in two ways.<br />

First, its average data transfer rate limits the number <strong>of</strong> channels, sample size,<br />

and ultimately the sample rate that can be used. "Average" was emphasized<br />

because this figure is <strong>of</strong>ten much lower than the peak transfer rate <strong>of</strong>ten<br />

quoted in sales literature. With a disk, for example, nonproductive gaps<br />

between sectors, finite head movement time from one track to the next, and<br />

sector format restrictions, all subtract from theoretical average transfer rates.<br />

If the sample data are read using the computer's operating system as opposed<br />

to direct programming <strong>of</strong> the hardware, severe performance degradation can<br />

<strong>of</strong>ten occur due to operating system overhead. A lO-to-l slowdown is not<br />

uncommon, thus making direct hardware programming a necessity in many<br />

cases.<br />

The other performance determinant is, <strong>of</strong>course, mass-storage capacity.<br />

How storage capacity relates to continuous time capacity and other variables<br />

can be determined by applying these very simple formulas:

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

Saved successfully!

Ooh no, something went wrong!