Faust Programs in Csound


Lazzarini, Victor (2014) Faust Programs in Csound. Revue francophone d'informatique musicale (4). ISSN 2261-8589

[img]
Preview
Download (20kB) | Preview
Official URL: http://revues.mshparisnord.org/rfim/index.php?id=3...



Add this article to your Mendeley library


Abstract

Csound (Boulanger, 2000) is a Music-N language that was first released in 1986 as a C-port of the Music 11 language, originally developed for the DEC PDP-11 computers at MIT in the 1970s. Since its release, it has undergone a number of changes, and in 2006, a completely re-engineered system, Csound 5, was launched. This system had a number of new possibilities, as it was designed as a library that could be embedded in a variety of environments. It also included the possibility of plugin opcodes, which would extend the language without the need for the whole re-compilation of the code base. In 2013, a further review of the system was carried out, and a new major version, Csound 6 (Cabrera et al., 2013), was launched, with substantial improvements and additions. This is the current system, discussed in this article. Faust (Orlarey, 2009) is a functional language designed to translate signal processing flowcharts into C++ or Javascript source code, or into LLVM bitcode. It allows plugins to be designed and then translated to C++ code that can be compiled into dynamic libraries, which can then be loaded into Csound as new unit generators (opcodes). This is done by the Faust compiler, which can be executed from the command-line, from the IDE Faustworks or on-line, via a web-based frontend. Recently, however, a new version of the system, Faust 2, has been developed where the Faust compiler is now provided as a library (libfaust) that can be embedded into another program. Libfaust can provide the Faust functionality in a dynamic way, where Faust programs can be compiled on-the-fly into LLVM bitcode that can be executed directly. This allows the possibility of short- circuiting the development process, so that a plugin opcode is not required anymore as an in-between the original Faust program and the running Unit generator in Csound.

Item Type: Article
Keywords: Faust; Programs; Csound; Music-N language;
Academic Unit: Faculty of Arts,Celtic Studies and Philosophy > Music
Item ID: 5845
Depositing User: Dr Victor Lazzarini
Date Deposited: 17 Feb 2015 14:35
Journal or Publication Title: Revue francophone d'informatique musicale
Publisher: Association française d'informatique musicale
Refereed: Yes
URI:

Repository Staff Only(login required)

View Item Item control page

Document Downloads

More statistics for this item...