Lazzarini, Victor (2014) Faust Programs in Csound. Revue francophone d'informatique musicale (4). ISSN 2261-8589
Preview
VL-Faust-Programs.pdf
Download (20kB) | Preview
Official URL: http://revues.mshparisnord.org/rfim/index.php?id=3...
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 |
Related URLs: | |
URI: | https://mural.maynoothuniversity.ie/id/eprint/5845 |
Use Licence: | This item is available under a Creative Commons Attribution Non Commercial Share Alike Licence (CC BY-NC-SA). Details of this licence are available here |
Repository Staff Only (login required)
Downloads
Downloads per month over past year