| MusicKit and SndKit Concepts | ||
|---|---|---|
| Prev | Chapter 8. From The Classical Software Synthesis Note-List to the MusicKit Scorefile | Next |
The MusicKit can read an extended scorefile format called ScoreFile that is actually a simple language supporting variables, expressions and operators. While ScoreFile is not intended as a means of entering musical data, it is useful for fine-tuning or making other minor modifications to a piece.
As a final example, here is a MusicKit scorefile with some ScoreFile constructs included:
info tempo:72;
part bell;
bell synthPatch:"Fm1i" synthPatchCount:9;
envelope ampFun = [(0,0)(.005,0dB)(10,-40dB)|(14,0.0)(15,0)];
envelope freqFun = [(0,1)(.005,bf4/a4)(.01,1)(10,1)|(14,.9,2)];
envelope indxFun = [(0,2)(.005,1)(10,0,.3)|(14,0.0)];
waveTable wave1 = [{1,1}{3,.1}];
BEGIN;
bell (noteUpdate) waveform:wave1 m1Ratio:3.4
m1Ind1:.4 amp:0.2 ampEnv:ampFun freqEnv:freqFun
m1IndEnv:indxFun;
t .001;
bell (4.5) freq:c7 bearing:-45 + ran; /* ran returns a random number */
bell (4.5) freq:c7+4.5 bearing:0;
t +.1;
bell (4.4) freq:b6 bearing:-35 + ran;
bell (4.4) freq:b6+4.1 bearing:10;
t .2;
bell (4.3) freq:g6 bearing:-25;
bell (4.3) freq:g6+4.8 bearing:20;
t .3;
bell (4.2) freq:f6 bearing:-15;
bell (4.2) freq:f6+5.5 bearing:30;
t .4;
print "Last note coming up. Time is ",t,"\n";
bell (4.1) freq:d6 bearing:45;
END; |