Csound

Csound
Csound
Stable release 5.13 / March 7, 2011; 7 months ago (2011-03-07)
Development status Active
Written in C
Operating system Cross-platform
License LGPL
Website csounds.com

Csound is a computer programming language for dealing with sound, also known as a sound compiler or an audio programming language, or more precisely, a C-based audio DSL. It is called Csound because it is written in C, as opposed to some of its predecessors. Csound was originally written at MIT by Barry Vercoe, based on his earlier system called Music 11, which in its turn followed the MUSIC-N model initiated by Max Mathews at the 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. The first documented version 5 release is version 5.01 on March 18, 2006. 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, Richard Boulanger, and Victor Lazzarini.

Developed over many years, it currently has over 1200 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, SAOL.

Contents

Csound code

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:

<CsoundSynthesizer>;
 
  <CsOptions>
    csound -W -d -o tone.wav 
  </CsOptions>
 
  <CsInstruments>
    sr     = 96000           ; Sample rate.
    kr     = 9600            ; Control signal rate.
    ksmps  = 10              ; Samples per control signal.
    nchnls = 1               ; Number of output channels.
 
    instr 1 
    a1     oscil p4, p5, 1   ; Oscillator: p4 and p5 are the arguments from the score, 1 is the table number.
    out a1                   ; Output.
    endin
  </CsInstruments>
 
  <CsScore>
    f1 0 8192 10 1           ; Table containing a sine wave. Built-in generator 10 produces a sum of sinusoids, here only one.
    i1 0 1 20000 1000        ; Play one second of one kHz at amplitude 20000.
    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. The one now officially supported is QuteCsound, and 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.

Csound 5

Version 5.01 was released on March 18, 2006 – 20 years after csound's first release. This latest incarnation of the software is currently available in binary and source code for Linux, Microsoft Windows and Mac OS X from the SourceForge Csound project.[1] It is much improved and expanded compared to the original software, effectively made into a software library with an API. A variety of front ends have been developed for it. 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. LADSPA, DSSI, and VST plugins are all supported.

Real-time performance through MIDI has been added in the 1990s, a more recent addition is the support of FLTK widgets (graphical interface components with sliders, knobs, etc.) for controlling real-time audio, and integration of custom graphical interfaces written in Python.

Csound For Live

The use of Csound 5 as a live performance tool was enhanced as of October 18th, 2011, whereupon Audivation announced Csound For Live,[1][2]. Whilst maintaining the open source nature of Csound, Audivation packaged various opcodes in Max/MSP wrappers suitable for use in Ableton Live, thus integrating realtime performance of multiple Csound patches from within a DAW.

One laptop per child (OLPC)

Csound5 was chosen to be the audio/music development system for the OLPC project on the XO-1 Laptop platform.[3]


References

See also

External links

  • 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.
  • Project site at SourceForge
  • The Csound Manual
  • csound - collaboratively developed manual on FLOSS Manuals
  • MacCsound is an integrated Csound programming environment for Macintosh.
  • Csound for MacOS Classic
  • Csound Editor is an integrated programming environment for Csound [Windows].
  • WinXoundPro another IDE for Csound.
  • QuteCSound Another GUI front end for CSound [Windows/Mac/*NIX]
  • 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.
  • Bol Processor A music composition environment for Csound and MIDI
  • Automated CSound Orchestra Automated Csound orchestra building from individual instruments in csd format, convert midi to CSound, and record to Csound in real time (windows program)
  • AlgoScore An algorithmic composition environment where one works in a graphical score, for Csound and MIDI.
  • Csound-OLPC The Csound page in the OLPC wiki, with extra tutorials and XO-specific information and Dr.B's TOOTs
  • The Csound Book edited by R Boulanger and the 3500+-instrument Csound Catalog
  • Virtual Sound a Csound book for beginners, by R Bianchini and A Cipriani
  • Cecilia a production frontend for Csound.
  • Lettuce a Windows frontend/editor for Csound5.
  • Csound-x for Emacs an Emacs frontend for Csound.
  • Csound Helpers A list of links to Csound helper applications, mostly for Linux.
  • Csound For Live is a collection of Csound based instruments and DSP plugins for Ableton Live.

Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Csound — Saltar a navegación, búsqueda Csound es un paquete de software orientado a crear, editar, analizar y componer música y sonido. También es llamado así el propio lenguaje de programación que se usa para controlar el software. Funciona correctamente …   Wikipedia Español

  • Csound — ist ein Software Synthesizer, mit dessen Hilfe sich Klangkompositionen vollständig aus Quelltext generieren lassen. Die typischen Erzeugnisse des Csound Compilers sind Audiodateien; Echtzeit Klangerzeugung ist über MIDI möglich, seit Csound5 wird …   Deutsch Wikipedia

  • Csound — Apparu en 1986 Auteur Barry Vercoe Dernière version stable 5.14 (le 13 Octobre 2011)[ …   Wikipédia en Français

  • Csound — Написана на C Операционная система Cross platform Последняя версия 5.13 (07.03.2011) Состояние Active Лицензия LGPL Сайт …   Википедия

  • Csound — es un paquete de software orientado a crear, editar, analizar y componer música y sonido. También es llamado así el propio lenguaje de programación que se usa para controlar el software. Funciona correctamente en máquinas pequeñas y lentas,… …   Enciclopedia Universal

  • Computer music — is a term that was originally used within academia to describe a field of study relating to the applications of computing technology in music composition; particularly that stemming from the Western art music tradition. It includes the theory and …   Wikipedia

  • Comparison of audio synthesis environments — Software audio synthesis environments typically consist of an audio programming language (which may be graphical) and a user environment to design/run the language in. Although many of these environments are comparable in their abilities to… …   Wikipedia

  • Brian Cass (musician) — Brian Cass ( born 1977 in Fall River, Massachusetts) is a multi instrumentalist electronic musician who lives and performs in New York City. Also known as 13rian and is mostly known for his work as one man band : The Overclock Orchestra. Brian… …   Wikipedia

  • Electronic music — For electronic musical instruments, see Electronic musical instrument. For other uses, see Electronic music (disambiguation). See also: List of electronic music genres and List of electronic music festivals Electronic music is music that… …   Wikipedia

  • Granular synthesis — is a basic sound synthesis method that operates on the microsound time scale. It is often based on the same principles as sampling but often includes analog technology. The samples are not used directly however, they are split in small pieces of… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”