1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
FAUST : a programming language for
audio applications and plugins
==============
Grame, Centre National de Creation Musicale
http://www.grame.fr
1/ Introduction
----------------
Faust is a functional programming language specifically designed for realtime audio applications and plugins. The syntax of the language is block diagram oriented. The faust compiler translate signal processing specifications into optimized C++ code for signal processing applications.
The generated code can be wrapped into an 'architecture file' in order to create for example a standalone jack/gtk application, a VST plugin, etc. Several architecture file are provided and additional contributions are welcome.
2/ Organisation of the distribution
-----------------------------------
architecture : the architecture files currently supported
compiler : sources of the Faust compiler
examples : examples of Faust programs
syntax-highlighting : support for syntax highlighting for several editors
documentation : Faust developer's documentation
tools : Additional tools for pd and sc plugins
windows : Visual C++ project
3/ Compilation and installation
--------------------------------
There is no configuration phase. To compile and install the Faust compiler do :
make
su
make install
2/ Compilation of the examples
-------------------------------
Several faust examples are provided in the example folder. To compile and test the examples with Jack do :
cd examples
make jackgtk
This will create a subfolder jackgtkdir with all the jack applications. You can also create alsa applications (make alsagtk) as well as other formats.
The supported architectures are the following :
jack-gtk.cpp
jack-qt.cpp
alsa-gtk.cpp
alsa-qt.cpp
q.cpp
vst.cpp
ladspa.cpp
supercollider.cpp
max-msp.cpp
sndfile.cpp
Other architecture files are also available :
oss-gtk.cpp
plot.cpp
matlabplot.cpp
bench.cpp
oss-wx.cpp
minimal.cpp
pa-gtk.cpp
jack-wx.cpp
module.cpp
pa-wx.cpp
3/ Limitations
--------------
The SIMD code generator is outdated and will be replaced in future versions. The generation of postscript files (-ps) doesn't work very well and have to be updated
4/ Acknowledgments
------------------
Several persons have contributed to the project, in particular :
- Thomas Charbonnel
- Etienne Gaudrin
- Albert Graef
- Stefan Kersten
- Mathieu Leroi
- Remy Muller
- Nicolas Scaringella
as well as my colleagues Dominique Fober and Stephane Letz
5/ Questions and suggestions
----------------------------
If you have questions suggestions and comments, or if you want to contribute to the project, you can contact me by email : orlarey@grame.fr
Yann Orlarey
|