1 FAUST : a programming language for
2 audio applications and plugins
4 Grame, Centre National de Creation Musicale
11 FAUST (Functional Audio Stream) is a functional programming
12 language specifically designed for real-time signal processing and
13 synthesis. A distinctive characteristic of FAUST is to be fully
16 The FAUST compiler translates DSP specifications into
17 very efficient C++ code that works at sample level. It targets
18 high-performance signal processing applications, libraries and
19 audio plug-ins for a variety of audio platforms and standards. A
20 same FAUST specification can be used to easily generate native
21 JACK or ALSA applications, as well as CSOUND, LADSPA, MAX/MSP, PD,
22 Q, SC and VST plugins.
25 2/ Organisation of the distribution
26 -----------------------------------
27 The Faust distribution can be downloaded at:
28 http://sourceforge.net/projects/faudiostream
30 It's organisation is the following :
32 architecture/ : the architecture files and libraries
34 benchmark/ : tools to measure the impact of various
36 compiler/ : sources of the Faust compiler
37 documentation / : Faust developer's documentation
38 examples/ : examples of Faust programs with makefiles
39 for various audio targets
40 syntax-highlighting/: support for syntax highlighting for
42 tools/ : Additional easy-to-use scripts to
43 produce binaries and plugins
46 3/ Compilation and installation
47 --------------------------------
48 To compile and install the Faust compiler on Linux and MacOSX :
56 It could be also useful to install additional tools, for example :
63 The first option is to use the Visual Studio 2008 solution
64 /faust/compiler/windows/faust_vs2008.sln. Open the solution with
65 the Visual Studio 2008 environment and run Build. Both
66 Debug/Release targets are supported.
68 The second solution is to download and install the QT4.6 SDK :
69 http://qt.nokia.com/downloads/sdk-windows-cpp
70 and use the project file 'compiler.pro' in the compiler folder.
73 2/ Compilation of the examples
74 -------------------------------
75 Several FAUST examples are provided in the example folder. To
76 compile and test the examples with Jack/GTK do :
81 This will create a subfolder jackgtkdir with all the jack
82 applications. You can also create alsa applications (make alsagtk)
83 as well as other formats.
85 In order to compile your own applications, you can simply place you
86 files in the example folder and use the existing makefiles.
88 To list for possible audio targets :
92 About 20 different audio plateforms are supported :
117 For all these audio platforms you may have to install the related
118 SDK and/or development libraries.
123 Many persons have been contributing to the FAUST project by
124 providing code for the compiler, architecture files, libraries,
125 examples, documentation, scripts, bug reports, ideas, etc.
127 I would like to thank them and especially: Fons Adriaensen, Tiziano
128 Bole, Baktery Chanka, Thomas Charbonnel, Damien Cramet, Etienne
129 Gaudrin, Albert Graef, Stefan Kersten, Victor Lazzarini, Matthieu
130 Leberre, Mathieu Leroi, Kjetil Matheussen, Remy Muller, Sampo
131 Savolainen, Nicolas Scaringella, Stephen Sinclair, Travis Skare,
132 Julius Smith, as well as my colleagues at GRAME, in particular :
133 Dominique Fober, Stephane Letz and Karim Barkati, and from the
134 ASTREE project : Jerome Barthelemy (IRCAM), Alain Bonardi (IRCAM),
135 Raffaele Ciavarella (IRCAM), Pierre Jouvelot (Ecole des
136 Mines/ParisTech), Laurent Pottier (U. Saint-Etienne)
139 5/ Questions and suggestions
140 ----------------------------
142 If you have questions suggestions and comments, or if you want to
143 contribute to the project, two mailing lists are available:
144 https://lists.sourceforge.net/lists/listinfo/faudiostream-devel
145 https://lists.sourceforge.net/lists/listinfo/faudiostream-users