What
else can be controlled?
MIDI
specifications make it possible for BP2 to handle
continuous
changes of the following parameters:
• Pitch,
modulation,
channel
pressure
(polyphonic aftertouch),
volume
(default controller 7) on all synthesisers;
•
Panoramic
(default controller 10) on synthesisers complying with
General
MIDI;
•
Up
to 250 parameters with arbitrary names
that are only recognised by Csound instruments. See "_valu
e(param,x)",
"_ste
p(param)",
"_con
t(param)"
and "_fixe
d(param)"
in §17.5.
The
sampling rate (default 50 messages per second) can be adjusted to compromise
between accuracy and MIDI bandwidth. Keep in mind that BP2 creates messages in
real time, sometimes resulting in hundreds of messages being sent to MIDI every
second. Some of them might get lost notably if other MIDI devices are active
on the same network. When this happens it is necessary to reduce sampling
rates to the minimum values required for smooth movements. Ten messages per
second would be enough in many cases.
Velocity
is not controlled continuously: a unique velocity value is assigned to every
note or sound-object.
(In the case of sound-objects it is possible to instruct some objects to ignore
this velocity assignment.) Velocity values may be interpolated between two
pre-set values along the sequence. This is done using instruction "_velcon
t"
(or equivalently "_velste
p")
which may be cancelled by "_velfixe
d".
Transposition
is supported by the "_transpos
e(x)"
command in which
x
is the number of semitones up (down if negative). Note that transpositions may
be cumulated, using curled brackets (i.e. polymetric expressio
ns).
For instance,
_transpose(-3) { A4 _transpose(+7) C3 D3}
is
interpreted as:
A4 _transpose(+4) C3 D3 [ ... since -3 + 7 = 4 ]
Controls
are limited by MIDI specifications. For instance, it is not possible to assign
different pitchbend corrections to several notes on the same MIDI channel.
Fanatics of microtonal intonation must either content themselves with monodic
music or distribute notes on separate channels.
Each
MIDI implementation has its own limitations: for instance, Roland D-50 does not
distinguish volume controls on separate MIDI channels, even though BP2 produces
the correct messages.
Results
also depend on the
OMNI
ON/OFF
and
POLY/MONO
settings, briefly discussed in "-da.checkControl
s".
See MIDI literature or the synthesiser's instruction manual for a detailed
explanation. BP2 makes it possible to change these settings with script
commands. These must be executed on the basic channel of the MIDI device. See
the instruction manual of the device.
MIDI
implementation are by-passed by some software environments. For instance,
Opcode OMS makes it possible to use more than 16 MIDI channels; it simply maps
channels above 16 to other devices. Future versions of BP2 will take advantage
of such features.
Csound
is another way of going far beyond MIDI. (See §17)