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.

SOME REAL ApPLICATIONS 747<br />

used by the synthesis routines and is usually 1,024 entries. Options can also<br />

be specified on the command line, in which case they override those in the<br />

score.<br />

At this point, it is probably better to describe the norelist, which is the<br />

actual score, first. The most fundamental notelist statement is the NOTE<br />

statement. It consists simply <strong>of</strong> the keyword NOTE followed by several<br />

parameter or "P-fields," each separated from the others by blanks. PI is the<br />

keyword "NOTE" itself, while P2 is the "acrion time" and P3 is rhe name <strong>of</strong><br />

the instrument that will play the note. The action time specifies when the<br />

note should start and is normally given in seconds. P4 is the duration <strong>of</strong> the<br />

note, also given in seconds, and is the last required parameter. Additional P­<br />

fields may be used if the instrument that will play the note requires them. By<br />

convention, P5 usually gives the amplitude and P6 the frequency <strong>of</strong> pitched<br />

notes. As many P-fields as desired may be used according to the complexity<br />

<strong>of</strong> the' corresponding instrument definitions. Below are a few valid note<br />

statements in their simplest form:<br />

NOTE 0.00 BLATT<br />

NOTE 0.15 BLEEP<br />

NOTE 0.20 BUPP<br />

NOTE 0.50 BLOPP<br />

NOTE 1.25 BLURP<br />

.10<br />

. 15<br />

.05<br />

.35<br />

.25<br />

1.0 16<br />

.707 220HZ<br />

- 3DB 4*261HZ<br />

- SOB 1.5KHZ<br />

ODB 55HZ V5<br />

Two octaves above1<br />

{ middle C J<br />

5.7HZ 0.2SEC<br />

3*V7 + 2<br />

The first note is played on an instrument c'alled BLATT starting<br />

immediately at time zero and lasting for one-tenth <strong>of</strong> a second. Its amplitude<br />

is unity (the maximum amplitude allowable in C-MUSIC) and the frequency<br />

is 256 Hz. Actually, the frequency field gives the waveform table pointer<br />

increment value; thus, the wave frequency is actually P6*SR/FL, where P6 is<br />

the given P6 field value <strong>of</strong> 16, SR is the sample rate (default is 16,384 Hz),<br />

and FL is the wavetable or function length (default is 1024). The second note<br />

is similar but the "postop" hertz is used so that frequency can be specified in<br />

hertz rather than wavetable increments. Needless to say, this is usually done.<br />

The third note illustrates the decibel postop, which is useful in amplitude<br />

specification and the fact that arithmetic expressions can be used in<br />

specifying P-field values. In fact, nearly any kind <strong>of</strong> expression normally<br />

permitted in a programming language including functions such as SIN,<br />

COS, LN, EXP, SQRT, and even RAND can be used. In the fourth note, the<br />

"K" postop, which is a 1024 multiplier, is also included in the frequency<br />

specification to yield 1,536 Hz. Two additional parametets needed by the<br />

BLOPP instrument are also included. The SEC postop converts the given<br />

number, which is a waveform period here, into an increment. The last note<br />

makes use <strong>of</strong> variables in expressions for its P7 and P8 fields. V5 and V7 have

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

Saved successfully!

Ooh no, something went wrong!