Csound

Many developers have contributed to Csound, most notably Istvan Varga, Gabriel Maldonado, Robin Whittle, Richard Karpen, Iain McCurdy, Michael Gogins, Matt Ingalls, Steven Yi, Richard Boulanger, Victor Lazzarini and Joachim Heintz.

Csound is closely related to the underlying language for the Structured Audio extensions to MPEG-4, SAOL.

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 96 kHz: 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.

In addition to the basic C API, there are also Python, Java, Lisp, Tcl and C++ among other bindings, like one from Haskell which allows control of Csound from a purely functional environment.

The use of plug-ins allows additional capabilities without modifications to the Csound code, as there is the possibility to write user-defined opcodes as extensions to the original language.

Another addition was the support of FLTK widgets (graphical interface components with sliders, knobs, etc.)

The development of Csound 6 was led by John Fitch, Steven Yi and Victor Lazzarini.

Note events can be triggered based on OSC communications within an instrument instance, spawned by MIDI, or entered to stdin (by typing into a terminal or sending textual statements from another program).