Faust

Faust is a functional programming language specifically designed for realtime signal processing and synthesis. Thanks to specific architecture files, a single Faust program can be used to produce code for a variety of platforms and plug-in formats. These architecture files act as wrappers and describe the interactions with the host audio and GUI system.

The Faust Online Compiler

The Faust Online Compiler is a PHP/JavaScript based web application that provides a cross-platform and cross-processor programming environment for the Faust language. It makes it possible to use most of Faust features directly in a web browser. In many ways, we think it is solving one of Faust’s weakness: the great number of dependencies that using its architecture files involved. Indeed, even though Faust doesn’t need any specific library to be installed on a system to use it, some architecture files prove to be quite complicated to use because of their dependencies. It is also solving the system architecture issues that some Windows users, as an example, might have encountered in the past.

The Faust Online Compiler integrates an editable catalog of examples making it a platform to easily share and use Faust objects. We also think it is a pedagogical tool where it is possible to see in the most interactive way a digital signal processing statement, its C++ equivalent, its diagram representation, its documentation and finally its results.

It has been implemented in the frame of the development of the new Faust website and it can be easily embedded in any HTML web page or installed on an Apache server.

Exporting and embedding the Faust Online Compiler

The Faust Online Compiler can be very easily embedded in any website using an iframe:

It can also be installed on an Apache server just by copying the source code available on the Faust repository on it.

Related Papers

R. Michon and Y. Orlarey, "Le compilateur en ligne de Faust : un IDE en ligne pour le langage de programmation Faust", in Proceedings of the 18th Journées de l'Informatique Musicale (JIM-2012), Mons, Belgium, May 9-11, 2012.

R. Michon and Y. Orlarey, "The Faust Online Compiler: a Web-Based IDE for the Faust Programming Language", in Proceedings of the 10th Linux Audio Conference (LAC-12), Stanford University, CA, April 12-15, 2012. Slides - Video.