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 |
| bypass1to2 | ba.bypass1to2 |
Bypass switch for effect e having mono input signal and stereo output |
| cbus | si.cbus |
N parallel cables for complex signals |
| cconj | si.cconj |
Complex conjugation of a (complex) signal |
| cmul | si.cmul |
Multiply two complex signals pointwise |
| Count Down | ba.countdown |
Samples count down |
| Count Elements | ba.count |
Count elements in a list |
| Count Up | ba.countup |
Samples count up |
| Delay (Float) | de.fdelay |
Fractional delay |
| Delay (Integer) | de.delay |
Integer 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 | si.smooth |
Exponential smoothing with controllable pole |
| Smoother (Default) | si.smoo |
Exponential smoothing |
| 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 |
| Frequency ratio to semintones | ba.ratio2semi |
Converts a frequency multiplicative ratio in semitones |
| Hz to MIDI Key | ba.hz2midikey |
Converts a frequency into MIDI key number |
| Linear to dB | ba.linear2db |
Converts linear values to dB |
| MIDI Key to Hz | ba.midikey2hz |
Converts a MIDI key number into a frequency |
| Pole to T60 | ba.pole2tau |
Converts a pole into a time constant (t60) |
| 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 |
| T60 to Pole | ba.tau2pole |
Converts a time constant (t60) into a pole |
Effects
| Function Type | Function Name | Description |
|---|---|---|
| Auto Wah | ve.autowah |
Auto-Wah effect |
| Compressor | co.compressor_mono |
Dynamic range compressor |
| compressor_lad_mono | co.compressor_lad_mono |
Mono dynamic range compressor with lookahead delay |
| Crybaby | ve.crybaby |
Crybaby wah pedal |
| Distortion | ef.cubicnl |
Cubic nonlinearity distortion |
| Echo | ef.echo |
Simple echo |
| expander_N_chan | co.expander_N_chan |
Feed forward N channels dynamic range expander |
| expanderSC_N_chan | co.expanderSC_N_chan |
Feed forward N channels dynamic range expander with sidechain |
| FBcompressor_N_chan | co.FBcompressor_N_chan |
Feed back N channels dynamic range compressor |
| FBFFcompressor_N_chan | co.FBFFcompressor_N_chan |
Feed forward / feed back N channels dynamic range compressor |
| FFcompressor_N_chan | co.FFcompressor_N_chan |
Feed forward N channels dynamic range compressor |
| Flanger | pf.flanger_stereo |
Flanging effect |
| Gate | ef.gate_mono |
Mono signal gate |
| gate_stereo | ef.gate_stereo |
Stereo signal gates |
| Limiter | co.limiter_1176_R4_mono |
Limiter |
| Panner | sp.panner |
Linear stereo panner |
| Panner | sp.spat |
N outputs spatializer |
| peak_compression_gain_mono | co.peak_compression_gain_mono |
Mono dynamic range compressor gain computer with linear output |
| peak_compression_gain_mono_db | co.peak_compression_gain_mono_db |
Mono dynamic range compressor gain computer with dB output |
| peak_compression_gain_N_chan | co.peak_compression_gain_N_chan |
N channels dynamic range compressor gain computer with linear output |
| peak_compression_gain_N_chan_db | co.peak_compression_gain_N_chan_db |
N channels dynamic range compressor gain computer with dB output |
| peak_expansion_gain_N_chan_db | co.peak_expansion_gain_N_chan_db |
N channels dynamic range expander gain computer |
| Phaser | pf.phaser2_stereo |
Phaser effect |
| Pitch Shift | ef.transpose |
Simple pitch shifter |
| rEncoder3D | ho.rEncoder3D |
Ambisonic encoder in 3D including source rotation. A mono signal is encoded at at certain ambisonic order |
| 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 |
| RMS_compression_gain_mono | co.RMS_compression_gain_mono |
Mono RMS dynamic range compressor gain computer with linear output |
| RMS_compression_gain_mono_db | co.RMS_compression_gain_mono_db |
Mono RMS dynamic range compressor gain computer with dB output |
| RMS_compression_gain_N_chan | co.RMS_compression_gain_N_chan |
RMS N channels dynamic range compressor gain computer with linear output |
| RMS_compression_gain_N_chan_db | co.RMS_compression_gain_N_chan_db |
RMS N channels dynamic range compressor gain computer with dB output |
| RMS_FBcompressor_peak_limiter_N_chan | co.RMS_FBcompressor_peak_limiter_N_chan |
N channel RMS feed back compressor into peak limiter feeding back into the FB compressor |
| RMS_FBFFcompressor_N_chan | co.RMS_FBFFcompressor_N_chan |
RMS feed forward / feed back N channels dynamic range compressor |
| 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. |
| dcblocker | fi.dcblocker |
DC blocker. Default dc blocker has -3dB point near 35 Hz (at 44.1 kHz) |
| ff_comb | fi.ff_comb |
Feed-Forward Comb Filter. Note that ff_comb requires integer delays |
| Filterbank | fi.filterbank |
Generic filter bank |
| FIR (Arbitrary Order) | fi.fir |
Nth-order FIR filter |
| fx | fi.fx |
Default low shelf filter: 3rd-order Butterworth case of fi.lowshelf |
| 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 |
|---|---|---|
| CZhalfSine | os.CZhalfSine |
Oscillator that mimics the Casio CZ half sine oscillator |
| CZhalfSineP | os.CZhalfSineP |
Oscillator that mimics the Casio CZ half sine oscillator, |
| CZpulse | os.CZpulse |
Oscillator that mimics the Casio CZ pulse oscillator |
| CZpulseP | os.CZpulseP |
Oscillator that mimics the Casio CZ pulse oscillator, |
| CZresSaw | os.CZresSaw |
Oscillator that mimics the Casio CZ resonant sawtooth oscillator |
| CZresTrap | os.CZresTrap |
Oscillator that mimics the Casio CZ resonant trapeze oscillator |
| CZresTriangle | os.CZresTriangle |
Oscillator that mimics the Casio CZ resonant triangle oscillator |
| CZsaw | os.CZsaw |
Oscillator that mimics the Casio CZ saw oscillator |
| CZsawP | os.CZsawP |
Oscillator that mimics the Casio CZ saw oscillator, |
| CZsinePulse | os.CZsinePulse |
Oscillator that mimics the Casio CZ sine/pulse oscillator |
| CZsinePulseP | os.CZsinePulseP |
Oscillator that mimics the Casio CZ sine/pulse oscillator, |
| CZsquare | os.CZsquare |
Oscillator that mimics the Casio CZ square oscillator |
| CZsquareP | os.CZsquareP |
Oscillator that mimics the Casio CZ square oscillator, |
| Impulse | os.impulse |
Generate an impulse on start-up |
| Impulse Train | os.imptrain |
Band-limited impulse train |
| loop | so.loop |
Play a soundfile in a loop taking into account its sampling rate |
| loop_speed | so.loop_speed |
Play a soundfile in a loop taking into account its sampling rate, with speed control |
| loop_speed_level | so.loop_speed_level |
Play a soundfile in a loop taking into account its sampling rate, with speed and level controls |
| oscsin | os.oscsin |
Sine wave oscillator |
| 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 |
| popFilterDrum | sy.popFilterDrum |
A simple percussion instrument based on a "popped" resonant bandpass filter |