FAUST

FAUST is a compiled language for real-time audio signal processing.
Download

FAUST Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Price:
  • FREE
  • Publisher Name:
  • FAUST Team
  • Publisher web site:
  • http://faust.grame.fr/

FAUST Tags


FAUST Description

FAUST is a compiled language for real-time audio signal processing. FAUST is a compiled language for real-time audio signal processing.The name FAUST stands for Functional AUdio STream. Its programming model combines two approaches : functional programming and block diagram composition. You can think of FAUST as a structured block diagram language with a textual syntax.What is FAUST intended for ?FAUST is intended for developers who need to develop efficient C/C++ audio plugins for existing systems or full standalone audio applications. Thanks to some specific compilation techniques and powerful optimizations, the C++ code generated by the Faust compiler is usually very fast. It can generally compete with (and sometimes outperform) hand-written C code.What does it look like ?Programming with FAUST is somehow like working with electronic circuits and signals. A FAUST program is a list of definitions that defines a signal processor block-diagram : a piece of code that produces output signals according to its input signals (and maybe some user interface parameters).How does it work ?Faust is a compiled language translated to C++. In order to generate the most efficient code, the compilation is based on a semantic approach. Instead of compiling directly the block-diagram as described by the user, the idea is to compile its mathematical meaning (what it actually computes).What's New in This Release:New architecture files : · vst2p4.cpp (VST-2.4 architecture file), · vsti-mono.cpp (mono VSTi synth architecture file),· matlabplot.cpp (architecture file to plot data in Matlab or Octave format).New scripts for a very easy generation of executable applications:· faust2alsa (call the faust compiler and g++ to produce an Alsa application), · faust2jack (call the faust compiler and g++ to produce a Jack application),· faust2plot (call the faust compiler and g++ to produce an plot application),· faust2svg (call the faust compiler to produce SVG block-diagrams),· faust2firefox,(faust2svg + display with firefox)· faust2octave (faust2plot + display with octave)New libraries :· filter.lib (Faust filters library)· effect.lib (Faust effects library)· faust2pd updated to Q 7.8, · Improved metadata management : tags are no more limited to a predifined set, metadata are now reported as comments in the generated C++ code· Support for new --simple-names option when drawing block-diagramsBugs fixed:· out-of-order generation of complex mutual recursions corrected· Lexer modified to support multiplateform end of line· Erroneous code sharing correctedAcknowledgments· We are grateful to all the contributors of this new release, with special mentions to Albert Graef and Julius O. Smith. Keep sending us remarks, suggestions, bug reports and contributions.What's New in This Release:· This release contains some extensions to the Faust language like the new fvariable declaration or the unary operator "-" with identifiers ("-x" is now allowed).· Several bugs have been corrected.· Some new architecture files are provided in particular for using Faust with snd-rt.· The effect and filter libraries have also been improved, and a new oscillator library is available.· The time to compile some very complex programs has been notably reduced.


FAUST Related Software