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 687<br />

information separate and with the sounds facilitates implementation <strong>of</strong> stereo<br />

or quad at a later time.<br />

The last task is to determine if the specified duration <strong>of</strong> sound generation<br />

has elapsed. The time argument that was passed to this routine is simply<br />

decremented and tested for zero. If the time has not elapsed, the routine is<br />

simply executed again for another 30 samples. When the time is elapsed, the<br />

Level 3 NOTRAN interpreter regains control so that more events can be<br />

started.<br />

NOTRAN Language<br />

Level 3 routines in the NOTRAN system are what actually look at<br />

NOTRAN statements. Like the lower-level routines, most <strong>of</strong> the work is<br />

simply the manipulation <strong>of</strong> tables <strong>of</strong> information. Before discussing what<br />

these routines do, a brief description <strong>of</strong> the NOTRAN language itself is in<br />

ordet. Note that up to this point the sound generation routines are completely<br />

independent (within the constraints imposed by the sound generation<br />

models) <strong>of</strong> the actual music language used. Thus, language freaks could<br />

completely restructure the language and still use the sound generation<br />

routines that have been discussed.<br />

As briefly mentioned earlier, NOTRAN uses a textual representation <strong>of</strong><br />

the musical score. In designing such a representation, one is immediately<br />

faced with a problem: how should the score, which is basically a twodimensional<br />

structure, be represented as a one-dimensional character string?<br />

The two dimensions in this case are time in the horizontal direction and<br />

"voices" or "parts" in the vertical dimension. Thus, the music language<br />

designer must choose between a vertical representation where the score is<br />

coded chord-by-chord in strict time sequence and a horizontal representation<br />

in which all <strong>of</strong> the notes, from beginning to end, for the first voice are coded<br />

followed by notes for the next voice, etc.<br />

The former is probably easier to read (it can be likened to a conductor's<br />

score, which shows all <strong>of</strong> the instrument parts at once), while the latter may<br />

be easier to transcribe from a printed score into language statements. Of<br />

course, when the music is actually played, it must be presented to the<br />

synthesis routines or synthesizer in vertical form so the individual parts <strong>of</strong> a<br />

horizontal score must be "merged" into an internal vertical form for<br />

performance. Such a merging routine can become quite complex and unless<br />

"checkpoints," such as measure boundaries, are included in the language, a<br />

single duration error in a voice may misalign that voice for the remainder <strong>of</strong><br />

the piece. Thus, for simplicity, NOTRAN uses a vertical score<br />

representation.<br />

Of course, printed music scores are primarily graphic in nature. This<br />

coupled with the improved graphic capabilities <strong>of</strong> modern microcomputers<br />

suggests an interactive graphic score editor rather than a text language and<br />

standard text editor program. This in fact is done frequently in commercial

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

Saved successfully!

Ooh no, something went wrong!