Hubbry Logo
search
logo
Csound
Csound
current hub

Csound

logo
Community Hub0 Subscribers
Write something...
Be the first to start a discussion here.
Be the first to start a discussion here.
See all
Csound

Csound is a domain-specific computer programming language for audio programming. It is named Csound because it is written in the language C, in contrast to some of its predecessors. It is free and open-source software, released under the GNU Lesser General Public License (LGPL) 2.1 or later.

Csound was originally developed by Barry Vercoe at the MIT Media Lab in 1985, based on his earlier system called Music 11, which in its turn followed the MUSIC-N model initiated by Max Mathews at Bell Labs. Csound development continued throughout the 1990s and 2000s, led by John Fitch at the University of Bath.

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. Developed over many years, as of 2024, it has nearly 1,700 unit generators. One of its greatest strengths is that it is completely modular and extensible, by the user.

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

Csound takes two specially formatted text files as input. The orchestra describes the nature of the instruments and the score describes notes and other parameters along a timeline. Csound 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 markup language tags (a CSD file with filename extension .csd). 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 development environment for editing, previewing, testing, and debugging. The one now officially supported is CsoundQt. It has many features, such as automatic code insertion, integrated documentation browser, integrated widgets for graphically controlling parameters in realtime, plus a button for playing the code.

Version 5.01 was released on March 18, 2006, 20 years after Csound's first release. Csound 5 is available in binary and source code for Linux, Microsoft Windows, and macOS from the SourceForge Csound project. It is much improved and expanded compared to the original software, effectively made into a software library with an application programming interface (API). A variety of frontends have been developed for it. Beyond the basic C API, there are also C++, Java, Python, Lisp, and Tcl, among other bindings, like one from Haskell which allows control of Csound from a purely functional programming environment.

See all
User Avatar
No comments yet.