Csound is a sound and music computing system which was originally developed by Barry Vercoe in 1985 at MIT Media Lab. Since the 90s, it has been developed by a group of core developers. A wider community of volunteers contribute examples, documentation, articles, and takes part in the Csound development with bug reports, feature requests and discussions with the core development team.
Although Csound has a strong tradition as a tool for composing electro-acoustic pieces, it is used by composers and musicians for any kind of music that can be made with the help of the computer. Csound has traditionally been used in a non-interactive score driven context, but nowadays it is mostly used in in a real-time context. Csound can run on a host of different platforms including all major operating systems as well as Android and iOS. Csound can also be called through other programming languages such as Python, Lua, C/C++, Java, etc.
One of the main principles in Csound development is to guarantee backwards compatibility. You can still render a Csound source file from 1986 on the latest Csound release, and you should be able to render a file written today with the latest Csound in 2036.
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.
- https://github.com/csound/plugins - Repository for Csound plugins which were originally in the main repository, and for new plugins as well.
- https://github.com/gogins/csound-extended-manual - An online version of the Csound Reference Manual that embeds the csound-extended-wasm build of Csound to play examples live in Web browsers.
- /chapter: A-The-Csound-Api - An application programming interface (API) is an interface provided by a computer system, library or application that allows users to access functions and routines for a particular task. It gives developers a way to harness the functionality of existing software within a host application. The Csound API can be used to control an instance of Csound through a series of different functions thus making it possible to harness all the power of Csound in one’s own applications. In other words, almost anything that can be done within Csound can be done with the API. The API is written in C, but there are interfaces to other languages as well, such as Python, C++ and Java.Though it is written in C, the Csound API uses an object structure. This is achieved through an opaque pointer representing a Csound instance. This opaque pointer is passed as the first argument when an API function is called from the host program.
- cSounds.com: Mastering Csound - A collection of intermediate and advanced tutorials by Dr. Richard Boulanger
- http://www.csounds.com/mastering/em_09.html - modular synth
- https://github.com/rorywalsh/csoundPluginOpcodes - SDK was designed to help third-party plugin opcode development either in C or C++. Its only dependency is a Csound installation.
- https://github.com/gogins/cxx-opcodes - The CXX opcodes provide a means for Csound users to embed C++ source code in Csound orchestra code, and for Csound then to compile, load, link, and run C++ during the course of the Csound performance.
- https://github.com/vlazzarini/opcode_compiler - experimental opcode builds on the initial work by Michael Goggins, and is based on the llvm/clang interpreter example code. It provides a just-in-time C module compiler, which can be used to add new opcodes to Csound on-the-fly.
- Using Csound in Jupyter Notebooks - AquileTube: Peertube@Aquilenet.fr