Standard Functions

Dozens of functions are implemented in the Faust libraries and many of them are very specialized and not useful to beginners or to people who only need to use Faust for basic applications. This section offers an index organized by categories of the "standard Faust functions" (basic filters, effects, synthesizers, etc.). This index only contains functions without a user interface (UI). Faust functions with a built-in UI can be found in demos.lib.

Analysis Tools

Function Type Function Name Description
Amplitude Follower an.amp_follower Classic analog audio envelope follower
Octave Analyzers an.mth_octave_analyzer[N] Octave analyzers

Basic Elements

Function Type Function Name Description
Beats ba.beat Pulses at a specific tempo
Block si.block Terminate n signals
Break Point Function ba.bpf Beak Point Function (BPF)
Bus si.bus Bus of n signals
Bypass (Mono) ba.bypass1 Mono bypass
Bypass (Stereo) ba.bypass2 Stereo bypass
Count Elements ba.count Count elements in a list
Count Down ba.countdown Samples count down
Count Up ba.countup Samples count up
Delay (Integer) de.delay Integer delay
Delay (Float) de.fdelay Fractional delay
Down Sample ba.downSample Down sample a signal
Impulsify ba.impulsify Turns a signal into an impulse
Sample and Hold ba.sAndH Sample and hold
Signal Crossing ro.cross Cross n signals
Smoother (Default) si.smoo Exponential smoothing
Smoother si.smooth Exponential smoothing with controllable pole
Take Element ba.take Take en element from a list
Time ba.time A simple timer

Conversion

Function Type Function Name Description
dB to Linear ba.db2linear Converts dB to linear values
Linear to dB ba.linear2db Converts linear values to dB
MIDI Key to Hz ba.midikey2hz Converts a MIDI key number into a frequency
Hz to MIDI Key ba.hz2midikey Converts a frequency into MIDI key number
Pole to T60 ba.pole2tau Converts a pole into a time constant (t60)
T60 to Pole ba.tau2pole Converts a time constant (t60) into a pole
Samples to Seconds ba.samp2sec Converts samples to seconds
Seconds to Samples ba.sec2samp Converts seconds to samples
Semitones to Frequency ratio ba.semi2ratio Converts semitones in a frequency multiplicative ratio
Frequency ratio to semintones ba.ratio2semi Converts a frequency multiplicative ratio in semitones

Effects

Function Type Function Name Description
Auto Wah ve.autowah Auto-Wah effect
Compressor co.compressor_mono Dynamic range compressor
Distortion ef.cubicnl Cubic nonlinearity distortion
Crybaby ve.crybaby Crybaby wah pedal
Echo ef.echo Simple echo
Flanger pf.flanger_stereo Flanging effect
Gate ef.gate_mono Mono signal gate
Limiter co.limiter_1176_R4_mono Limiter
Phaser pf.phaser2_stereo Phaser effect
Reverb (FDN) re.fdnrev0 Feedback delay network reverberator
Reverb (Freeverb) re.mono_freeverb Most "famous" Schroeder reverberator
Reverb (Simple) re.jcrev Simple Schroeder reverberator
Reverb (Zita) re.zita_rev1_stereo High quality FDN reverberator
Panner sp.panner Linear stereo panner
Pitch Shift ef.transpose Simple pitch shifter
Panner sp.spat N outputs spatializer
Speaker Simulator ef.speakerbp Simple speaker simulator
Stereo Width ef.stereo_width Stereo width effect
Vocoder ve.vocoder Simple vocoder
Wah ve.wah4 Wah effect

Envelope Generators

Function Type Function Name Description
ADSR en.adsr Attack/Decay/Sustain/Release envelope generator
AR en.ar Attack/Release envelope generator
ASR en.asr Attack/Sustain/Release envelope generator
Exponential en.smoothEnvelope Exponential envelope generator

Filters

Function Type Function Name Description
Bandpass (Butterworth) fi.bandpass Generic butterworth bandpass
Bandpass (Resonant) fi.resonbp Virtual analog resonant bandpass
Bandstop (Butterworth) fi.bandstop Generic butterworth bandstop
Biquad fi.tf2 "Standard" biquad filter
Comb (Allpass) fi.allpass_fcomb Schroeder allpass comb filter
Comb (Feedback) fi.fb_fcomb Feedback comb filter
Comb (Feedforward) fi.ff_fcomb Feed-forward comb filter.
DC Blocker fi.dcblocker Default dc blocker
Filterbank fi.filterbank Generic filter bank
FIR (Arbitrary Order) fi.fir Nth-order FIR filter
High Shelf fi.high_shelf High shelf
Highpass (Butterworth) fi.highpass Nth-order Butterworth highpass
Highpass (Resonant) fi.resonhp Virtual analog resonant highpass
IIR (Arbitrary Order) fi.iir Nth-order IIR filter
Level Filter fi.levelfilter Dynamic level lowpass
Low Shelf fi.low_shelf Low shelf
Lowpass (Butterworth) fi.lowpass Nth-order Butterworth lowpass
Lowpass (Resonant) fi.resonlp Virtual analog resonant lowpass
Notch Filter fi.notchw Simple notch filter
Peak Equalizer fi.peak_eq Peaking equalizer section

Oscillators/Sound Generators

Function Type Function Name Description
Impulse os.impulse Generate an impulse on start-up
Impulse Train os.imptrain Band-limited impulse train
Phasor os.phasor Simple phasor
Pink Noise no.pink_noise Pink noise generator
Pulse Train os.pulsetrain Band-limited pulse train
Pulse Train (Low Frequency) os.lf_imptrain Low-frequency pulse train
Sawtooth os.sawtooth Band-limited sawtooth wave
Sawtooth (Low Frequency) os.lf_saw Low-frequency sawtooth wave
Sine (Filter-Based) os.oscs Sine oscillator (filter-based)
Sine (Table-Based) os.osc Sine oscillator (table-based)
Square os.square Band-limited square wave
Square (Low Frequency) os.lf_squarewave Low-frequency square wave
Triangle os.triangle Band-limited triangle wave
Triangle (Low Frequency) os.lf_triangle Low-frequency triangle wave
White Noise no.noise White noise generator

Synths

Function Type Function Name Description
Additive Drum sy.additiveDrum Additive synthesis drum
Bandpassed Sawtooth sy.dubDub Sawtooth through resonant bandpass
Comb String sy.combString String model based on a comb filter
FM sy.fm Frequency modulation synthesizer
Lowpassed Sawtooth sy.sawTrombone "Trombone" based on a filtered sawtooth
Popping Filter sy.popFilterPerc Popping filter percussion instrument