The catalog contains a set of examples of Faust codes sorted in different categories. To use an example in the tab where you are located (Faust Code, C++ code, etc.), you can double click on it or press the "choose it" button in the description column.
Categories whose name start with "user" contains code examples saved by users. You can delete or modify these examples through the example saver.
In order to help us maintain a good order in the "user categories", you can "vote" for your favorite user examples just by clicking on the "Vote!" button in the description column.
Categories
Effects
Faust-STK
Synthesizers
Tools
userEffects
userSynthesizers
userTools
Description
gui
The process bandfilter is a classical second order filter. It is used to change the volume of a band of frequencies of the input signal located around a center frequency. The program allows to choose the width of the band (Q factor), the modification of the volume (Gain) , and the center frequency (freq). The higher Q factor is, the thinner the band is.
Description
Description
Description
Description
gui
This function adds echo to the input signal. You can choose the duration of the echo, from 0 to 1s by steps of 1ms, and the feedback percentage, from 0% to 100%.
Description
Description
Description
Description
gui
The freeverb function allows to simulate the sound reverberated by a room of a certain size, and to mix it with the original sound. It is based on a 8 parallel comb filters, plugged in a series of 4 allpass filters.
Description
Description
Description
gui
Graphic Equalizer: Each filter-bank output signal routes through a fader.
Description
gui
Second order shelving filter.
Description
gui
The process lowboost amplifies the frequencies of its input signal that are situated under a threshold frequency. In this function, the threshold frequency (or cut frequency) can be chosen in the whole audible range (from 20Hz to 20kHz).
Description
gui
The process lowcut lower the volume of the frequencies of its input signal that are situated under a threshold frequency. In this function, the threshold frequency (or cut frequency) can be chosen in the whole audible range (from 20Hz to 20kHz).
Description
gui
Moog "Voltage Controlled Filter" (VCF) in "analog" form
Moog VCF implemented using the same logical block diagram as the classic analog circuit. As such, it neglects the one-sample delay associated with the feedback path around the four one-poles. This extra delay alters the response, especially at high frequencies
https://ccrma.stanford.edu/~stilti/papers/moogvcf.pdf
Description
gui
Graphic Equalizer: Each filter-bank output signal routes through a fader
http://asa.aip.org/publications.html
Description
gui
The multibandfilter function is an evolution of bandfilter. It is in fact a series of filters with different center frequencies. That way, you can modify the signal range of frequencies by range of frequencies. Multibandfilter could also have been called equalizer.
Description
Description
Description
Description
Description
Description
gui
This function allows you to change the pitch of a signal. The pitch variation is expressed in semitones. pitch-shifter fragments the signal into small chunks stocked in buffers, and then reads those chunks faster or slower respectively to obtain higher or lower pitch. Besides, two buffers reading decayed chunks are crossfaded to smooth the signal.
Description
gui
A Feedback Delay Network (FDN).
Description
gui
A stereo smooth delay with a feedback control. This example shows how to use sdelay, a delay that doesn't click and doesn't transpose when the delay time is changed.
Description
gui
An half-octave spectrum analyzer.
Description
gui
A 1 second Stereo Echo.
Description
gui
Switch between two stereo sources. Useful to compare these two sources.
Description
gui
The tapiir program is a multitap delay program. It has a stereo input and a stereo output. Each channel of the stereo signal is sent to 6 independant delays, not necessarily with the same gain for each delay. Then, each delay output is sent to the 5 other delay input, and also to its own input (to provide feedback possibilities), and all volumes can be changed independantly. Finally, each delay output, and each input of the tapiir is connected to both channels of the stereo output of the tapiir, still with configurable volumes. A wide range of effect can be constructed out of this complex system of delays (feedback, echos, filters).
Description
gui
VCF and wah pedal effect.
Description
Description
Description
gui
A nonlinear version of the extended Karplus-Strong.
Description
gui
FM synthesizer implemented with a nonlinear passive allpass filter.
Description
gui
This object implements a helmholtz resonator (biquad filter) with a polynomial jet excitation (a la Cook).
Description
gui
A clarinet model, with the addition of a two-port register hole and a three-port dynamic tonehole implementation, as discussed by Scavone and Cook (1998). In this implementation, the distances between the reed/register hole and tonehole/bell are fixed. As a result, both the tonehole and register hole will have variable influence on the playing frequency, which is dependent on the length of the air column. In addition, the highest playing freqeuency is limited by these fixed lengths.
Description
gui
A bowed string model, a la Smith (1986), after McIntyre, Schumacher, Woodhouse (1983).
Description
gui
A simple brass instrument waveguide model, a la Cook (TBone, HosePlayer).
Description
gui
A simple clarinet physical model, as discussed by Smith (1986), McIntyre, Schumacher, Woodhouse (1983), and others.
Description
gui
A simple flute based on Smith's algorythm.
Description
gui
A simple flute physical model, as discussed by Karjalainen, Smith, Waryznyk, etc. The jet model uses a polynomial, a la Cook.
Description
gui
This instrument uses banded waveguide. For more information, see Essl, G. and Cook, P. Banded Waveguides: Towards Physical Modelling of Bar Percussion Instruments, Proceedings of the 1999 International Computer Music Conference.
Description
gui
This class implements a hybrid digital waveguide instrument that can generate a variety of wind-like sounds. It has also been referred to as the blowed string model. The waveguide section is essentially that of a string, with one rigid and one lossy termination. The non-linear function is a reed table. The string can be blown at any point between the terminations, though just as with strings, it is impossible to excite the system at either end. If the excitation is placed at the string mid-point, the sound is that of a clarinet. At points closer to the bridge, the sound is closer to that of a saxophone. See Scavone (2002) for more details.
Description
gui
This instrument implements a sitar plucked string physical model based on the Karplus-Strong algorithm using a randomly modulated delay line.
Description
gui
This instrument uses banded waveguide. For more information, see Essl, G. and Cook, P. Banded Waveguides: Towards Physical Modelling of Bar Percussion Instruments, Proceedings of the 1999 International Computer Music Conference.
Description
gui
This instrument uses banded waveguide. For more information, see Essl, G. and Cook, P. Banded Waveguides: Towards Physical Modelling of Bar Percussion Instruments, Proceedings of the 1999 International Computer Music Conference.
Description
gui
This instrument uses banded waveguide. For more information, see Essl, G. and Cook, P. Banded Waveguides: Towards Physical Modelling of Bar Percussion Instruments, Proceedings of the 1999 International Computer Music Conference.
Description
gui
karplus imitates the sound produced by a string excitation. The excitation is then passed through a resonator which parameters (reverberation time, and efficency) can be chosen to modify the final sound.
Description
gui
karplus32 is an enriched version of karplus (so to understand the working of karplus32, please start by reading the explanations for karplus), with 32 resonators in parallel, instead of one resonator only. This resonator network has a detuning function that allows to attribute to each resonator a different reverberation time.
Description
gui
The noise generator is very usefull; it gives random values to each sample of its output signal so that this signal ideally has a flat frequency spectrum, and can be used fot instance to test filters.
Description
gui
The osc function generates a sinusoidal signal at the frequency indicated by the slider. Frequencies from 0Hz up to 24000Hz can be generated. You can also choose the volume of the signal. This oscillator approximates the value of each sample to its integer value. For a more precise oscillator (with linear interpolation), see the osci function.
Description
gui
The function osci generates a sinusoidal signal at the frequency indicated by the slider. Frequencies from 0Hz up to 24000Hz can be generated. You can also choose the volume of the signal.This oscillator performs approximations of the sin function using linear interpolations, which are more precise than the approximations used in the osc function.
Description
gui
Sinusoidal oscillator based on 2D vector rotation
https://ccrma.stanford.edu/~jos/pasp/Normalized_Scattering_Junctions.html
Description
gui
Pink noise (1/f noise) generator (third-order approximation)
https://ccrma.stanford.edu/~jos/sasp/Example_Synthesis_1_F_Noise.html
Description
gui
Sawtooth Oscillator
Description
gui
The capture function allows you to record up to 8s of mono signal. It then loops it until you record another sequence, or leave the program. You can also choose the volume of the playback moving the horizontal slider.
Description
gui
The dbmeter is a tool that shows in a bar graph the level of the signal it is analysing. The level expressed in dB, can move from -96 up to +10.
Description
gui
This function generates a white noise formed by an envelop. The noise is sustained as long as you push the "play" button. Several parameters are used to shape the envelop; the attack length, the decay duration, the sustain volume percentage, and the release duration.
Description
gui
This program is an 8*8 audio matrix. Each output is a mixer in which you can set individually the volume of the 8 inputs. Then you can use separately the 8 outputs.
Description
gui
This function allows the user to mix an 8 channel signals into a stereo (2 outputs) signal. Each input is provided with a VUmeter which shows its level, a pan button which shares out the signal between the two output channels, and a checkbox which allows to mute it.
Description
gui
Spectral Level: Display (in bar graphs) the average signal level in each spectral band.
Description
gui
This function is the same than the balance button on an stereo audio system. It shares out the signal volume between the two channels. Negative values give a louder volume in output 0, than in output 1 and the opposit occurs with positive values.
Description
gui
This program is an 8 voices spatializer. It is made to be used with a set of 8 loudspeaker, in order to calculate the output volume of each loudspeaker that will give to the listener the feeling that the source is located at a certain distance, and emitting with a certain angle. Those distances and angles can be selected with sliders.
Description
gui
The tester function allows you to send 3 different kinds of signal (white noise, pink noise or a sine wave with a chosen frequency) to 8 different chanels, at the volume you desire. As its names suggests it, you can for instance useit to test or configure a set of 8 loudspeakers.
Description
gui
This function simply changes the volume of its input signal, and makes it its output signal.
Description
gui
This function, as implied by its name, is a VUmeter. It shows the volume of its input signal. The output signal is strictly the same as the input.
Description
gui
by HarryVanHaaren: A simple amplitude modulation sketch.
Voted: 1
Description
gui
by Mayank Sanganeria: Mayank Sanganeria - Granulator
Voted: 1
Description
gui
by Romain Michon: Add two signals together.
Voted: 5
Description
gui
by Christophe Lebreton: This example include some metadata for iOS and Android sensors.
Voted: 1
Description
gui
by nmsh: A simple tutorial how to include libraries, use the "oscillator.lib" saw1 generator, and apply an ADSR from "music.lib".
Voted: 1
Description
gui
by pied: A simple tutorial how to include libraries, use the "oscillator.lib" saw1 generator, and apply an ADSR from "music.lib".
Voted: 1
Description
gui
by HarryVanHaaren: Square wave generator tutorial from the Faust Tutorial.pdf
Voted: 0
Description
gui
by Baptiste Chatel: Adjust middle and side gains of a stereo input.
Voted: 2
Description
gui
by Romain Michon: Multiply two signals together.
Voted: 6
Description
gui
by Harry van Haaren: Simple amplifier tutorial
Voted: 0
Description
gui
by Harry van Haaren: Delay line, mixed with original. Has variable delay amplitude.
Voted: 1
Description
Description of the selected item...
With the example saver, you can add your own Faust code to the catalog.
This might sounds obvious but the first thing you need to do is to write some code in the code edition area. Then, you have to choose a name for your example. You must also provide your name, your e-mail address, the category where you want your example to be saved and optionally a descirption and a screenshot of it (.png or .jpg). If the name you choosed is already used by another example in the category where you want to save your code, the existing example will be erased and replaced by yours. You will be then listed as an "editor" of this example and you will receive an e-mail everytime it is modified by someone else.
Please, in order to avoid the catalog to become too messy, be very cautious when saving your examples: choose relevant names and try not to submit code having the same goal than an example already present in the catalog.
You can help us to maintain a good order in the "user categories" by "voting" for your favorite user examples in the catalog.
* * *
Screenshot Picture: Choose a category: *Required fields
Drop your .dsp file here (Firefox and Google Chrome only) or write your Faust code below
Welcome on the Faust online compiler! With this tool, you can use most of Faust's features directly in your web browser. It makes it possible to compile any Faust code as a C++ code, to see its diagram representation as well as its automatically generated docuementation. Most of Faust's architectures can be used and compiled whether from the online compiler for different platforms, whether from your own system even without having Faust installed just by downloading a package.
You'll find in the catalog section many examples of Faust codes directly usable with the compiler.
Finally, you can add your own examples to the catalog through the "example saver".

Enjoy!

Other Topics:
- Compiler Help
- Example Saver Help
- Catalog Help