Performance
controls and Csound scores
Other
examples in "-da.tryCsoundObject
s"
demonstrate modifications of Csound argument values caused by performance
controls. Try for instance:
_pitchrange(200) _pitchcont _volumecont _volume(30) _pitchbend(0) a C4 D4 b c
_pitchbend(100) _volume(127)
containing
sound-objects 'a', 'b', 'c' and simple notes 'C4' and 'D4'. Simple notes are
set on the default MIDI channel 1 which is also assigned instrument 1 as shown
in "-cs.tryCsoundObject
s".
The
graphic score is shown Fig.38.
Fig.38
The time setting of "a C4 D4 b c"
The
different instruments called to perform the resulting sequence of events have
various ways of dealing with pitchbend and volume controls. For instance,
instruments 3 and 4 do not control pitchbend continuously but they take the
current value as argument 5 converted to frequency ratios in particular ranges.
Instruments 1 and 2 accept continuous pitchbend controls expressed in cents.
Volume is only taken in consideration by instruments 1 and 2.
The
output score looks clumsy because of the diverse argument formats used by
instruments for this demo.
t
0.000 60.000
i1
0.000 0.250 4.05 30.000 34.850 0.000 -10.000 -4.500 0.000 ;F0
i1
0.000 0.250 4.05 30.000 34.850 0.000 -10.000 -4.500 0.000 ;F0
i2
0.750 0.250 5.05 6.499 11.999 44.550 49.400 0.000 0.000 0.000 ;F1
i3
0.750 0.100 643.50 1.005 ;D#6
i1
1.000 1.000 8.00 49.400 68.800 0.000 12.000 34.000 0.000 ;C4
i3
2.840 0.800 461.34 1.069 ;A5
i4
2.940 0.200 6.03 1.151 ;C2
i1
2.000 1.000 8.02 68.800 88.200 0.000 34.000 56.000 0.000 ;D4
i2
4.000 0.125 9.00 77.990 83.490 107.600 112.450 0.000 0.000 0.000 ;C5
i2
4.125 0.125 9.02 83.490 88.989 77.466 80.807 0.000 0.000 0.000 ;D5
i2
4.250 0.125 9.04 88.989 94.488 117.300 122.150 0.000 0.000 0.000 ;E5
s
Incidentally,
this example shows that BP2 does not necessarily produce a Csound score sorted
on the on-setting dates of events. This is not a limitation since Csound sorts
out dates after reading the score. BP2 does the same before compiling the
Csound scores of its own sound-object prototypes.