.TL
PREFACE
.PP
The concept of realizing music by digital computer involves synthesizing
audio signals with a series of discrete points or \fIsamples\fR that are
representative of continuous waveforms.  There are several ways of doing
this digitally, each affording a different manner of control.
The method of \fIdirect synthesis\fR generates waveforms by sampling a
stored picture or \fIfunction table\fR representing a single cycle.
The method of \fIadditive synthesis\fR generates the many partials of a
complex tone one at a time, each with its own loudness envelope.
\fISubtractive synthesis\fR takes a complex tone and then
filters it as required.
\fINon-linear synthesis\fR employs techniques such as frequency modulation
and wave shaping to imbue simple signals with complex characteristics.
\fISampling synthesis\fR involves digital storage of natural sound,
which can be recalled over and over in structuring a piece.
.PP
Comprehensive moment-by-moment specification of an electronic composition
would be long and involved.  As a practical measure, control is
prescribed in two ways:
1) by the structure of \fIinstruments\fR within an \fIorchestra\fR, and
2) by the details of \fIevents\fR within a \fIscore\fR.
An orchestra is really a computer program that can produce sound,
while a score is a body of data which that program can read and react to.
Whether a characteristic such as a rise-time is a fixed constant in an
instrument, or a variable prescribed by each note in the score,
depends on just how the user wishes to control it.
.PP
The instruments in a \fBCsound\fR orchestra are user-defined in a simple
high-level syntax that then invokes complex audio processing routines.
A score passed to this orchestra is made up of numerically coded pitch and
control information, in a form known as \fIstandard numeric score\fR format.
Although many users are content to work in this format, higher level
score representation and processing languages are often convenient.
Two are described in these pages.
The \fBScot\fR language uses simple alphanumeric encoding of pitch and
time data, in a fashion that parallels traditional music notation;
its translator will produce a \fIstandard numeric\fR score from this.
The \fBCscore\fR program can expand an existing numeric score
(or create one from scratch), according to user-supplied processing
algorithms written in the \fBC\fR language.
One strategy, then, is to define a \fIkernel\fR score in \fBScot\fR,
translate it to \fInumeric\fR form, then expand and modify the data
using \fBCscore\fR before sending it on to a \fBCsound\fR orchestra for
performance.  This provides a powerful way of exploring score structures.
.PP
The programs and languages making up the \fBCsound\f system have had
a long history of development, beginning with the \fIMusic 4\fR program
written at Bell Telephone Laboratories in the early 1960's by Max Mathews.
That initiated the stored table concept and much of the terminology
that has since enabled computer music researchers to communicate.
Valuable additions were made at Princeton by the late Godfrey Winham
in \fIMusic 4B\fR, and my own \fIMusic 360\fR (1968)
was very indebted to his work.
With \fIMusic 11\fR (1973) I took a different tack.
The division into two clear networks of \fIcontrol\fR and \fIaudio\fR
signal processing stemmed from my intensive involvement in the two
preceding years in hardware synthesizer concepts and design,
and this division has been retained in \fBCsound\fR.
During its twelve years of heavy use in MIT courses and summer workshops,
\fIMusic 11\fR was also enriched by much support software
in sound analysis and score manipulation;  the \fBScot\fR software
included here was developed by various MIT students under the guidance
of Steven Haflich.
.PP
Because it is written entirely in \fBC, Csound\fR is easily installed
on any machine running Unix.  At MIT it runs on Vaxes, MicroVaxes and
SUNs under Unix 4.3 BSD, and on Hewlett Packard Bobcat workstations
under HP-Unix (essentially System 5).  With this common audio language
and good networking, users move easily from machine to machine.
In conjunction with other software devoted to real-time performance and
hardware synthesis control, both interactive experiment and \fBCsound\fR
high-resolution audio signal processing are brought into a single
integrated environment.

											B.V.
.bp
