, open source
Posted in news
on Jul 22, 2011
Grame – Centre National de Creation Musicale – has released version 0.9.43 of Faust (Functional Audio Stream), a functional programming language specifically designed for real-time signal processing and synthesis.
This version provides a major reorganization of the architecture system for better modularity and Open Sound Control (OSC) support. The code generation has been improved and the compiler offers new output possibilities for example the complete graph of the internal signal expressions as a .dot (graphviz) file.
The libraries and the examples have been extended: Julius Smith’s libraries provides several new filters and effects (including various reverbs) and Romain Michon has ported the Synthesis Tool Kit (STK) to FAUST.
Faust is available to download under the GNU General Public License (GPL).
More information: Faust
, open source
Posted in news
on Jan 25, 2010
Grame, Centre National de Creation Musicale, has announced the release of Faust (Functional Audio Stream) 0.9.10, a functional programming language specifically designed for real-time signal processing and synthesis.
This version introduces several new possibilities. It is the first official release to offer full parallelization of the C++ code to exploit multicore architectures, as well as automatic generation of mathematical documentation.
New in Faust v0.9.10
- Several new options have been added to control how the C++ code is generated, in particular:
- control of the floating point precision : single (default), double, quad
- code re-organization in simple loops to facilitate automatic vectorization
- automatic parallelization based on OpenMP
- automatic parallelization based on a specific “Work-Stealing” algorithm
- Using formal methods the Faust compiler can automatically produce a complete mathematical documentation of a Faust program.
- Language Extensions
- Sequential composition operator (A:B) has been restricted to expressions so that outputs(A) = inputs(B). This restriction has several advantages. It improves error detection, makes the code easier to understand and provides nicer and simpler formal semantic ( A:B is B o A)
- User interface labels can now contain metadata. For example the label “volume[unit:dB][tooltip:control the output volume of the reverb]” contains two metadata, a unit definition and a tooltip message than can be exploited by an architecture file to fine tune the user interface.
- User interface labels can contain absolute and relative pathnames to better control the hierarchical structure of the user interface. For example the label “../volume” points to place the widget one group higher in the hierarchy.
- Several new audio architectures have been included, in particular Action Script, CoreAudio, CSOUND, Chuck, Pure, SND-RT, for a total of about 20 different plateforms now supported: Action Script, Alsa, ChucK, CoreAudio, CSOUND, Jack, LADSPA, Matlab, MaxMSP, Octave, OSS, PortAudio, Pure, PureData, Q, Sndfile, Snd-RT, SuperCollider, SynthFile, VST, VSTi (mono)
More information: Faust / Faust @ Sourceforge