Standard Functions - Faust Libraries

# 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

#### Search

From here you can search these documents. Enter your search terms below.

#### Keyboard Shortcuts

Keys | Action
--- | ---
`?` | Open this help
`n` | Next page
`p` | Previous page
`s` | Search