Menu

Tree [e03385] master /
 History

HTTPS access


File Date Author Commit
 architecture 2016-05-19 Stephane Letz Stephane Letz [e03385] Add comments in min/max code generator.
 benchmark 2016-03-03 Stephane Letz Stephane Letz [1ffb90] Correct benchmark code on OSX.
 compiler 2016-05-19 Stephane Letz Stephane Letz [e03385] Add comments in min/max code generator.
 debian 2015-05-20 Albert Graef Albert Graef [0bbe67] Fix up Debian packaging rules, update Debian ch...
 documentation 2016-04-16 Stephane Letz Stephane Letz [0af665] Correct documentation.
 examples 2016-04-08 Stephane Letz Stephane Letz [ad030c] Add Vincent Rateau midi tester code, correct 'p...
 installer 2016-03-22 Yann Orlarey Yann Orlarey [ea6918] Added support for bela experimental midi branch...
 syntax-highlighting 2016-05-16 Yann Orlarey Yann Orlarey [d8ca6f] .lib extension added to atom/faust syntax
 tests 2014-10-09 Yann Orlarey Yann Orlarey [19d4d3] Script added to test the various faust2xxx scri...
 tools 2016-04-22 Stephane Letz Stephane Letz [bbfe39] API naming coherency.
 windows 2014-11-06 Sarah Denoux Sarah Denoux [fa52e2] solve previous bad commit from windows
 .gitignore 2012-05-12 Yann Orlarey Yann Orlarey [809a85] gitignore added
 COPYING 2005-06-28 Yann Orlarey Yann Orlarey [08654e] *** empty log message ***
 Makefile 2015-12-03 Stephane Letz Stephane Letz [16b9f6] iOS : remove OSC static libraries, put the sour...
 README 2015-05-26 Stephane Letz Stephane Letz [ec370d] Cleanup README.
 WHATSNEW 2015-10-17 Yann Orlarey Yann Orlarey [f1e2c6] Version set to 0.9.73

Read Me

	 		FAUST : a programming language for
	 		  audio applications and plugins
					==============
	 Grame, Centre National de Creation Musicale
	 			 http://www.grame.fr


1/ Introduction
----------------
FAUST (Functional Audio Stream) is a functional programming
language specifically designed for real-time signal processing and
synthesis. A distinctive characteristic of FAUST is to be fully
compiled. 

The FAUST compiler translates DSP specifications into
very efficient C++ code that works at sample level. It targets
high-performance signal processing applications, libraries and
audio plug-ins for a variety of audio platforms and standards. A
same FAUST specification can be used to easily generate native
JACK or ALSA applications, as well as CSOUND, LADSPA, MAX/MSP, PD,
Q, SC and VST plugins. 


2/ Organization of the distribution
-----------------------------------
The Faust distribution can be downloaded at:
	http://sourceforge.net/projects/faudiostream

It's organization is the following :

	architecture/          : the architecture files and libraries currently supported
	benchmark/             : tools to measure the impact of various compiler options
	compiler/              : sources of the Faust compiler
	documentation/         : Faust developer's documentation
	examples/              : examples of Faust programs with makefiles for various audio targets
	syntax-highlighting/   : support for syntax highlighting for several editors
	tools/                 : Additional easy-to-use scripts to produce binaries and plugins


3/ Compilation and installation
--------------------------------
To compile and install the Faust compiler on Linux and MacOSX : 

	make
	su
	make install
or
	sudo make install

It could be also useful to install additional tools, for example :

	cd tools/faust2appls/
	sudo make install

On Windows :

The first option is to use the Visual Studio 2008 solution
/faust/compiler/windows/faust_vs2008.sln. Open the solution with
the Visual Studio 2008 environment and run Build. Both
Debug/Release targets are supported.

The second solution is to download and install the QT4.6 SDK : 
	http://qt.nokia.com/downloads/sdk-windows-cpp
and use the project file 'compiler.pro' in the compiler folder.


2/ Compilation of the examples
-------------------------------
Several FAUST examples are provided in the example folder. To
compile and test the examples with Jack/GTK 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.

In order to compile your own applications, you can simply place you
files in the example folder and use the existing makefiles.

To list for possible audio targets :

	make help

About 20 different audio platforms are supported : 

- Action Script
- Alsa
- ChucK
- CoreAudio
- CSOUND
- iPhone
- Jack
- LADSPA
- Matlab
- MaxMSP
- Octave
- OSS
- PortAudio
- Pure
- PureData
- Q
- Sndfile
- Snd-RT
- SuperCollider
- SynthFile
- VST
- VSTi (mono)

For all these audio platforms you may have to install the related
SDK and/or development libraries.

4/ Acknowledgments
------------------

Many persons have been contributing to the FAUST project by
providing code for the compiler, architecture files, libraries,
examples, documentation, scripts, bug reports, ideas, etc. 

I would like to thank them and especially: Fons Adriaensen, Tiziano
Bole, Baktery Chanka, Thomas Charbonnel, Damien Cramet, Etienne
Gaudrin, Albert Graef, Stefan Kersten, Victor Lazzarini, Matthieu
Leberre, Mathieu Leroi, Kjetil Matheussen, Remy Muller, Sampo
Savolainen, Nicolas Scaringella, Stephen Sinclair, Travis Skare,
Julius Smith, as well as my colleagues at GRAME, in particular :
Dominique Fober, Stephane Letz and Karim Barkati, and from the
ASTREE project : Jerome Barthelemy (IRCAM), Alain Bonardi (IRCAM),
Raffaele Ciavarella (IRCAM), Pierre Jouvelot (Ecole des
Mines/ParisTech), Laurent Pottier (U. Saint-Etienne)


5/ Questions and suggestions
----------------------------

If you have questions suggestions and comments, or if you want to 
contribute to the project, two mailing lists are available:
https://lists.sourceforge.net/lists/listinfo/faudiostream-devel
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Yann Orlarey