Faust Libraries

The Faust libraries implement hundreds of DSP functions for audio processing and synthesis. They are organized by types in a set of .lib files (e.g., envelopes.lib, filters.lib, etc.).

This website serves as the main documentation of the Faust libraries. The main Faust website can be found at the following URL:


Using the Faust Libraries

The easiest and most standard way to use the Faust libraries is to import stdfaust.lib in your Faust code:


This will give you access to all the Faust libraries through a series of environments:

  • sf: all.lib
  • aa: aanl.lib
  • an: analyzers.lib
  • ba: basics.lib
  • co: compressors.lib
  • de: delays.lib
  • dm: demos.lib
  • dx: dx7.lib
  • en: envelopes.lib
  • fd: fds.lib
  • fi: filters.lib
  • ho: hoa.lib
  • it: interpolators.lib
  • ma: maths.lib
  • mi: mi.lib
  • ef: misceffects.lib
  • os: oscillators.lib
  • no: noises.lib
  • pf: phaflangers.lib
  • pm: physmodels.lib
  • qu: quantizers.lib
  • rm: reducemaps.lib
  • re: reverbs.lib
  • ro: routes.lib
  • si: signals.lib
  • so: soundfiles.lib
  • sp: spats.lib
  • sy: synths.lib
  • ve: vaeffects.lib
  • vl: version.lib
  • wa: webaudio.lib
  • wd: wdmodels.lib

Environments can then be used as follows in your Faust code:

process = os.osc(440);

In this case, we're calling the osc function from oscillators.lib.

You can also access all the functions of all the libraries directly using the sf environment:

process = sf.osc(440);

Alternatively, environments can be created by hand:

os = library("oscillators.lib");
process = os.osc(440);

Finally, libraries can be simply imported in the Faust code (not recommended):

process = osc(440);

Organization of This Documentation

The Overview tab in the upper menu provides additional information about the general organization of the libraries, licensing/copyright, and guidelines on how to contribute to the Faust libraries.

The Libraries tab contain the actual documentation of the Faust libraries.