Csound

From Wikipedia, the free encyclopedia

Csound is a computer programming language for dealing with sound, also known as a sound compiler or a music programming language. It is called Csound because it is written in the C programming language, as opposed to some of its predecessors. Csound was originally written at MIT by Barry Vercoe, based on an earlier language called Music360, developed by Max Mathews at Bell Labs. It is free software, available under the LGPL. Its development continued throughout the 1990s and 2000s, led by John ffitch at the University of Bath, resulting in the launch of Csound 5 in February, 2005. Many developers have contributed to it, most notably Istvan Varga, Gabriel Maldonado (who developed a variant of the system, CsoundAV, which includes image and graphics processing extras), Robin Whittle, Richard Karpen, Michael Gogins, Matt Ingalls, Steven Yi and Victor Lazzarini.

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 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:

;
  
  
    csound -W -d -o tone.wav 
  
  
  
    sr     = 44100           ; Sample rate.
    kr     = 4410            ; Control signal rate.
    ksmps  = 10              ; Samples pr. control signal.
    nchnls = 1               ; Number of output channels.

    instr 1 
    a1     oscil p4, p5, 1   ; Simple oscillator. 
           out a1            ; Output.
    endin
  

  
    f1 0 8192 10 1           ; Table containing a sine wave.
    i1 0 1 20000 1000        ; Play one second of one kHz tone.
    e
  


Developed over many years, it currently has a vast amount of opcodes (modules). One of its greatest strengths is that it is completely modular and expandable by the user.

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

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. The latest version of the software, Csound 5, is currently available in binary and source code for Linux, Windows and MacOSX. It is a much improved and expanded version of the original software, available also in the form of a library and API, which can be used by other software. In addition to the basic C API, there are also Python, Java, LISP, Tcl and C++ APIs.

  • Official website 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.
  • CSound Wiki CSound Documentation
  • WinXoundPro another IDE for CSound.
  • Dex Tracker Dex Tracker a tracker style front end for csound Including a grid editor and code generation tools, and the ability to save your favorite sounds and rhythms as presets
  • blue A music composition environment for Csound.
  • CsoundWiki Community site.
  • Bol Processor A music composition environment for Csound and MIDI
Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.