Csound - Le Bottin des Jeux Linux


🗃️ Specifications

📰 Title: Csound 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Development 🚦 Status: 05. Released
🏷️ Category: Development ➤ Musical composition ➤ Synthesizer 🌍️ Browser-based:
🔖 Tags: Development; Musical Composition; Synthesizer 📦️ Package Name: csound
🐣️ Approx. start: 📦️ Arch:
🐤️ Latest: 2015-05-21 🍥️ On Deb repo: ✓
📍️ Version: Latest : 6.05 / Dev : 8ad9f7b 📦️ Deb: ✓
🏛️ License type: FOSS/Libre 📦️ RPM:
🏛️ License: LGPL-2.1 📦️ AppImage:
🏝️ Perspective: Third person 📦️ Snap:
👁️ Visual: 2D 📦️ Flatpak/Athenaeum:
⏱️ Pacing: Real Time ⚙️ Generic bin.: ✓
👫️ Played: Single 📄️ Source: ✓
🎖️ This record: 5 stars 📱️ PDA support: ✓
🎖️ Game design: 👫️ Contrib.: Goupil & Louis
🎰️ ID: 14761 🐛️ Created: 2015-05-21
🐜️ Updated: 2021-11-14

📖️ Summary

[fr]: Un langage de programmation et un compilateur / synthétiseur pour la création sonore [en]: A user-programmable and user-extensible sound processing language and software synthesizer

🎥️ Videos

🕹️ Gameplay [en] / [en] / [fr] : (202xxx), (202xxx), (202xxx),

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site 1 2] [Features/About] [Screenshots] [Videos t(202xxx) t(202xxx) t(202xxx) g(202xxx) g(202xxx) g(202xxx) g(202xxx) g(202xxx) g(202xxx) g(202xxx)] [Reviews] [WIKI 1 2 3] [FAQ] [RSS] [Changelog 1 2 3]

💵 Commercial : [Support their work (Donate)]

🍩️ Resources
[Csound (Frontends)] [Blue (a music composition environment in Java for use with the Csound sound system)]
🛠️ Technical informations
[Open Hub] [Soundcloud (Csound)]

🐘 Social
Devs (Csound Team [fr] [en]) : [Site 1 2] [twitter] [YouTube] [Interview 1 2]
Game : [Blog] [Forums] [twitter] [YouTube]

🐝️ Related
[Wikipedia (Csound) [fr] [en]]

📦️ Misc. repositories

🕵️ Reviews

🐘 Social Networking Update (on Mastodon)

🛠️ Title:
🦊️ What's:
🔖 #linux

🐧 Update:
📌️ Changes:
📖 Our entry: https://bit.ly/bottinLightOn
🐘 From:
🏝️ http://youtu.be/
🕵️ http://youtu.be/
🕹️ http://youtu.be/
🐧 http://youtu.be/

Source of this Entry:

📕 Description [fr]

Un langage de programmation et un compilateur / synthétiseur pour la création sonore, par la Csound Team (Barry Vercoe, John ffitch & contributeurs).

Csound est un. langage de programmation et un compilateur / synthétiseur pour la création sonore

🌍️ Wikipedia :

Csound désigne un langage de programmation pour la création sonore, ainsi que son compilateur sonore. Le nom Csound provient du langage C, avec lequel il fut écrit au MIT par Barry Vercoe. Ce langage est inspiré de MUSIC, une série de programmes plus anciens développés par Max Mathews. C'est un logiciel libre disponible sous la licence LGPL. Son développement s'est poursuivi durant les années 1990 et 2000 sous la conduite de John Fitch à l'université de Bath, donnant ainsi naissance à la version Csound 5 en février 2005. Beaucoup de développeurs ont contribué à ce projet, notamment Istvan Varga, Gabriel Maldonado (qui a développé une variante CsoundAV), Robin Whittle, Richard Karpen, Michael Gogins, Matt Ingalls, Steven Yi et Victor Lazzarini.

Dans son utilisation la plus simple, le programmeur rédige deux fichiers texte selon un modèle spécifié et prédéfini : le fichier orchestra (orchestre) qui décrit la nature des instruments et le fichier score (partition) qui décrit les notes, ainsi que d'autres paramètres temporels. Csound procède ensuite à la compilation de ces fichiers et génère un fichier audio. Les versions récentes de Csound peuvent recevoir, traiter et produire, éventuellement en temps réel, des flux audio et des flux MIDI.

