What
is Csound, how does it relate to BP2?
Csound
is a program for the design and transformation of digitised sounds. A public
domain software currently developed at the MIT, it can be compiled to run on
various platforms, notably Unix, NeXT and MacOS. The current PowerPC version
may be retrieved from
<ftp://notam.uio.no/pub/mac/audio/csound.ppc.sea.hqx>. The Csound front
page is <http://www.leeds.ac.uk/music/Man/c_front.html>.
Unlike
hardware sound processors, Csound puts no limitation to the number of
instruments and the complexity of their processes. Indeed, a sophisticated
orchestra file would request a great deal of computation time, but it remains
workable on small computers whenever speed is not critical.
With
recent hardware enhancements (multiprocessing, RISC...) Csound has become fast
enough for real-time synthesis, making it possible to adjust various sound
parameters interactively. In other words, musicians can explore sound spaces
rather than rely on speculations as to what a certain formula would yield.
This shift from theory to practice is giving Csound a second life at a time
computer users feel allergic to batch-processing techniques and dream of
immediate feed-back and interactive systems.
Csound
works with two input files, the "orchestra file" and the "score" file, both in
comprehensive text format. This makes it easy to musicians to share a broad
library of sound design "recipes", a sample of which is supplied with the
software itself.
BP2
may create a piece of music in the real-time MIDI environment and then enhances
it with Csound. Csound and BP2 are similar and complementary in their
text-oriented, programming approach, with respective emphasis on sound and
musical structures. None of these programs make assumptions on the musical
system even though they optionally accept practical conventions such as "octave
point pitch-class" representation in Csound, or "simple notes" in BP2.
A
Csound instrument is the procedural representation of computational processes
at the lowest level; conversely, a BP2 sound-object is a declarative
representation of elementary events and properties at a more abstract level.
While
Csound is quite user-friendly for the description of instruments (the
"orchestra file"), it does not offer any in-built facility for the design of
event lists (the "score" file). Score files are usually typed or produced with
higher-level algorithms such as the ones programmed with Cscor
e,
a utility supplied on the same site. But not every musician is a C
programmer... A convenient way of generating Csound scores is to convert them
from MIDI files, but this limitates Csound parameters to the very few ones
implemented in MIDI. BP2 handles any number of parameters (with arbitrary
names) that may be assigned any position among Csound instrument arguments.
(Subject
to confirmation by Csound folks
)
BP2 is to-date the most advanced program for the creation of Csound score
files. BP2's input may be comprehensive text scores (with an alphabet of
simple notes and sound-objects) or music production processes such as grammars
or scripts. BP2 attempts to take full advantage of the versatility of Csound,
by-passing the limitations of MIDI.
In
the following examples (except §17.5) we are using imaginary orchestra
files and proposing a visual, rather than sonic, verification. The reason is
that we intend to demonstrate a great variety of parameter formats.