Every Unit Generator in Phausto, grouped by family, with the class it inherits from and what it does. 534 classes are catalogued here — use the filter to search them.
traceAllParams to see what it exposes.
1. Oscillators 42
Periodic signal sources: the classic four shapes, wavetable oscillators, the Casio CZ phase-distortion set, and the LFO family used for modulation.
| Class | Inherits from | Description |
|---|---|---|
| CasioCZOscillators | UnitGenerator | Super class for Oscillators that mimic the Casio CZ oscillators. |
| CosWaveform | WaveTableBasedOscillators | Cosine waveform ready to use with a rdtable. |
| CZhalfSine | CasioCZOscillators | Oscillator that mimics the Casio CZ half sine oscillator |
| CZhalfSineP | CasioCZOscillators | Oscillator that mimics the Casio CZ half sine oscillator, with it's phase aligned to fund:sin. |
| CZpulse | CasioCZOscillators | Oscillator that mimics the Casio CZ pulse oscillator. |
| CZpulseP | CasioCZOscillators | Oscillator that mimics the Casio CZ pulse oscillator, with it's phase aligned to fund:sin. |
| CZresSaw | CasioCZOscillators | Oscillator that mimics the Casio CZ resonant sawtooth oscillator. |
| CZresTrap | CasioCZOscillators | Oscillator that mimics the Casio CZ resonant trapeze oscillator. |
| CZresTriangle | CasioCZOscillators | Oscillator that mimics the Casio CZ resonant triangle oscillator. |
| CZsaw | CasioCZOscillators | Oscillator that mimics the Casio CZ saw oscillator. |
| CZsawP | CasioCZOscillators | Oscillator that mimics the Casio CZ saw oscillator, with it's phase aligned to fund:sin |
| CZsinePulse | CasioCZOscillators | Oscillator that mimics the Casio CZ sine/pulse oscillator. |
| CZsinePulseP | CasioCZOscillators | Oscillator that mimics the Casio CZ sine/pulse oscillator, with it's phase aligned to fund:sin. |
| CZsquare | CasioCZOscillators | Oscillator that mimics the Casio CZ square oscillator |
| CZsquareP | CasioCZOscillators | Oscillator that mimics the Casio CZ square oscillator, with it's phase aligned to fund:sin. |
| HsOscCos | Oscillator | Wave-Table-Based Sine wave oscillator with hard syncing phase |
| HsOscSin | Oscillator | Wave-Table-Based Sine wave oscillator with hard syncing phase |
| HsPhasor | Phasor | Hardsyncing phasor to be used with a rdtable. |
| HspPhasor | HsPhasor | Hardsyncing phasor to be used with a rdtable. |
| LFO | Oscillator | Do not use this superclass directly; it exists only for grouping and establishing a basic inheritance chain. |
| LFOForModulation | LFO | LFOForModulation are oscillators with no aliasing suppression intended to be used for modulating parameters, with positive range. |
| LFOSaw | LFO | Simple sawtooth waveform oscillator between -1 and 1. |
| LFOSawPos | LFOForModulation | Simple sawtooth waveform oscillator between 0 and 1. |
| LFOSquare | LFO | Zero-mean unit-amplitude LFO square wave withrange -1 1. |
| LFOSquarePos | LFOForModulation | Positive LFO square wave in [0,1]. |
| LFOTri | LFO | LowFrequency triangle wave from the Faust Standard Library |
| LFOTriPos | LFOForModulation | Positive unit-amplitude LF triangle wave from the Faust Standard Library |
| OscCos | Oscillator | Wave-Table-Based Sine wave oscillator. |
| OscCosM | Oscillator | Sine Wave-Table-Based oscillator based on the cos mathematical function. |
| OscI | Oscillator | Interpolated phase sine Wave-Table-Based oscillator. |
| Oscillator | UnitGenerator | This class contains a collection of Oscllators taken from the Faust [oscillators.lib](https://faustlibraries.grame.fr/libs/oscillators/). |
| OscP | Oscillator | Wave-Table Based sine wave generator with controllable phase |
| OscSin | Oscillator | Wave-Table-Based Cosine wave oscillator |
| OscSinM | Oscillator | Sine Wave-Table-Based oscillator based on the sin mathematical function. |
| Phasor | WaveTableBasedOscillators | A simple phasor to be used with a rdtable. |
| PulseOsc | Oscillator | Alias-suppressed pulse train oscillator with a duty-cycle control. |
| SawOsc | Oscillator | Alias-suppressed sawtooth oscillator, sawtooth is a standard Faust function. |
| SineOsc | Oscillator | Default Sine Wave-Table-Based Oscillator |
| SinWaveform | WaveTableBasedOscillators | Sine waveform ready to use with a rdtable. |
| SquareOsc | Oscillator | Alias-suppressed square wave oscillator. |
| TriOsc | Oscillator | Alias-suppressed triangle wave oscillator. |
| WaveTableBasedOscillators | UnitGenerator | Abstract superclass for Wave-Table-Based Oscillators from Faust standard libraries |
2. Noise 4
Aperiodic sources. The starting point for percussion, wind and breath, and for any subtractive patch that needs a dense spectrum.
| Class | Inherits from | Description |
|---|---|---|
| ColoredNoise | UnitGenerator | Generates a colored noise signal with an arbitrary spectral roll-off factor (alpha) over the entire audible frequency range (20-20000 Hz). |
| Noise | UnitGenerator | Phaust noise generators superclass, taken from Faust [noises.lib](https://faustlibraries.grame.fr/libs/noises/) Creating an instance of this class generates a white noise. |
| PinkNoise | Noise | Pink noise (1/f noise) generator (third-order approximation covering the audio band well). |
| SparseNoise | Noise | Sparse noise generator. |
3. Envelopes 13
Non-periodic control shapes triggered by a gate. See the Envelopes & Modulation guide for how the stages behave.
| Class | Inherits from | Description |
|---|---|---|
| ADSREnv | PhEnvelope | ADSR (Attack, Decay, Sustain, Release) exponential envelope generator. |
| ADSREnvBias | PhEnvelope | ADSR (Attack, Decay, Sustain, Release) envelope generator with control over bias on each segment, and toggle for legato. |
| ADSRExpEnv | PhEnvelope | ADSR (Attack, Decay, Sustain, Release) exponential envelope generator. |
| ADSRFEnvBias | PhEnvelope | ADSR (Attack, Decay, Sustain, Release) envelope generator with control over bias on each segment, and toggle for legato. |
| AHDSREnvBias | PhEnvelope | ADSR (Attack, Hold, Decay, Sustain, Release) envelope generator with control over bias on each segment, and toggle for legato. |
| AHDSRExpEnv | PhEnvelope | AHDSR (Attack, Hold, Decay, Sustain, Release) envelope generator. |
| AHDSRFEnvBias | PhEnvelope | AHDSR (Attack, Hold, Decay, Sustain, Release) envelope generator with control over bias on each segment, and toggle for legato. |
| AREnv | PhEnvelope | AR (Attack, Release) envelope generator (useful to create percussion envelopes). |
| ARFExpEnv | PhEnvelope | ARFE (_Attack and Release-to-Final-value Exponentially_) envelope generator. |
| ASREnv | PhEnvelope | ASR (Attack, Sustain, Release) envelope generator |
| ASRExpEnv | PhEnvelope | ASRE (Attack, Sustain, Release) envelope generator with exponential segments |
| PhEnvelope | UnitGenerator | Am the superclass for all Phausto envelopes. |
| SmoothEnv | PhEnvelope | An envelope with an exponential Attack and Release time. |
4. Filters 60
The largest family: virtual-analogue ladders, state-variable sections, comb and allpass filters, EQ, and the primitive one-pole and one-zero sections. See Filters.
| Class | Inherits from | Description |
|---|---|---|
| Allpass_Comb | CombFilters | Schroeder Allpass Comb Filter. |
| Allpass_FComb | CombFilters | Schroeder Allpass Comb Filter. |
| Allpass_FComb1a | CombFilters | Schroeder Allpass Comb Filter. |
| Allpass_FComb5 | CombFilters | Schroeder Allpass Comb Filter. |
| ButterworthLPHP | PhFilter | The Butterworth filter is a type of signal processing filter designed to have a frequency response that is as flat as possible in the passband. |
| CombFilters | PhFilter | Colllection of Comb Filters from the Faust Library In signal processing, a comb filter is a filter implemented by adding a delayed version of a signal to itself, causing constructive and… |
| DcBlocker | PhFilter | DC blocker. |
| DcBlockerAt | PhFilter | DC blocker with configurable "break frequency". |
| DiodeLadder | MKOFilter | 4th order virtual analog diode ladder filter. |
| Fb_Comb | CombFilters | Feed-Back Comb Filter (integer delay). |
| Fb_FComb | CombFilters | Feed-Back Comb Filter (float delay). |
| FbCombFilter | CombFilters | Other special cases of Feed-Back Comb Filter. |
| Ff_Comb | CombFilters | Feed-Forward Comb Filter. |
| Ff_FComb | CombFilters | Feed-Forward Comb Filter. |
| FfbCombFilter | CombFilters | Other special cases of Feed-Back Comb Filter. |
| FfCombFilter | CombFilters | Typical special case of ff_comb() where: b0 = 1. |
| HighPass | ButterworthLPHP | Nth-order Butterworth highpass filter |
| Integrator | PhFilter | Same as pole(1) [implemented separately for block-diagram clarity]. |
| Korg35HPF | MKOFilter | Virtual analog models of the Korg 35 high-pass filter found in the MS-10 and MS-20 synthesizers. |
| Korg35LPF | MKOFilter | Virtual analog models of the Korg 35 low-pass filter found in the MS-10 and MS-20 synthesizers. |
| Lowpass | ButterworthLPHP | Nth-order Butterworth lowpass filter A low-pass filter is a filter that passes signals with a frequency lower than a selected cutoff frequency and attenuates signals with frequencies… |
| MKOFilter | PhFilter | Collection of Moog, Korg , Oberheim style filters where: |
| MoogHalfLadder | MKOFilter | Virtual analog model of the 2nd-order Moog Half Ladder (simplified version of (ve.)moogLadder). |
| MoogLadder | MKOFilter | Virtual analog model of the 4th-order Moog Ladder, which is arguably the most well-known ladder filter in analog synthesizers. |
| MoogVcf | MKOFilter | Moog "Voltage Controlled Filter" (VCF) in "analog" form. |
| Oberheim | MKOFilter | Generic multi-outputs Oberheim filter that produces the BSF, BPF, HPF and LPF outputs (see description above). |
| OberheimBPF | MKOFilter | Band-Pass Oberheim filter (see description above). |
| OberheimBSF | MKOFilter | Band-Stop Oberheim filter (see description above). |
| OberheimHPF | MKOFilter | High-Pass Oberheim filter (see description above). |
| OberheimLPF | MKOFilter | Low-Pass Oberheim filter (see description above). |
| PhAvgRect | PhFilter | Moving average. |
| PhAvgT19 | PhAvgRect | Averaging function based on a one-pole filter and the t19 response time. |
| PhAvgT60 | PhAvgRect | Averaging function based on a one-pole filter and the t60 response time. |
| PhAvgTau | PhAvgRect | Averaging function based on a one-pole filter and the tau response time. |
| PhDcBlockerAt | PhFilter | DC blocker with configurable "break frequency". |
| PhFilter | UnitGenerator | In signal processing, a filter is a process or device that removes frequencies from a signal. |
| PhHighShelf | PhFilter | First-order "high shelf" filter (gain boost|cut between dc and some freque |
| PhIIR | PhFilter | Nth-order Infinite-Impulse-Response (IIR) digital filter, implemented in terms of the Transfer-Function (TF) coefficients. |
| PhIntegrator | PhFilter | Integrator Same as pole(1) [implemented separately for block-diagram clarity]. |
| PhLowShelf | PhFilter | First-order "low shelf" filter (gain boost|cut between dc and some freque |
| PhLpT19 | PhLpTau | One-pole lowpass with a T19 time constant (approx. |
| PhLpT60 | PhLpTau | One-pole lowpass with a T60 time constant (60 dB attenuation after tN seconds). |
| PhLpTau | PhFilter | One-pole lowpass with a tau time constant (1/e attenuation after tN seconds). |
| PhLptN | PhFilter | One-pole lowpass filter with arbitrary dis/charging factors set in dB and times set in seconds. |
| PhOneZero | PhFilter | One zero filter. |
| PhPeakEq | PhFilter | Second order "peaking equalizer" section (gain boost or cut near some frequency) Also called a "parametric equalizer" section. |
| PhPeakEqCq | PhFilter | Constant-Q second order peaking equalizer section. |
| PhPeakEqRm | PhFilter | Regalia-Mitra second order peaking equalizer section. |
| PhPole | PhFilter | One zero filter. |
| PhResonBp | ResonatorFilter | Simple resonant bandpass filters based on tf2s (virtual analog). |
| PhResonHp | ResonatorFilter | Class: ResonBp Simple resonant highpass filters based on tf2s (virtual analog). |
| PhResonLp | ResonatorFilter | Class: ResonBp Simple resonant lowpass filters based on tf2s (virtual analog). |
| PhStateVariableFilter | PhFilter | Super class for all SVF filters |
| PhSvfBp | PhStateVariableFilter | Notch SVF |
| PhSvfHp | PhStateVariableFilter | Highpass SVF |
| PhSvfLp | PhStateVariableFilter | Lowpass SVF |
| PhSvfNotch | PhStateVariableFilter | Bandpass SVF |
| PhSvfPeak | PhStateVariableFilter | Peak SVF filter |
| PhZero | PhFilter | One zero filter. |
| ResonatorFilter | PhFilter | Simple resonant filters based on tf2s (virtual analog). |
5. Effects 47
Delays, saturation, modulation effects, wah and the seven reverbs. See Effects, Reverbs & Dynamics.
| Class | Inherits from | Description |
|---|---|---|
| ArcTan | Saturators | First-order ADAA atan() saturator. |
| ArcTan2 | Saturators | Second-order ADAA atan() saturator. |
| ASinh1 | Saturators | First-order ADAA asinh() saturator (unbounded). |
| ASinh2 | Saturators | Second-order ADAA asinh() saturator (unbounded). |
| AutoWah | PhMonoEffect | Auto-wah effect from Faust Virtual Analog Effect Library, where level is amount of effect desired (0 to 1). |
| CryBaby | PhMonoEffect | Digitized CryBaby wah pedal. |
| Cubic1 | Saturators | First-order ADAA cubic saturator. |
| CubicNl | PhMonoEffect | Cubic Non Linearity Distortion |
| DattorroRev | Reverbs | Reverberator based on the Dattorro reverb topology. |
| DopplerShift | PhMonoEffect | Pitch shifter for signals with known fundamental frequency. |
| DryWetMonoMixer | UnitGenerator | Linear mono dry-wet mixer, implemented in Phausto, not coming from Faust standard library |
| DryWetStereoMixer | UnitGenerator | Linear mono dry-wet mixer, implemented in Phausto, not coming from Faust standard library |
| FreeverbMono | Reverbs | A simple Schroeder reverberator primarily developed by "Jezar at Dreampoint" that is extensively used in the free-software world. |
| GreyHole | Reverbs | A complex echo-like effect (stereo in/out), inspired by the classic Eventide effect of a similar name. |
| Hardclip | Saturators | First-order ADAA hard-clip. |
| Hardclip2 | Saturators | Second-order ADAA hard-clip. |
| Hyperbolic | Saturators | First-order ADAA hyperbolic saturator. |
| Hyperbolic2 | Saturators | Second-order ADAA hyperbolic saturator. |
| JpVerb | Reverbs | An algorithmic reverb (stereo in/out), inspired by the lush chorused sound of certain vintage Lexicon and Alesis reverberation units. |
| Panner | PhSpatials | A simple linear stereo panner. |
| Parabolic | Saturators | First-order ADAA parabolic saturator. |
| Parabolic2 | Saturators | Second-order ADAA parabolic saturator. |
| PhClip | Saturators | Clip the value of the input signal between min and max |
| PhDelays | PhMonoEffect | A collection of delays from Faust delays.lib. |
| PhEcho | PhMonoEffect | A simple echo effect. |
| PhFibonacci | PhMonoEffect | Fibonacci system where the current output is the current input plus the sum of the previous N outputs. |
| PhFlangerMono | PhMonoEffect | Mono flanging effect. |
| PhFractionalDelay | PhDelays | Simple d samples fractional delay based on 2 interpolated delay lines where n is the maximum delay length as a number of samples. |
| PhMonoEffect | UnitGenerator | Abstract superclass for mono effects |
| PhSimpleDelay | PhDelays | Simple d samples delay where n is the maximum delay length as a number of samples. |
| PhSmoothDelay | PhDelays | S(mooth)delay: a mono delay that doesn't click and doesn't transpose when the delay time is changed. |
| PhSpatials | PhMonoEffect | Subclasse of Spatials are tools for sound spatialization. |
| PhSpeakerBp | PhMonoEffect | Dirt-simple speaker simulator (overall bandpass eq with observed roll-offs above and below the passband). |
| PhTranspose | PhMonoEffect | A simple pitch shifter based on 2 delay lines. |
| PhWah | PhMonoEffect | Wah effect, 4th order |
| PhWavefold | Saturators | Wavefolding is a type of distortion synthesis that alters the shape of a waveform, creating complex spectra from simple tones. |
| Reverbs | UnitGenerator | A collection of Envelopes from the Faust envelopes.lib |
| SatRev | Reverbs | This artificial reverberator take a mono signal and output a stereo signal. |
| Saturators | PhMonoEffect | Saturators, are effect that distort the input signal |
| SinArcTan | Saturators | First-order ADAA sin(atan()) saturator. |
| SinArcTan2 | Saturators | Second-order ADAA sin(atan()) saturator. |
| SoftClipQuadratic | Saturators | Quadratic softclip nonlinearity. |
| SoftClipQuadratic1 | Saturators | First-order ADAA quadratic softclip. |
| SoftClipQuadratic2 | Saturators | Second-order ADAA quadratic softclip. |
| SpringReverb | Reverbs | Mono spring-inspired reverb originally designed for the Chaos Audio Stratus, which defines all parameters in the [0..10] range. |
| Tanh1 | Saturators | First-order ADAA tanh() saturator. |
| ZitaRevStereo | Reverbs | FDN+Schroeder reverberator, Free open-source C++ for Linux by Fons Adriaensen,Extend zitarevfdn to include zita_rev1 input/output mapping in stereo mode. |
6. Dynamics 30
Compressors, limiters, gates and expanders, plus the gain computers they are built from. The naming is systematic — see Effects §7.2.
| Class | Inherits from | Description |
|---|---|---|
| PhCompressor | UnitGenerator | Convenience superclass for Compressors and Limiters More about compressors on [Wikipedia](http://en.wikipedia.org/wiki/Dynamicrangecompression) and on [Julius Smith III… |
| PhCompressorLadMono | PhCompressor | Mono dynamic range compressor with lookahead delay from Faust standard library. |
| PhCompressorMono | PhCompressor | Mono dynamic range compressor from the Faust standard libray |
| PhCompressorStereo | PhCompressor | Stereo dynamic range compressor from the Faust standard libray |
| PhExpander | PhCompressor | Convenience super class for all expanders. |
| PhExpanderSCStereo | PhExpander | Feed forward stereo dynamic range expander. |
| PhExpanderStereo | PhExpander | Feed forward stereo dynamic range expander. |
| PhFBCompressorGainStereo | PhCompressor | Feed back stereo dynamic range compressor |
| PhFBFFCompressorGainStereo | PhCompressor | Feed forward / feed back stereo dynamic range compressor. |
| PhFFCompressorGainStereo | PhCompressor | Feed back stereo dynamic range compressor. |
| PhGateMono | PhCompressor | Mono signal gate. |
| PhGateStereo | PhCompressor | Stereo signal gate. |
| PhLimiter1176Mono | PhCompressor | Mono Limiter. |
| PhLimiter1176Stereo | PhCompressor | Stereo limiter A limiter guards against hard-clipping. |
| PhLimiterLadMono | PhLookaheadLimiter | Stereo lookahead limiter inspired by IOhannes Zmölnig's post, which is in turn based on the thesis by Peter Falkner "Entwicklung eines digitalen Stereo-Limiters mit Hilfe des… |
| PhLimiterLadStereo | PhLookaheadLimiter | Mono lookahead limiter inspired by IOhannes Zmölnig's post, which is in turn based on the thesis by Peter Falkner "Entwicklung eines digitalen Stereo-Limiters mit Hilfe des… |
| PhLookaheadLimiter | PhCompressor | Convenience superclass for all lookahead limiters. |
| PhPeakCompressionGainMono | PhCompressor | Mono RMS dynamic range compressor gain computer with linear output. |
| PhPeakCompressionGainMono_dB | PhCompressor | Mono RMS dynamic range compressor gain computer with linear output. |
| PhPeakCompressionGainStereo | PhCompressor | Stereo dynamic range compressor gain computer with linear output. |
| PhPeakCompressionGainStereo_dB | PhCompressor | Stereo dynamic range compressor gain computer with dB output from Faust standard library |
| PhPeakExpansionGainStereo | PhExpander | Stereo dynamic range expander gain computer. |
| PhRMSCompressionGainMono | PhCompressor | Mono dynamic range compressor gain computer with dB output from Faust standard library |
| PhRMSCompressionGainMono_dB | PhCompressor | Mono dynamic range compressor gain computer with dB output from Faust standard library |
| PhRMSCompressionGainStereo | PhCompressor | Stereo RMS dynamic range compressor gain computer with linear output. |
| PhRMSCompressionGainStereo_dB | PhCompressor | Stereo RMS dynamic range compressor gain computer with linear output. |
| PhRMSFBCompressorGainStereo | PhCompressor | Stereo channel RMS feed back compressor into peak limiter feeding back into the FB compressor. |
| PhRMSFBFFCompressorGainStereo | PhCompressor | RMS feed forward / feed back stereo dynamic range compressor. |
| Ratio2Strength | UnitGenerator | Converts a ratio to a strength. |
| Strength2Ratio | UnitGenerator | Converts a ratio to a strength. |
7. Physical Models 87
Instruments computed from physical simulation, and the waveguide primitives they are assembled from. See Physical Modelling.
| Class | Inherits from | Description |
|---|---|---|
| BrassMIDI | WindInstruments | Ready-to-use MIDI-controllable brass instrument physical model with built-in UI. |
| ClarinetMIDI | WindInstruments | Ready-to-use MIDI compliant clarinet physical model with built-in UI. |
| CloseIns | PhPmOutElement | Closes the inputs of a bidirectional chain in all directions. |
| CloseOuts | PhPmElement | Closes the outputs of a bidirectional chain in all directions except for the main signal output (3d output). |
| Djembe | ModalPercussion | Dirt-simple djembe modal physical model. |
| DjembeMIDI | ModalPercussion | Simple MIDI controllable djembe physical model with built-in UI. |
| ElecGuitar | StringInstruments | A simple acoustic guitar model with steel strings (based on guitarModel) implementing an excitation model. |
| ElecGuitarMIDI | StringInstruments | Ready-to-use MIDI-enabled electric guitar physical model with built-in UI. |
| EnglishBell | ModalPercussion | French church bell modal model. |
| Exciter | UnitGenerator | Superclass for various kind of excitation signal generators. |
| FluteMIDI | WindInstruments | Ready-to-use MIDI-controllable flute physical model with built-in UI. |
| FluteModel | WindInstruments | A simple generic flute instrument physical model without tone holes (pitch is changed by changing the length of the tube of the instrument). |
| FormantSynthesis | UnitGenerator | Formant synthesis models and utilities from the Faust standard library. |
| FrenchBell | ModalPercussion | French church bell modal model. |
| GermanBell | ModalPercussion | French church bell modal model. |
| Guitar | StringInstruments | A simple acoustic guitar model with steel strings (based on guitarModel) implementing an excitation model. |
| GuitarMIDI | StringInstruments | Ready-to-use MIDI-enabled steel strings acoustic guitar physical model with built-in UI. |
| InLeftRightWave | PhPmElement | Adds a signal to left and right going waves anywhere in a chain of blocks. |
| InLeftWave | PhPmElement | Adds a signal to left going waves anywhere in a chain of blocks. |
| InRightWave | PhPmElement | Adds a signal to right going waves anywhere in a chain of blocks. |
| KarplusStrongMIDI | StringInstruments | Ready-to-use, MIDI-enabled Karplus-Strong string with buil-in UI. |
| Marimba | ModalPercussion | Simple marimba physical model implementing a single tone bar connected to tube. |
| MarimbaMIDI | ModalPercussion | Simple MIDI controllable djembe physical model with built-in UI. |
| ModalPercussion | UnitGenerator | High and low level objects for modal synthesis of percussion instruments. |
| NylonGuitarMIDI | StringInstruments | Ready-to-use MIDI-enabled electric guitar physical model with built-in UI. |
| OutLeftRightWave | PhPmOutElement | Sends the signal of right and left going waves to the output channel of the chain. |
| OutLeftWave | PhPmOutElement | Adds a signal to left going waves anywhere in a chain of blocks. |
| OutRightWave | PhPmOutElement | Sends the signal of right going waves to the output channel of the chain. |
| PhAllpassNL | PhPmElement | Bidirectional block adding nonlinearities in both directions in a chain. |
| PhBasicBlock | UnitGenerator | Empty bidirectional block to be used with chain : 3 signals ins and 3 signals out. |
| PhBlower | Exciter | A virtual blower creating a DC signal with some breath noise in it. |
| PhBlower_UI | Exciter | Same as blower but with default UI and vibrato controls. |
| PhBrassLipsTable | UnitGenerator | Extremely basic reed table that can be used to implement a wide range of single reed types for many different instruments (saxophone, clarinet, etc.). |
| PhBrassModelUI | UnitGenerator | Same as brassModel but with a built-in UI. |
| PhBrassUI | UnitGenerator | Ready-to-use brass instrument physical model with built-in UI based on brassModel. |
| PhBridgeFilter | UnitGenerator | Generic two zeros bridge FIR filter (as implemented in the [STK](https://ccrma.stanford.edu/software/stk/)) that can be used to implement the reflectance violin, guitar, etc. |
| PhChain | UnitGenerator | Creates a chain of bidirectional blocks. |
| PhClarinetModel | UnitGenerator | A simple clarinet physical model without tone holes (pitch is changed by changing the length of the tube of the instrument). |
| PhClarinetMouthPiece | UnitGenerator | Bidirectional block implementing a clarinet mouthpiece as well as the various interactions happening with traveling waves. |
| PhClarinetReed | UnitGenerator | Extremely basic reed table that can be used to implement a wide range of single reed types for many different instruments (saxophone, clarinet, etc.). |
| PhClarinetUI | UnitGenerator | Ready-to-use clarinet physical model with built-in UI based on clarinetModel. |
| PhEndChain | PhPmElement | Closes the inputs and outputs of a bidirectional chain in all directions except for the main signal output (3d output). |
| PhF2l | UnitGenerator | Converts a frequency in hertz to length in meters. |
| PhFluteJetTable | UnitGenerator | Extremely basic reed table that can be used to implement a wide range of single reed types for many different instruments (saxophone, clarinet, etc.). |
| PhFluteModelUI | UnitGenerator | Same as fluteModel but with a built-in UI. |
| PhFluteUI | UnitGenerator | Ready-to-use flute physical model with built-in UI based on fluteModel. |
| PhGuitarBridge | UnitGenerator | Bidirectional block implementing a simple acoustic guitar bridge. |
| PhGuitarNuts | UnitGenerator | Bidirectional block implementing a simple acoustic guitar nuts. |
| PhIdealString | PhStringAbstract | An "ideal" string with rigid terminations and where the plucking position and the pick-up position are the same. |
| PhImpulseExcitation | Exciter | Creates an impulse excitation of one sample. |
| PhKarplusStrong | UnitGenerator | A Karplus-Strong string (in that case, the string is implemented as a one dimension waveguide). |
| PhKsReflexionFilter | UnitGenerator | The "typical" one-zero Karplus-strong feedforward reflexion filter. |
| PhL2f | UnitGenerator | Length in meters to frequency. |
| PhL2s | UnitGenerator | Length in meters to number of samples |
| PhLStringRigidTermination | PhPmElement | Bidirectional block implementing a left rigid string termination (no damping, just phase inversion). |
| PhModalModel | UnitGenerator | Implement a single resonance modes using resonant bandpass filters. |
| PhModeFilter | UnitGenerator | Resonant bandpass filter that can be used to implement a single resonance (mode). |
| PhNylonGuitar | PhStringAbstract | A simple acoustic guitar model with nylon strings (based on nylonGuitarModel) implementing an excitation model. |
| PhNylonGuitarModel | PhStringAbstract | A simple acoustic guitar model with nylon strings and selectable excitation position. |
| PhNylonString | PhStringAbstract | A bidirectional block implementing a basic nylon string with selectable excitation position. |
| PhOpenString | PhStringAbstract | A bidirectional block implementing a basic "generic" string with a selectable excitation position. |
| PhOpenStringPickdown | PhStringAbstract | A bidirectional block implementing a "generic" string with selectable excitation position and stiffness. |
| PhOpenStringPickup | PhStringAbstract | A bidirectional block implementing a "generic" string with selectable excitation position. |
| PhOpenTube | PhTube | A tube segment without terminations (same as stringSegment). |
| PhPluckString | Exciter | Creates a plucking excitation signal. |
| PhPmElement | UnitGenerator | Abstract superclass for all Pysical Models blocks with 3 inputs |
| PhPmOutElement | UnitGenerator | Abstract superclass for all Pysical Models blocks with 3 inputs |
| PhReedTable | UnitGenerator | Extremely basic reed table that can be used to implement a wide range of single reed types for many different instruments (saxophone, clarinet, etc.). |
| PhRStringRigidTermination | PhPmElement | Bidirectional block implementing a right rigid string termination (no damping, just phase inversion). |
| PhSteelString | PhStringAbstract | A bidirectional block implementing a basic steel string with selectable excitation position. |
| PhStrike | Exciter | Strikes generator with controllable excitation position |
| PhStrikeModel | Exciter | Creates a filtered noise excitation |
| PhStringAbstract | PhPmElement | Abstract super class for string elements |
| PhStringSegment | UnitGenerator | A string segment without terminations (just a simple waveguide). |
| PhTerminations | UnitGenerator | Creates terminations on both sides of a chain without closing the inputs and outputs of the bidirectional signals chain. |
| PhTube | UnitGenerator | Abstract superclass for Physical Tubes |
| PhVoiceGender | UnitGenerator | Calculate the gender for the provided voiceType value. |
| PhWaveguide | PhPmElement | Standard pm.lib waveguide (based on waveguideFd4). |
| RussianBell | ModalPercussion | French church bell modal model. |
| SFFormantModelBP | FormantSynthesis | Simple formant/vocal synthesizer based on a source/filter model. |
| SFFormantModelBP_ui | FormantSynthesis | — |
| SFFormantModelFofCycle | FormantSynthesis | Simple formant/vocal synthesizer based on a source/filter model. |
| SFFormantModelFofCycle_UI | FormantSynthesis | Simple formant/vocal synthesizer based on a source/filter model. |
| StringInstruments | UnitGenerator | Low and high level string instruments parts. |
| ViolinMIDI | StringInstruments | Ready-to-use MIDI-enabled violin physical model with built-in UI. |
| ViolinModel | StringInstruments | Ready-to-use simple violin physical model. |
| WindInstruments | UnitGenerator | Wind instruments and utilities from the Faust standard library. |
8. Synths 12
Complete ready-made instruments — drums and synth voices you can instantiate and play without wiring anything.
| Class | Inherits from | Description |
|---|---|---|
| Clap | Synths | Clap synthesis through filtered white noise. |
| CombString | Synths | Simplest string physical model ever based on a comb filter. |
| DubDub | Synths | A simple synth based on a sawtooth wave filtered by a resonant lowpass. |
| Fm4Op | Synths | A simple FM synthesizer with an arbitrary number of modulators connected as a sequence. |
| Hat | Synths | Hi hat drum synthesis via phase modulation. |
| Kick | Synths | Kick drum synthesis via a pitched sine sweep. |
| PhLoop | TpSampler | Play a soundfile in a loop taking into account its sampling rate |
| PhLoopSpeed | PhLoop | Play a soundfile in a loop taking into account its sampling rate, with speed control. |
| PhLoopSpeedLevel | PhLoopSpeed | Play a soundfile in a loop taking into account its sampling rate, with speed control. |
| PopFilterDrum | Synths | A simple percussion instrument based on a "popped" resonant bandpass filter. |
| SawTrombone | Synths | A simple trombone based on a lowpassed sawtooth wave. |
| Synths | UnitGenerator | This class contains a collection of synthesizers, including those of Faust synths.lib Do not use this superclass directly; it exists only for grouping and establishing a basic… |
9. Dx7 Operators 5
DX7-style FM operators, envelopes and algorithms. See Synthesis §5.
| Class | Inherits from | Description |
|---|---|---|
| Dx7Algo | UnitGenerator | [More about operators and algorythms here](https://djjondent.blogspot.com/2019/10/yamaha-dx7-algorithms.html). |
| Dx7Algorithm | UnitGenerator | DX7 function for a specific algorithm at compile-time. |
| Dx7Env | UnitGenerator | DX7 operator envelope generator with 4 independent rates and levels. |
| Dx7Op | UnitGenerator | Implements a phase-modulable sine wave oscillator connected to a DX7 envelope generator. |
| Dx7UI | UnitGenerator | The Yamaha DX7 is a synthesizer manufactured by Yamaha Corporation from 1983 to 1989. |
10. Basics 16
Small building blocks: sample-and-hold, latches, bit crushing, downsampling, lines and toggles.
| Class | Inherits from | Description |
|---|---|---|
| PhAutomat | PhBasics | Record and replay in a loop the successives values of the input signal. |
| PhBasics | UnitGenerator | Conveniece abstract super class for basics utilities with one input |
| PhBitCrusher | PhBasics | Produce distortion by reduction of the signal resolution. |
| PhDownSampler | PhBasics | This UnitGenerator makes the work of the downSample standard Faust function. |
| PhDownSamplerCV | PhBasics | Down sample a signal. |
| PhIf | UnitGenerator | If-then-else implemented with a select2. |
| PhImpulsify | UnitGenerator | Turns a signal into an impulse with the value of the current sample (0.3,0.2,0.1 becomes 0.3,0.0,0.0). |
| PhKr2Ar | PhBasics | Force a control rate signal to be used as an audio signal For example: |
| PhLatch | PhBasics | Latch input on the rising edge of trig. |
| PhLine | PhBasics | A ramp interpolator that generates a linear transition to reach a target value: the interpolation process restarts each time a new and distinct input value is received it utilizes 'n'… |
| PhOnAndOff | UnitGenerator | The first channel set the output to 1, the second channel to 0. |
| PhPeakHold | PhBasics | Outputs current max value above zero. |
| PhPeakHolder | PhBasics | While peak-holder functions are scarcely discussed in the literature (please do send me an email if you know otherwise), common sense tells that the expected behaviour should be as… |
| PhSampleAndHold | PhBasics | Sample And Hold. |
| PhTestAndHold | PhBasics | Test And Hold: "records" the input when pred(input) is true, outputs a frozen value otherwise. |
| PhToggle | PhBasics | Triggered by the change of 0 to 1, it toggles the output value between 0 and 1. |
11. Counters & Time Tools 18
Pulses, counters, ramps and beat clocks — time generated inside the signal graph. See Sequencing §2.
| Class | Inherits from | Description |
|---|---|---|
| Counter | UnitGenerator | Starts counting 0, 1, 2, 3..., and raise the current integer value at each upfront of the trigger. |
| PhBeat | UnitGenerator | Pulses at tempo in BPM. |
| PhCountDown | UnitGenerator | Starts counting up from 0 to n included. |
| PhCountUp | UnitGenerator | Starts counting up from 0 to n included. |
| PhCycle | UnitGenerator | Split nonzero input values into n cycles. |
| PhPeriod | UnitGenerator | Basic sawtooth wave of period p. |
| PhRamp | UnitGenerator | A linear ramp with a slope of '(+/-)1/n' samples to reach the next target value. |
| PhResetCtr | UnitGenerator | Function that lets through the mth impulse out of each consecutive group of n impulses. |
| PhSweep | UnitGenerator | Counts from 0 to period-1 repeatedly, generating a sawtooth waveform, like os.lf_rawsaw, starting at 1 when run transitions from 0 to 1. |
| PhTempo | UnitGenerator | Converts a tempo in BPM into a number of samples. |
| PhTime | UnitGenerator | A simple timer that counts every samples from the beginning of the process. |
| Pulse | UnitGenerator | Pulses generated at period in seconds |
| PulseCountDown | UnitGenerator | Starts counting down pulses. |
| PulseCountDownLoop | UnitGenerator | Starts counting down pulses from 0 to n included. |
| PulseCountUp | UnitGenerator | Starts counting up pulses. |
| PulseCountUpLoop | UnitGenerator | Starts counting up pulses from 0 to n included. |
| Pulsen | UnitGenerator | Ggenerator of pulses with length and period in seconds |
| Spulse | UnitGenerator | Produces a single pulse of n samples when trig goes from 0 to 1. |
12. Conversion Tools 17
Unit conversions as UGens: decibels, MIDI note numbers, piano keys, cents, semitones, samples and time constants. See Math & Conversion Tools.
| Class | Inherits from | Description |
|---|---|---|
| PhCent2Ratio | PhConversionTool | Converts semitone cents in a frequency multiplicative ratio. |
| PhConversionTool | UnitGenerator | Superclass for all Conversion tools |
| PhDb2Linear | PhConversionTool | DB-to-linear value converter. |
| PhHz2MidiKey | PhConversionTool | Converts a frequency in Hz to a MIDI key number (440 Hz = MIDI key 69). |
| PhHz2PianoKey | PhConversionTool | Converts a frequency in Hz to a MIDI key number (440 Hz = MIDI key 69). |
| PhLinear2Db | PhConversionTool | Linear-to-dB value converter. |
| PhLinear2LogGain | PhConversionTool | Converts a linear gain (0-1) to a log gain (0-1). |
| PhLog2LinearGain | PhConversionTool | Converts a log gain (0-1) to a linear gain (0-1). |
| PhMidiKey2Hz | PhConversionTool | Converts a MIDI key number to a frequency in Hz (MIDI key 69 = 440 Hz). |
| PhPianoKey2Hz | PhConversionTool | Converts a MIDI key number to a frequency in Hz (MIDI key 69 = 440 Hz). |
| PhPole2tau | PhConversionTool | Returns the time-constant, in seconds, corresponding to the given real, positive pole in (0-1). |
| PhRatio2Cent | PhConversionTool | Converts a frequency multiplicative ratio in semitone cents. |
| PhRatio2Semitone | PhConversionTool | Converts a frequency multiplicative ratio in semitones. |
| PhSamp2Sec | PhConversionTool | Converts a number of samples to a duration in seconds at the current sampling rate . |
| PhSec2Samp | PhConversionTool | Converts a duration in seconds to a number of samples at the current sampling rate |
| PhSemi2Ratio | PhConversionTool | Converts semitones in a frequency multiplicative ratio. |
| PhTau2Pole | PhConversionTool | Returns a real pole giving exponential decay. |
13. Signals 11
Signal plumbing: buses, smoothing, reversal and interpolation.
| Class | Inherits from | Description |
|---|---|---|
| PhBlockSignal | UnitGenerator | Block - terminate N signals. |
| PhBSmooth | PhSmoo | Block smooth linear interpolation during a block of samples (given by the ma.BS value). |
| PhBus | UnitGenerator | Put anInteger number of signals in parallel. |
| PhInterpolate | UnitGenerator | Linear interpolation between two signals. |
| PhOnePoleSwitching | PhSmoo | One pole filter with independent attack and release times. |
| PhPolySmooth | PhSmoothAndH | A smoothing function based on smooth that doesn't smooth when a trigger signal is given. |
| PhRev | UnitGenerator | Reverse the input signal by blocks of n>0 samples. |
| PhSmoo | UnitGenerator | Smoothing function based on smooth ideal to smooth UI signals (sliders, etc.) down. |
| PhSmooth | PhSmoo | Exponential smoothing by a unity-dc-gain one-pole lowpass. |
| PhSmoothAndH | PhSmooth | A smoothing function based on smooth that holds its output signal when a trigger is sent to it. |
| PhSmoothQ | PhSmoo | Smoothing with continuously variable curves from Exponential to Linear, with a constant time. |
14. Operations 10
Arithmetic and routing as objects rather than operators. See Connecting Unit Generators.
| Class | Inherits from | Description |
|---|---|---|
| PhAdder | PhBinaryOperation | Add two UnitGenerators |
| PhBinaryOperation | UnitGenerator | Super class for Phausto binary operations. |
| PhDivider | PhBinaryOperation | Divide my first input (a UnitGenerator) by a second input (also another UnitGenerator) |
| PhMergeOperation | UnitGenerator | Convenience class to merge unit generators before converting them into PhBoxes |
| PhModulor | PhBinaryOperation | Modulo my first input (a UnitGenerator) by a second input (also another UnitGenerator) |
| PhMultiplicator | PhBinaryOperation | Multiplictae two Unit Generators |
| PhPower | PhBinaryOperation | Exponentiation where inputL is base and input R is exponent |
| PhSplitOperation | UnitGenerator | Convenience class to split Unit Generators before converting them into PhBoxes |
| PhSubtractor | PhBinaryOperation | Divide my second input (a UnitGenerator) to the first input (also another UnitGenerator) |
| PhUnaryOperation | UnitGenerator | Super class for Phausto unary operations (just one input). |
15. Math 49
Mathematical functions, constants, interpolators and quantisers applied sample by sample. See Math & Conversion Tools.
| Class | Inherits from | Description |
|---|---|---|
| PhBlockSize | UnitGenerator | Current block-size. |
| PhChebychev | UnitGenerator | — |
| PhChebychevPoly | UnitGenerator | — |
| PhConstantE | UnitGenerator | Double-precision Euler's number constant |
| PhConstantEpsilon | UnitGenerator | Constant EPSILON available in simple/double/quad precision, as defined in the floating-point standard and machine epsilon, that is smallest positive number such that 1.0 + EPSILON != 1.0. |
| PhConstantMax | UnitGenerator | Constant MAX available in simple/double/quad precision (minimal positive value). |
| PhConstantMin | UnitGenerator | Constant MIN available in simple/double/quad precision (minimal positive value). |
| PhConstantPI | UnitGenerator | Constant PI in double precision. |
| PhConstantT | UnitGenerator | Current sample duration in seconds computed from the sampling rate given at init time. |
| PhCopySign | PhBinaryOperation | Changes the sign of x (first input) to that of y (second input). |
| PhCubeRoot | PhUnaryOperation | Computes the cube root of of the input signal. |
| PhDeg2Rad | PhUnaryOperation | Convert degrees to radians. |
| PhDiffn | PhUnaryOperation | Negated first-order difference. |
| PhErf | PhUnaryOperation | Computes the error function of the input signal. |
| PhErfC | PhUnaryOperation | Computes the complementary error function of the input signal. |
| PhExpM1 | PhUnaryOperation | Return exponent of the input signal minus 1 with better precision. |
| PhFrac | PhUnaryOperation | Gives the fractional part of its input |
| PhFTZ | PhUnaryOperation | Flush to zero: force samples under the "maximum subnormal number" to be zero. |
| PhHypothenuse | PhBinaryOperation | Computes the euclidian distance of the two input signals sqrt(xx+yy) without undue overflow or underflow. |
| PhILogB | PhUnaryOperation | Return exponent of the input signal as a floating-point number. |
| PhInterpolateLinear | UnitGenerator | Linear interpolation between 2 values. |
| PhInterpolateRaiseModulo | UnitGenerator | A PhRaiseModulo is a looping fractional read-index generator, ported from Faust's raise_modulo in interpolators.lib. |
| PhInverse | PhUnaryOperation | Compute the inverse (1/x) of the input signal. |
| PhIsInf | PhUnaryOperation | Return non-zero if x is a positive or negative infinity. |
| PhIsNan | UnitGenerator | Return non-zero if x is a NaN. |
| PhJ0 | PhUnaryOperation | Computes the Bessel function of the first kind of order 0 of the input signal. |
| PhJ1 | PhUnaryOperation | Computes the Bessel function of the first kind of order 1 of the input signal. |
| PhJn | PhBinaryOperation | Computes the Bessel function of the first kind of order n of the input signal. |
| PhLdExp | PhBinaryOperation | Takes two input signals: x and n, and multiplies x by 2 to the power n. |
| PhLGamma | PhUnaryOperation | Calculates the natural logorithm of the absolute value of the gamma function of the input signal. |
| PhLog1p | PhUnaryOperation | Computes log(1 + x) without undue loss of accuracy when x is nearly zero. |
| PhLog2 | PhUnaryOperation | Returns the base 2 logarithm of x. |
| PhLogB | PhUnaryOperation | Return exponent of the input signal as a floating-point number. |
| PhModuloMath | PhBinaryOperation | Modulus operation using the (x%y+y)%y formula to ensures the result is always non-negative, even if x is negative. |
| PhNeg | PhUnaryOperation | Invert the sign (-x) of a signal. |
| PhNextPowerOf2 | PhUnaryOperation | Gives the next power of 2 of its input. |
| PhNot | UnitGenerator | Bitwise not implemented with xor as not(x) = x xor -1;. |
| PhPrimes | PhUnaryOperation | Return the n-th prime using a waveform primitive. |
| PhQuantize | UnitGenerator | — |
| PhRad2Deg | PhUnaryOperation | Convert radians to degrees. |
| PhSampleDuration | UnitGenerator | Current sample duration in seconds computed from the sampling rate given at init time. |
| PhSampleRate | UnitGenerator | Current sampling rate given at init time. |
| PhScalb | PhBinaryOperation | Takes two input signals: x and n, and multiplies x by 2 to the power n. |
| PhSignum | PhUnaryOperation | The signum function signum(x) is defined as -1 for x<0, 0 for x==0, and 1 for x>0. |
| PhSub | PhUnaryOperation | Subtract x and y. |
| PhY0 | PhUnaryOperation | Computes the linearly independent Bessel function of the second kind of order 0 of the input signal. |
| PhY1 | PhUnaryOperation | Computes the linearly independent Bessel function of the second kind of order 1 of the input signal. |
| PhYn | PhBinaryOperation | Computes the linearly independent Bessel function of the second kind of order n of the input signal. |
| PhZeroCrossing | PhUnaryOperation | Indicator function for zero-crossing: it returns 1 if a zero-crossing occurs, 0 otherwis |
16. Antialiased 14
Band-limited trigonometric and hyperbolic functions, for waveshaping without aliasing.
| Class | Inherits from | Description |
|---|---|---|
| AASine | Trigonometry | First-order ADAA sin(). |
| AASine2 | Trigonometry | Second-order ADAA sin(). |
| ACosh1 | Trigonometry | First-order ADAA acosh(). |
| ACosh2 | Trigonometry | Second-order ADAA acosh(). |
| ArcCos | Trigonometry | First-order ADAA acos(). |
| ArcCos2 | Trigonometry | Second-order ADAA acos(). |
| ArcSin | Trigonometry | First-order ADAA cos(). |
| ArcSin2 | Trigonometry | First-order ADAA cos(). |
| ATanh1 | Trigonometry | First-order ADAA atanh(). |
| Atanh2 | Trigonometry | First-order ADAA cos(). |
| Cosine1 | Trigonometry | First-order ADAA cos(). |
| Cosine2 | Trigonometry | First-order ADAA cos(). |
| Tangent | Trigonometry | First-order ADAA tan(). |
| Trigonometry | UnitGenerator | Collection of trigonomertric UnitGenerators at audio rate |
17. Toolkit 23
Higher-level utilities: sequencers, selectors, loopers, capture and routing helpers.
| Class | Inherits from | Description |
|---|---|---|
| LFORandomPos | LFOForModulation | LowFrequencyOscillator with random positive values |
| Ph2BlocksChain | UnitGenerator | Helper class to contruct chains for physical models |
| PhCapture | UnitGenerator | Capture audio input while Capture button is pressed. |
| PhControlParameter | Object | Parameter of a UnitGenerator that can be changed in real time if assigned to one subclass of UIPrimitive § |
| PhDensityGate | UnitGenerator | Am PhDensityGate a noise-based random gate. |
| PhEndRouting | UnitGenerator | Helper class to contruct chains for physical models |
| PhIncrementer | PhBox | Increment by incrValue at every step. |
| PhList | UnitGenerator | Am the Phausto implementation of a Faust list, simulated in the language using parallel composition: (1,2,3,5,7,11). |
| PhLooper | UnitGenerator | A simple looper with speed playback control |
| PhMem | UnitGenerator | A 1 sample delay. |
| PhPostRouting | UnitGenerator | Helper class to construct chains for physical models |
| PhPreRouting | UnitGenerator | Helper class to construct chains for physical models |
| PhReaderWithSpeed | UnitGenerator | PhReaderWithSpeed, I read audio buffers at a desired speed. |
| PhResetter | UnitGenerator | Resetter, when triggered, I set my value to 0. |
| PhSelect4 | PhBox | Select between 4 inputs, starts counting at 0 |
| PhSelectN | UnitGenerator | Select inputs at index. |
| PhSequencer | UnitGenerator | High level abstractio for sequencer |
| PhSubBeat | UnitGenerator | Tempo: the tempo in beays per minutes clockDivider: the clock divisions, set 2 for 16th notes, 4 to for 8th notes, 8 for beats. |
| PhSyncTrig | UnitGenerator | Am PhSyncTrig a sin-based resettable trigger generator |
| PhTkCounter | UnitGenerator | Phausto counter, I count from 1 to maxValue when triggered. |
| PhZeroList | PhList | Special subclass of PhList counting from zero, used for parallel composition that avoid transformation into PhBox before cobersion to Dsp |
| PulseGate | PhResetCtr | PulseGate is a class that selectively allows specific pulses to pass through from a sequence of impulses generated by an existing pulse generator. |
| SamplePlayer | PhBox | — |
18. UI Primitives 9
Sliders, buttons, checkboxes and bargraphs. See UI Primitives.
| Class | Inherits from | Description |
|---|---|---|
| PhButton | UIPrimitive | Represent a Faust button, you need me to display a button in your UI |
| PhCheckbox | UIPrimitive | Am checkbox/toggle Faust UI primitive - I encode an information about my type separated with a tilde ~ from the label. |
| PhHBarGraph | UnitGenerator | The hbargraph primitive implements a vertical bar-graph (typically a meter displaying the level of a signal). |
| PhHSlider | PhSlider | Faust horizontal slider |
| PhNumEntry | PhSlider | The nentry primitive implements a "numerical entry". |
| PhSlider | UIPrimitive | Super class for Horizontal, Vertical and NumEntry slider created by the Faust compiler. |
| PhVBarGraph | UnitGenerator | The hbargraph primitive implements a vertical bar-graph (typically a meter displaying the level of a signal). |
| PhVSlider | PhSlider | Phausto vertical slider |
| UIPrimitive | Object | Faust user interface widgets/primitives allow for an abstract description of a user interface from within the Faust code. |
19. TurboPhausto 18
The batteries-included layer: samplers, ready-made synths and engine parts. See TurboPhausto.
| Class | Inherits from | Description |
|---|---|---|
| Acid | TpSynth | Acid is the Phausto clone of the Roland TB-303. |
| Chordy | TpSynth | Am Chordy, a simple 3 voices oscillator with controllable mode (minor/major/ sus4 / sus2) and cutoff frequency of my resonant ;owpass filter |
| CustomPhausto | TurboPhausto | Abstract subclass of TurboPhausto made to create custom version of TurboPhausto. |
| EcoPhausto | CustomPhausto | Lighter version of TurboPhausto designed for improved performance on Windows/Linux without audio interface. |
| Fm2Op | TpSynth | Two operator FM synthesiser with ADSR envelope. |
| GreyHoleDW | UnitGenerator | GreyHole reverb with dry/wet control. |
| MooPhausto | TurboPhausto | The MooPhausto is a reduced TurboPhausto engine designed for the live coding performance with MOOFLOD widgets. |
| PhaustoEngine | Object | An abstract superclass for TurboPhausto engines to be used with Coypu for live coding |
| PsgPlus | TpSynth | Synthesiser with selectable Oscillators/Noise with a basic LFO for pitch and a AM Modulation on output. |
| TpHoover | TpSynth | Hoover inspired sound modeled after Roland Alpha Juno sound but using two Sawtooth waves instead of a Pulse with modulated PWM |
| TpKarplus | UnitGenerator | Ready to use Karplus strong ! |
| TpKick99 | TpSynth | 909 style kick implemented with the techinques explained https://www.soundonsound.com/techniques/practical-bass-drum-synthesis |
| TpReese | TpSynth | Reese bass synthesiser with ADSR envelope. |
| TpSampler | TpSynth | (Multi)Sample Player. |
| TpSamplerPLUS | TpSynth | (Multi)Sample Player. |
| TpSamplerReverb | TpSynth | (Multi) Sample Player. |
| TpSynth | UnitGenerator | TpSynth stands for TurboPhauto Synth. |
| TurboPhausto | PhaustoEngine | This class is used to load all the instruments and effect of TurboPhausto. |
20. Demos 37
Ready-made FAUST demo patches, one line each. See the Demo Gallery.
| Class | Inherits from | Description |
|---|---|---|
| Colored_Noise_Demo | PhDemos | A coloured noise signal generator. |
| Compressor_Demo | PhDemosStereo | Audio Compressor demo. |
| CryBaby_Demo | PhDemosMono | The Dunlop Cry Baby is a popular wah-wah pedal, manufactured by Dunlop Manufacturing, Inc. |
| Cubicnl_Demo | PhDemosMono | Cubi Distortion demo |
| Dattorro_Rev_Demo | PhDemosStereo | Datorro Reverb Demo. |
| Envelopes_Demo | PhDemos | Illustrate various envelopes overlaid, including their gate * 1.1. |
| Exciter_Demo | PhDemosMono | Psychoacoustic harmonic exciter, with GUI. |
| Fft_Spectral_Level_demo | PhDemos | Make a real-time spectrum analyzer using FFT from analyzers.lib. |
| FilterBank_Demo | PhDemosMono | Filter bank demo |
| Flanger_Demo | PhDemosStereo | Flanger effect demo. |
| Freeverb_Demo | PhDemosStereo | Freeverb demo |
| Gate_Demo | PhDemosStereo | Noise Gate demo. |
| GreyHole_Demo | PhDemosStereo | GreyHole Reverb demo |
| JpRev_Demo | PhDemosStereo | Jp REverb demo |
| KbRomRev1 | PhDemosStereo | Keith Barr reverb effect rom_rev1 demo application. |
| Latch_Demo | PhDemos | Illustrate latch operation. |
| Moog_Vcf_Demo | PhDemosMono | Illustrate and compare all three Moog VCF implementations. |
| Oscrs_Demo | PhDemos | Simple application demoing filter based oscillators. |
| Parametric_Eq_Demo | PhDemosMono | Demo of a parametric equalizer. |
| Phaser2_Demo | PhDemosStereo | Phaser effeect demo. |
| PhDemos | UnitGenerator | Subclasses of demo are complex Unit Generations with a ready-UI coming from Faust examples |
| PhDemosMono | PhDemos | Superclass for mono demos |
| PhDemosStereo | PhDemos | Superclass for stereo demos |
| PhVitalRev_Demo | PhDemosStereo | VitalRev demo |
| PosPass_Demo | PhDemosMono | Use Positive-Pass Filter pospass() to frequency-shift a sine tone. |
| ReverbTank_Demo | PhDemosStereo | This is a stereo reverb following the "ReverbTank" example in [1], although some parameter ranges and scaling have been adjusted. |
| Reverse_Echo_Demo | PhDemosMono | Multichannel echo effect with reverse delays. |
| Sawtooth_Demo | PhDemos | An application demonstrating the different sawtooth oscillators of Faust. |
| Spectral_Tilt_Demo | PhDemosMono | A spectral tilt application. |
| TapeStop_Demo | PhDemosStereo | TapeStop effect demo. |
| Twin_Osc_Demo | PhDemos | TwinOsc - virtual analog synthesis with a time-varying comb filter. |
| Velvet_Noise_Demo | PhDemos | Simple application demoing filter based oscillators. |
| Virtual_Analog_Oscillator_Demo | PhDemos | Virtual analog oscillator demo application. |
| Vocoder_Demo | PhDemosMono | Use example of the vocoder function where an impulse train is used as excitation. |
| Wah4_Demo | PhDemosMono | WahWah pedal demo |
| ZitaLight | PhDemosStereo | Light version of Zita Rev1 with only 2 UI elements. |
| ZitaRev1 | PhDemosStereo | Example GUI for zitarev1stereo (mostly following the Linux zita-rev1 GUI). |
21. Core & Infrastructure 12
The base classes and low-level boxes everything else is built on. See Architecture & Internals.
| Class | Inherits from | Description |
|---|---|---|
| Cut | PhBox | Use the Cut object to cut a signal (stop it!) |
| DSP | FFIOpaqueObject | Opaque structure representing a DSP object. |
| DSPParameter | Object | DSPParameter represents a single adjustable value of a DSP unit. |
| DSPParameterStore | Object | "DSPParameterStore holds all parameters of a DSP unit. |
| PhBox | FFIOpaqueObject | Box class, used as a container for Boxes. |
| PhCrossnn | UnitGenerator | Cross two bus(N)s. |
| PhMultiplier | PhBox | PhMultiplier. |
| Select2 | PhBox | The select2 primitive is a "two-way selector". |
| SoundFile | PhBox | The soundfile primitive allows the access of a list of externally defined sound resources, described as the list of their filename, or complete paths. |
| UnitGenerator | Object | Super class of all Unit Generators. |
| UnitGeneratorNullObject | Object | Am the UnitGeneratorNullObject, all the UnitGenerators instances become an instance of my class after an underlying Faust context is destroyed. |
| Wire | PhBox | This box represents a wire ( _ )in the Faust programming language. |
23. Troubleshooting
I cannot find a class I know exists
Clear the filter first — it hides whole families. Test classes, traits, the Cmajor exporters and the FFI layer are deliberately not listed here; see Architecture & Internals and Exporting.
The class is listed but has no description
It carries no class comment in the package. The superclass column is usually the best clue.
A class here does not understand the setter I expect
Setters arrive by trait, and not every class composes every trait. Check
Setter Traits, then confirm with traceAllParams.
Two classes look like they do the same thing
Usually they differ in channel count (Mono versus Stereo), in
detection method, or in whether they apply a gain or merely compute one. The
dynamics naming guide explains the pattern.