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; |