the Csound output
Csound orchestra file named "BP2test.or
is supplied. It works with any Csound score produced by BP2 in the absence of
a Csound instrument description file (-cs.<name
is the listing of the
This is a simple orchestra file for BP2's default Csound score output
It follows the new specfications handled by BP2 version 2.7.2 and above.
(See "Csound tables")
It contains one single instrument: an oscillator using wave-table 1
Argument p2 is the start date, p3 the duration (as per the standard)
Argument p4 is the pitch in octave point pitch-class format
Volume (range 0..127) is supplied by performance control _volume()
to arguments p5 (beginning value) and p6 (end value), or via the table
whose index is supplied by p7.
Pitchbend is supplied in cents to arguments p8 (beginning value)
and p9 (end value), or via the table whose index is supplied by p10.
32767. / 127.
log(2.) / 1200.
line p5, p3, p6
(ifvol <= 0) goto volumelin
line 0, p3, ilenvol
tablei kndxvol, ifvol
kcents line p8, p3, p9
(ifcents <= 0) goto pitchbendlin
line 0, p3, ilencents
tablei kndxcents, ifcents
kpitch = cpspch(p4) * exp(kcents * ik2)
= kvol * ik1
a1 oscil kamp,
code should not look esoteric to Csound users. The unique instrument in this
orchestra is an oscillator controlled in volume by arguments 5 and 6 (start and
end respectively) and in pitch by argument p4 (octave point pitch-class
format). Pitchbend corrections are given in cents by arguments 8 and 9 (start
and end respectively). In addition, arguments 7 and 10 may contain the
references of function tables when complicated variations are described.
are confident that Csound users will pick up the idea and develop their own
instruments taking advantage of BP2 features such as panoramic control, and any
additional control they think useful. We hope that convincing examples will be
shared between users.
cmd-n ("New Project") to flush the current Csound orchestra description and use
the default instrument exclusively. Then load "-da.Csoundtes
in the "Data" window.
_pitchcont _pitchrange(200) _volume(30) C5 _volume(127) D5 _pitchbend(100)
E5 F5 _pitchbend(0)
this item and type cmd-p ("Play selection"). Save the resulting score as
0 256 10 1 ; This table may be changed
0.000 1.000 9.00 30.000 127.000 0.000 0.000 0.000 0.000 ; C5
1.000 1.000 9.02 127.000 127.000 0.000 0.000 0.000 0.000 ; D5
2.000 1.000 9.04 127.000 127.000 0.000 100.000 50.000 0.000 ; E5
3.000 1.000 9.05 127.000 127.000 0.000 50.000 0.000 0.000 ; F5
this score was created by Bol Processor BP2 (version BP2.7.2)
close the score file, type cmd-option space (window "Settings") and uncheck
"Write csound score
Now you may open the score with Csound. (If the computer does not have enough
memory, first quit BP2.)
Csound to create a sound file using "BP2test.or
Listen to the result. (Nothing great. It just works.)
you are not happy with the buzz you may try to change the waveform in table 1,
as explained in §17.6. Apart from being extremely dull, a sine-wave
oscillator may yield weird results when several notes are superimposed. Since
BP2 provides Csound with events timed within 1ms accuracy, phasing effects
modify considerably the perceived balance of mixed sounds.
of computation overflows occuring at the time Csound processes the score file.
These are displayed at computation time. It is wise to use _volume(x) with a
proper value of 'x' in range 0..127 so that saturation is avoided. A simple
method consists in dividing the maximum volume (127) by the estimated number of
simultaneous voices, and use the result as a maximum volume for each voice. Use
_volume(K1), _volume(K2)... to avoid repeating numeric data (see §1.9).