This catalog contains various audio applications written in Faust, a programming language for signal processing. For each application you can download a ready to use binary by choosing the appropriate architecture : jack, alsa, ladspa, Q, super collider, etc...

You can also very easily look at the original Faust code and at the C++ code generated by the Faust compiler by clicking on → code. This link brings you to the online Faust compiler where you can edit the Faust code and recompile it without even installing Faust on your computer.
For each application two other useful links are provided : → pdf gives you access to a small documentation, and on → svg lets you browse a block diagram representation of the application


bandfilter
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.
capture
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.
dbmeter
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.
echo
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%.
envelop
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.
freeverb
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.
karplus
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.
karplus32
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.
lowboost
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).
lowcut
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).
matrix
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.
mixer
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.
multibandfilter
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.
noise
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.
osc
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.
osci
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.
panpot
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.
pitch_shifter
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.
spat
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.
tapiir
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).
tester
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.
volume
gui
This function simply changes the volume of its input signal, and makes it its output signal.
vumeter
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.