Csound
|
Csound is a computer programming language for dealing with sound. It is called Csound because it is written in the C programming language, as opposed to some of its predecessors. Csound was written at MIT by Barry Vercoe, based on an earlier language called Music360. It is free software, available under the LGPL.
In a simple usage, the programmer supplies Csound with two specially formatted text files as input: the orchestra describing the nature of the instruments and the score describing notes and other parameters along a timeline. Csound then processes the instructions in these files and renders an audio file or real-time audio stream as output.
The orchestra and score files may be unified into a single structured file using XML tags. Here is a very simple example of a unified Csound data file which produces a wave file containing a one second sine wave tone of 1 kHz at a sample rate of 44.1 kHz:
<CsoundSynthesizer>; <CsOptions> csound -W -d -o tone.wav </CsOptions> <CsInstruments> sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 instr 1 a1 oscil p4, p5, 1 ; simple oscillator out a1 endin </CsInstruments> <CsScore> f1 0 8192 10 1 i1 0 1 20000 1000 ;play one second of one kHz tone e </CsScore> </CsoundSynthesizer>
As with many other programming languages, writing long programs in Csound can be eased by using an integrated environment for editing, previewing, testing, and debugging. Such environments are available.
Csound is the underlying language for the Structured Audio extensions to MPEG-4.
See also
External link
- Official website (http://www.csounds.com/) contains FAQs, manuals, programming examples, other front end programs, and misc other goodies. The mailing list archive is also a good place to find detailed information.
- Project site (http://sourceforge.net/projects/csound) at Sourceforge
- [1] (http://www.geocities.com/flaviotordini/) is an integrates programming environment for CSound.