MURAL - Maynooth University Research Archive Library

    Faust Programs in Csound

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

    Download (20kB) | Preview
    Official URL:

    Share your research

    Twitter Facebook LinkedIn GooglePlus Email more...

    Add this article to your Mendeley library


    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

    Repository Staff Only(login required)

    View Item Item control page


    Downloads per month over past year