Les fichiers orchestra et score peuvent être réunis dans un seul et même fichier en utilisant une structure avec des balises XML.

La dernière version, Csound 5, est disponible sous forme de fichier binaire ou de code source pour Linux, Windows et MacOSX. Elle peut également être utilisée sous forme de bibliothèque logicielle ou d'API, pouvant donc être partie intégrante d'un autre logiciel. Les bibliothèques logicielles sont disponibles en C, Python, Java, LISP, Tcl, et C++.

📕 Description [en]

A user-programmable and user-extensible sound processing language and software synthesizer.

Csound is a sound and music synthesis system, providing facilities for composition and performance over a wide range of platforms. It is not restricted to any style of music, and has been used for many years in a variety of genres, including classical, pop, techno, and ambient.

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, and a wider community of volunteers which contribute examples, documentation, articles, and takes part of 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 can also be used in real-time and interactive contexts, on mobile devices or in combination with other programming languages.

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.

🌍️ Wikipedia:

Csound is a computer programming language for sound, also known as a sound compiler or an audio programming language, or more precisely, an audio DSL. It is called Csound because it is written in C, as opposed to some of its predecessors.

It is free software, available under the LGPL.

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. 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, Robin Whittle, Richard Karpen, Michael Gogins, Matt Ingalls, Steven Yi, Richard Boulanger, and Victor Lazzarini.

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

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).

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.[2] 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 6

Csound 6 has been in development since its features were hashed out at the Csound Conference held in 2011 in Hanover. Csound 6 was released in July 2013 and is now available on GitHub.[3] Csound 6 is also available for android. The major new features of Csound 6 include:

• A bison/flex based parser for the Csound language is now standard. It generates an abstract syntax tree that is accessible via the Csound API. The tree can then be compiled to a Csound performance runtime using the API. Therefore, after the tree has been compiled, it can be manipulated by user code before compiling it to a Csound performance runtime. Alternatively, the user could create the entire abstract syntax tree from another language, then compile the tree to a Csound performance runtime.
• There is a new built-in multi-dimensional array type. Arrays can be passed to instruments and opcodes. Arithmetic may be performed directly on arrays.
• There is a new type system that enables user-defined types to be used in the Csound language.
• The orchestra can be re-compiled at any time, or individual instruments can be compiled at any time, during a running performance. This enables true "live coding" in Csound performances.
• The Csound API has been rationalized and simplified.
• Csound can take advantage of any number of CPUs for concurrent processing during performance. This occurs without any changes to Csound code. This produces substantial speedups of most Csound processing. For example, a piece that renders in 100 seconds with 1 core should render in about 50 seconds with 4 cores.
• Csound can compile orchestras and scores directly from strings of text, enabling the use of Csound in environments where writing to the file system is not permitted.
• Score events such as notes can be scheduled to sample accurate times, even if synthesis is processed in blocks of samples.
• All opcodes that return a single value may be used as functions in the orchestra language.
• Audio analysis file formats can be byte-order independent.
• A single score statement can contain multiple string parameters.
• Most oscillator opcodes will use an internal sine function table if the table number is omitted.
• Command line options can be set programmatically using the Csound API.
• Numerous duplicate areas of code within Csound have been rationalized.
• There is an Android app which provides user-defined graphical user interfaces and JavaScript-based algorithmic composition using HTML5

Csound For Live Performance

Currently only Csound score or note events can be generated in real time (as opposed to instruments, which are only definable at compile time, when csound first starts; in Csound 6 this limitation is removed). The set of sound processors is defined and compiled at load time, but the individual processing objects can be spawned or destroyed in real time, input audio processed in real time, and output generated also in real time. 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). The use of Csound 5 as a live performance tool can be augmented with a variety of third-party software. Live Event Sheet within CsoundQt can be used to modify the score in real-time. In addition, interfaces to other programming languages can be used to script Csound. A paper detailing the use of Csound with Qt or Pure Data in real-time musical synthesis was presented at the 2012 Linux Audio Conference [4] The Ounk project [1] attempts to integrate Python with Csound while CsoundAC provides a way to do algorithmic composition from Python using Csound as backend. Audivation's Csound for Live packages various opcodes into Max/MSP wrappers suitable for use in Ableton Live.[5][6] Csound is also available for mobile systems (iOS, Android).