[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

csound questions answered

Dear Auditory readers,

Someone recently asked me about using Csound for signal generation in an
Experimental Psychology/Psychoacoustics context.  I've decided to
forward my reply to the list, because I get this question from time to
time from various people in the field (being a frequent user of Csound
myself).  I hope it is helpful!

Greg Sandell

Gregory J. Sandell  (sandell@epunix.sussex.ac.uk)
Experimental Psychology, University of Sussex
Brighton BN1 9QG England  +44-273-678058

> me more about csound. I've heard about it before in passing, but I've
> no idea what it is?

It's hard to hard to think of a quick way to describe it, for two
reasons.  First, it's a vast, and highly sophisticated program.  On that
point I consider it to be an excellent media for signal generation for
psychoacoustics purposes. Second, it is authored by musicians, and thus
addresses many aspects of signal generation that are important to
composers of electroacoustic music.  Thus the large number of commands that
relate to a musical viewpoint of sound may be offputting to the
psychoacoustic user.  One particularly musical point of view is that
signal generation is broken up into two components, the instrument (or
orchestra) and the score (both are ascii files created by the user with a
text editor).  The instrument should be viewed as a sort of
patchbay connecting various oscillators, filters, noise generators, and
so on, which has any number of parameter slots (called p-fields) that
determine the values for the various units (e.g. the frequency and
amplitude for an osciallator).  The score is a sequence of lines
defining individual calls to that instrument, including a start time, a
end time, plus the values for all the p-fields required by that

One simple way in which I frequently use csound is to make larger
expermental soundfiles from a small collection of smaller individual
soundfiles.  If I have a design where the same set of N sounds will be
heard in various orders or various simultaneous combinations, I simply
write a score that calls for these soundfiles to be sounding at
different points in time.  Saves a tremendous amount of compute time and

> Is it a c-based programming language for sound synthesis?

The name "Csound" reflects more the historical development of the
program than the coding style.  The grandaddy of Csound is Music-V,
developed by Max Mathews in the 60's.  Later variations (by various
authors) are Music360, Music4BF, and Music-11 (for the PDP-11).  Thus
name Csound indicates that it is written in C, but the user writes his
or her code in a language specific to Csound.

> If so where can I get a copy?

Csound is available for free via ftp from MIT, details given below.
Its author is Barry Vercoe (bv@ems.media.mit.edu) of the MIT Media Lab.
There are versions tailored to various flavors of Unix, as well as a
version for Think-C (ie. Macintosh).  The standard release of Csound is a
command-line oriented language...there is no graphical user interface.
However, Pete Yadlowsky has an excellent front end for the NeXT
(pmy@vivaldi.acc.Virginia.EDU).  In that version one is not spared from
having to create ascii files for the score and orchestra, but the
execution of the csound command (with its many options), and management
of files is handled with a GUI.  Someone also has a program for
X-Windows that lets you create orchestras in an iconic-graphical
fashion, but when I last saw it, it was just a clever demo allowing you
access to only a tiny subset of Csound's features, so I cannot recommend
it for practical use.

> The reason for this is that I'm about to get a Mac Quadra with an
> Audiomedia II card and need to get some kind of software for sound
> synthesis.

Any version of Csound can be used to make soundfiles playable through
the family of DigiDesign products.  The key is to use the AIFF flag in
the call to csound, move the resulting file to the Mac, then use ResEdit
to change the file type to AIFF and the Creator to Sd2a.  Then when you
click on it, it will bring up the appropriate DigiDesign program with
that file loaded in.

Here is one of the more recent announcements for the Csound package from
Barry Vercoe.

- Greg

Date:         Mon, 10 Aug 1992 16:16:58 -0400
From: Barry Vercoe <bv@MEDIA.MIT.EDU>
Subject:      Csound new release
To: Multiple recipients of list AUDITORY

I have recently released a new version of my Csound software,
and this memo is to make it available to anyone in AUDITORY who wants it.

Csound is a software synthesis program for generating extremely controlled
soundfiles for auditory research.  It is already used by several people in
the AUDITORY mailing list, and is currently running at about 500 sites
around the world.  The software is Copyrighted , but is available free to
educational and non-commercial users.  If you would like to use it too,
and you have a local computer with audio I/O ability, simply follow the
access information below.

 -- Barry Vercoe

I have posted a new version of Csound on ftp.  At MIT, Csound currently
runs on DEC-RISC and SGI Indigo machines under Ultrix and Unix, on SUN's
(4.03 and 4.1 OS), and on Macintosh's (THINK_C's Lightspeed C 4.0).
It is also known to run on NeXT and HP workstations.  Csound includes FOF and
Phase Vocoder synthesis.  Recent additions include reading/writing AIFF
The User Manual is now in Word 5.0 format; a PostScript version is on its way.

Csound can perform from midifiles, MPU401 files, and (in realtime only) from a
MIDI keyboard.  This latter needs a MIDI-to-serial interface (38400 RS-232 or
and is known to run on DECstations, SGI machines and SUNs.  The sources include
a Midifiles directory, with MIDI scores that will run right away.  These can
generate soundfiles on any machine.  If your machine is fast enough, you can do
software synthesis in real-time, with interactive sensing and control.  [See
"Realtime Csound", ICMC Proc., Glasgow, 1990.]  However, realtime synthesis
(and MIDI keyboard performance) works only on fast machines (DEC, SUN, SGI).

Csound sources are available to educational institutions via FTP.
To get here via ftp, type:              ftp cecelia.media.mit.edu
At the prompt 'Name (....)'             anonymous
then at 'Password(....)'                yourname@site
At 'Guest login ok, ......  ftp >'      cd pub/Csound
To list all available files:            ls -ls
To understand these files:              get csound.README |more
   Read this README carefully.
   It tells which files you need to
   run under Unix or on the Mac.
Now set for binary transfers:           binary
Then for each file you want:            get csound.tar.Z (or whatever)
When you're done:                       CTRL-D

If you plan to run on a Unix system, ftp either 'csound.tar' or 'csound.tar.Z'
This contains all sources and makefiles for building an entire Csound system.
If you plan to run on the Mac, you should ftp only .hqx files.

The up-to-date Csound Manual is in Csound.man.hqx, and currently needs a Mac
to unbundle and print.   A PostScript file for standard printers is coming.
[ Note:  the manual is in fact available in MS-Word format now.  - Greg ]

Bugs to:                        csound@media.mit.edu

 --  Barry Vercoe

Gregory J. Sandell  (sandell@epunix.sussex.ac.uk)
Experimental Psychology, University of Sussex
Brighton BN1 9QG England  +44-273-678058