Mot-clé : Functional

2010

Automatic Paralllelization of Audio Applications with Faust

Congrès Français d'Acoustique, 2010, Lyon, France

Faust (Functional AUdio STreams) [1] stands for both a programming language and its compiler. Being fully compiled allows Faust to be used as an alternative to C/C++ to develop high-performance audio signal processing applications, DSP libraries and plug-ins for a variety of audio platforms and standards.

Yann Orlarey, Stéphane Letz, Dominique Fober

Mots-clés :
Compiler, Dataflow, Functional, Processing, Programming, Real-time, Signal

Work Stealing Scheduler for Automatic Parallelization in Faust

Linux Audio Conference, 2010, Utrecht, Netherlands

Faust 0.9.10 introduces an alternative to OpenMP based parallel code generation using a Work Steal- ing Scheduler and explicit management of worker threads. This paper explains the new option and presents some benchmarks.

Stéphane Letz, Yann Orlarey, Dominique Fober

Mots-clés :
Compiler, Dataflow, Functional, Processing, Programming, Real-time, Signal

2009

FAUST : an Efficient Functional Approach to DSP Programming

Editions DELATOUR FRANCE. NEW COMPUTATIONAL PARADIGMS FOR COMPUTER MUSIC, pp.65-96, 2009

FAUST is a programming language that provides a purely functional approach to signal processing while offering a high level of performance. FAUST aims at being complementary to existing audio languages by offering a viable and efficient alternative to C/C++ to develop signal processing libraries, audio plug-ins or standalone applications. The language is based on a simple and well defined formal semantics. A FAUST program denotes a signal processor, a mathemati... read_more

FAUST is a programming language that provides a purely functional approach to signal processing while offering a high level of performance. FAUST aims at being complementary to existing audio languages by offering a viable and efficient alternative to C/C++ to develop signal processing libraries, audio plug-ins or standalone applications. The language is based on a simple and well defined formal semantics. A FAUST program denotes a signal processor, a mathematical function that transforms input signals into output signals. Being able to know precisely what a program computes is important not only for programmers, but also for compilers needing to generate the best possible code. Moreover these semantics questions are crucial for the long term preservation of music programs. The following paragraphs will give an overview of the language as well as a description of the compiler, including the generation of parallel code.

Yann Orlarey, Dominique Fober, Stéphane Letz

Mots-clés :
Compiler, Dataflow, Functional, Processing, Programming, Real-time, Signal

2006

DSP Programming with Faust, Q and SuperCollider

Linux Audio Conference, 2006, Karlsruhe, Germany

Faust is a functional programming language for realtime signal processing and synthesis that targets high-performance signal processing applications and audio plugins. The paper gives a brief introduction to Faust and discusses its interfaces to Q, a general purpose functional programming language, and SuperCollider, an object-oriented sound synthesis language and engine.

Yann Orlarey, Albert Graef, Stefan Kersten

Mots-clés :
Computer, Digital, FAUST, Functional, Language, Music, Processing, Programming, Q, Signal, SuperCollider

This document is a quick-reference to the Faust language (version 0.9.8), a programming language for real-time signal processing and synthesis that targets high-performance signal processing applications and audio plugins.