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.

Descriptions come from the source Each description is the opening sentence of the class comment in the Phausto package. Where a class carries no comment the cell is left blank rather than guessed at — instantiate it and call 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.

ClassInherits fromDescription
CasioCZOscillatorsUnitGeneratorSuper class for Oscillators that mimic the Casio CZ oscillators.
CosWaveformWaveTableBasedOscillatorsCosine waveform ready to use with a rdtable.
CZhalfSineCasioCZOscillatorsOscillator that mimics the Casio CZ half sine oscillator
CZhalfSinePCasioCZOscillatorsOscillator that mimics the Casio CZ half sine oscillator, with it's phase aligned to fund:sin.
CZpulseCasioCZOscillatorsOscillator that mimics the Casio CZ pulse oscillator.
CZpulsePCasioCZOscillatorsOscillator that mimics the Casio CZ pulse oscillator, with it's phase aligned to fund:sin.
CZresSawCasioCZOscillatorsOscillator that mimics the Casio CZ resonant sawtooth oscillator.
CZresTrapCasioCZOscillatorsOscillator that mimics the Casio CZ resonant trapeze oscillator.
CZresTriangleCasioCZOscillatorsOscillator that mimics the Casio CZ resonant triangle oscillator.
CZsawCasioCZOscillatorsOscillator that mimics the Casio CZ saw oscillator.
CZsawPCasioCZOscillatorsOscillator that mimics the Casio CZ saw oscillator, with it's phase aligned to fund:sin
CZsinePulseCasioCZOscillatorsOscillator that mimics the Casio CZ sine/pulse oscillator.
CZsinePulsePCasioCZOscillatorsOscillator that mimics the Casio CZ sine/pulse oscillator, with it's phase aligned to fund:sin.
CZsquareCasioCZOscillatorsOscillator that mimics the Casio CZ square oscillator
CZsquarePCasioCZOscillatorsOscillator that mimics the Casio CZ square oscillator, with it's phase aligned to fund:sin.
HsOscCosOscillatorWave-Table-Based Sine wave oscillator with hard syncing phase
HsOscSinOscillatorWave-Table-Based Sine wave oscillator with hard syncing phase
HsPhasorPhasorHardsyncing phasor to be used with a rdtable.
HspPhasorHsPhasorHardsyncing phasor to be used with a rdtable.
LFOOscillatorDo not use this superclass directly; it exists only for grouping and establishing a basic inheritance chain.
LFOForModulationLFOLFOForModulation are oscillators with no aliasing suppression intended to be used for modulating parameters, with positive range.
LFOSawLFOSimple sawtooth waveform oscillator between -1 and 1.
LFOSawPosLFOForModulationSimple sawtooth waveform oscillator between 0 and 1.
LFOSquareLFOZero-mean unit-amplitude LFO square wave withrange -1 1.
LFOSquarePosLFOForModulationPositive LFO square wave in [0,1].
LFOTriLFOLowFrequency triangle wave from the Faust Standard Library
LFOTriPosLFOForModulationPositive unit-amplitude LF triangle wave from the Faust Standard Library
OscCosOscillatorWave-Table-Based Sine wave oscillator.
OscCosMOscillatorSine Wave-Table-Based oscillator based on the cos mathematical function.
OscIOscillatorInterpolated phase sine Wave-Table-Based oscillator.
OscillatorUnitGeneratorThis class contains a collection of Oscllators taken from the Faust [oscillators.lib](https://faustlibraries.grame.fr/libs/oscillators/).
OscPOscillatorWave-Table Based sine wave generator with controllable phase
OscSinOscillatorWave-Table-Based Cosine wave oscillator
OscSinMOscillatorSine Wave-Table-Based oscillator based on the sin mathematical function.
PhasorWaveTableBasedOscillatorsA simple phasor to be used with a rdtable.
PulseOscOscillatorAlias-suppressed pulse train oscillator with a duty-cycle control.
SawOscOscillatorAlias-suppressed sawtooth oscillator, sawtooth is a standard Faust function.
SineOscOscillatorDefault Sine Wave-Table-Based Oscillator
SinWaveformWaveTableBasedOscillatorsSine waveform ready to use with a rdtable.
SquareOscOscillatorAlias-suppressed square wave oscillator.
TriOscOscillatorAlias-suppressed triangle wave oscillator.
WaveTableBasedOscillatorsUnitGeneratorAbstract 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.

ClassInherits fromDescription
ColoredNoiseUnitGeneratorGenerates a colored noise signal with an arbitrary spectral roll-off factor (alpha) over the entire audible frequency range (20-20000 Hz).
NoiseUnitGeneratorPhaust noise generators superclass, taken from Faust [noises.lib](https://faustlibraries.grame.fr/libs/noises/) Creating an instance of this class generates a white noise.
PinkNoiseNoisePink noise (1/f noise) generator (third-order approximation covering the audio band well).
SparseNoiseNoiseSparse noise generator.

3. Envelopes 13

Non-periodic control shapes triggered by a gate. See the Envelopes & Modulation guide for how the stages behave.

ClassInherits fromDescription
ADSREnvPhEnvelopeADSR (Attack, Decay, Sustain, Release) exponential envelope generator.
ADSREnvBiasPhEnvelopeADSR (Attack, Decay, Sustain, Release) envelope generator with control over bias on each segment, and toggle for legato.
ADSRExpEnvPhEnvelopeADSR (Attack, Decay, Sustain, Release) exponential envelope generator.
ADSRFEnvBiasPhEnvelopeADSR (Attack, Decay, Sustain, Release) envelope generator with control over bias on each segment, and toggle for legato.
AHDSREnvBiasPhEnvelopeADSR (Attack, Hold, Decay, Sustain, Release) envelope generator with control over bias on each segment, and toggle for legato.
AHDSRExpEnvPhEnvelopeAHDSR (Attack, Hold, Decay, Sustain, Release) envelope generator.
AHDSRFEnvBiasPhEnvelopeAHDSR (Attack, Hold, Decay, Sustain, Release) envelope generator with control over bias on each segment, and toggle for legato.
AREnvPhEnvelopeAR (Attack, Release) envelope generator (useful to create percussion envelopes).
ARFExpEnvPhEnvelopeARFE (_Attack and Release-to-Final-value Exponentially_) envelope generator.
ASREnvPhEnvelopeASR (Attack, Sustain, Release) envelope generator
ASRExpEnvPhEnvelopeASRE (Attack, Sustain, Release) envelope generator with exponential segments
PhEnvelopeUnitGeneratorAm the superclass for all Phausto envelopes.
SmoothEnvPhEnvelopeAn 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.

ClassInherits fromDescription
Allpass_CombCombFiltersSchroeder Allpass Comb Filter.
Allpass_FCombCombFiltersSchroeder Allpass Comb Filter.
Allpass_FComb1aCombFiltersSchroeder Allpass Comb Filter.
Allpass_FComb5CombFiltersSchroeder Allpass Comb Filter.
ButterworthLPHPPhFilterThe Butterworth filter is a type of signal processing filter designed to have a frequency response that is as flat as possible in the passband.
CombFiltersPhFilterColllection 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…
DcBlockerPhFilterDC blocker.
DcBlockerAtPhFilterDC blocker with configurable "break frequency".
DiodeLadderMKOFilter4th order virtual analog diode ladder filter.
Fb_CombCombFiltersFeed-Back Comb Filter (integer delay).
Fb_FCombCombFiltersFeed-Back Comb Filter (float delay).
FbCombFilterCombFiltersOther special cases of Feed-Back Comb Filter.
Ff_CombCombFiltersFeed-Forward Comb Filter.
Ff_FCombCombFiltersFeed-Forward Comb Filter.
FfbCombFilterCombFiltersOther special cases of Feed-Back Comb Filter.
FfCombFilterCombFiltersTypical special case of ff_comb() where: b0 = 1.
HighPassButterworthLPHPNth-order Butterworth highpass filter
IntegratorPhFilterSame as pole(1) [implemented separately for block-diagram clarity].
Korg35HPFMKOFilterVirtual analog models of the Korg 35 high-pass filter found in the MS-10 and MS-20 synthesizers.
Korg35LPFMKOFilterVirtual analog models of the Korg 35 low-pass filter found in the MS-10 and MS-20 synthesizers.
LowpassButterworthLPHPNth-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…
MKOFilterPhFilterCollection of Moog, Korg , Oberheim style filters where:
MoogHalfLadderMKOFilterVirtual analog model of the 2nd-order Moog Half Ladder (simplified version of (ve.)moogLadder).
MoogLadderMKOFilterVirtual analog model of the 4th-order Moog Ladder, which is arguably the most well-known ladder filter in analog synthesizers.
MoogVcfMKOFilterMoog "Voltage Controlled Filter" (VCF) in "analog" form.
OberheimMKOFilterGeneric multi-outputs Oberheim filter that produces the BSF, BPF, HPF and LPF outputs (see description above).
OberheimBPFMKOFilterBand-Pass Oberheim filter (see description above).
OberheimBSFMKOFilterBand-Stop Oberheim filter (see description above).
OberheimHPFMKOFilterHigh-Pass Oberheim filter (see description above).
OberheimLPFMKOFilterLow-Pass Oberheim filter (see description above).
PhAvgRectPhFilterMoving average.
PhAvgT19PhAvgRectAveraging function based on a one-pole filter and the t19 response time.
PhAvgT60PhAvgRectAveraging function based on a one-pole filter and the t60 response time.
PhAvgTauPhAvgRectAveraging function based on a one-pole filter and the tau response time.
PhDcBlockerAtPhFilterDC blocker with configurable "break frequency".
PhFilterUnitGeneratorIn signal processing, a filter is a process or device that removes frequencies from a signal.
PhHighShelfPhFilterFirst-order "high shelf" filter (gain boost|cut between dc and some freque
PhIIRPhFilterNth-order Infinite-Impulse-Response (IIR) digital filter, implemented in terms of the Transfer-Function (TF) coefficients.
PhIntegratorPhFilterIntegrator Same as pole(1) [implemented separately for block-diagram clarity].
PhLowShelfPhFilterFirst-order "low shelf" filter (gain boost|cut between dc and some freque
PhLpT19PhLpTauOne-pole lowpass with a T19 time constant (approx.
PhLpT60PhLpTauOne-pole lowpass with a T60 time constant (60 dB attenuation after tN seconds).
PhLpTauPhFilterOne-pole lowpass with a tau time constant (1/e attenuation after tN seconds).
PhLptNPhFilterOne-pole lowpass filter with arbitrary dis/charging factors set in dB and times set in seconds.
PhOneZeroPhFilterOne zero filter.
PhPeakEqPhFilterSecond order "peaking equalizer" section (gain boost or cut near some frequency) Also called a "parametric equalizer" section.
PhPeakEqCqPhFilterConstant-Q second order peaking equalizer section.
PhPeakEqRmPhFilterRegalia-Mitra second order peaking equalizer section.
PhPolePhFilterOne zero filter.
PhResonBpResonatorFilterSimple resonant bandpass filters based on tf2s (virtual analog).
PhResonHpResonatorFilterClass: ResonBp Simple resonant highpass filters based on tf2s (virtual analog).
PhResonLpResonatorFilterClass: ResonBp Simple resonant lowpass filters based on tf2s (virtual analog).
PhStateVariableFilterPhFilterSuper class for all SVF filters
PhSvfBpPhStateVariableFilterNotch SVF
PhSvfHpPhStateVariableFilterHighpass SVF
PhSvfLpPhStateVariableFilterLowpass SVF
PhSvfNotchPhStateVariableFilterBandpass SVF
PhSvfPeakPhStateVariableFilterPeak SVF filter
PhZeroPhFilterOne zero filter.
ResonatorFilterPhFilterSimple resonant filters based on tf2s (virtual analog).

5. Effects 47

Delays, saturation, modulation effects, wah and the seven reverbs. See Effects, Reverbs & Dynamics.

ClassInherits fromDescription
ArcTanSaturatorsFirst-order ADAA atan() saturator.
ArcTan2SaturatorsSecond-order ADAA atan() saturator.
ASinh1SaturatorsFirst-order ADAA asinh() saturator (unbounded).
ASinh2SaturatorsSecond-order ADAA asinh() saturator (unbounded).
AutoWahPhMonoEffectAuto-wah effect from Faust Virtual Analog Effect Library, where level is amount of effect desired (0 to 1).
CryBabyPhMonoEffectDigitized CryBaby wah pedal.
Cubic1SaturatorsFirst-order ADAA cubic saturator.
CubicNlPhMonoEffectCubic Non Linearity Distortion
DattorroRevReverbsReverberator based on the Dattorro reverb topology.
DopplerShiftPhMonoEffectPitch shifter for signals with known fundamental frequency.
DryWetMonoMixerUnitGeneratorLinear mono dry-wet mixer, implemented in Phausto, not coming from Faust standard library
DryWetStereoMixerUnitGeneratorLinear mono dry-wet mixer, implemented in Phausto, not coming from Faust standard library
FreeverbMonoReverbsA simple Schroeder reverberator primarily developed by "Jezar at Dreampoint" that is extensively used in the free-software world.
GreyHoleReverbsA complex echo-like effect (stereo in/out), inspired by the classic Eventide effect of a similar name.
HardclipSaturatorsFirst-order ADAA hard-clip.
Hardclip2SaturatorsSecond-order ADAA hard-clip.
HyperbolicSaturatorsFirst-order ADAA hyperbolic saturator.
Hyperbolic2SaturatorsSecond-order ADAA hyperbolic saturator.
JpVerbReverbsAn algorithmic reverb (stereo in/out), inspired by the lush chorused sound of certain vintage Lexicon and Alesis reverberation units.
PannerPhSpatialsA simple linear stereo panner.
ParabolicSaturatorsFirst-order ADAA parabolic saturator.
Parabolic2SaturatorsSecond-order ADAA parabolic saturator.
PhClipSaturatorsClip the value of the input signal between min and max
PhDelaysPhMonoEffectA collection of delays from Faust delays.lib.
PhEchoPhMonoEffectA simple echo effect.
PhFibonacciPhMonoEffectFibonacci system where the current output is the current input plus the sum of the previous N outputs.
PhFlangerMonoPhMonoEffectMono flanging effect.
PhFractionalDelayPhDelaysSimple d samples fractional delay based on 2 interpolated delay lines where n is the maximum delay length as a number of samples.
PhMonoEffectUnitGeneratorAbstract superclass for mono effects
PhSimpleDelayPhDelaysSimple d samples delay where n is the maximum delay length as a number of samples.
PhSmoothDelayPhDelaysS(mooth)delay: a mono delay that doesn't click and doesn't transpose when the delay time is changed.
PhSpatialsPhMonoEffectSubclasse of Spatials are tools for sound spatialization.
PhSpeakerBpPhMonoEffectDirt-simple speaker simulator (overall bandpass eq with observed roll-offs above and below the passband).
PhTransposePhMonoEffectA simple pitch shifter based on 2 delay lines.
PhWahPhMonoEffectWah effect, 4th order
PhWavefoldSaturatorsWavefolding is a type of distortion synthesis that alters the shape of a waveform, creating complex spectra from simple tones.
ReverbsUnitGeneratorA collection of Envelopes from the Faust envelopes.lib
SatRevReverbsThis artificial reverberator take a mono signal and output a stereo signal.
SaturatorsPhMonoEffectSaturators, are effect that distort the input signal
SinArcTanSaturatorsFirst-order ADAA sin(atan()) saturator.
SinArcTan2SaturatorsSecond-order ADAA sin(atan()) saturator.
SoftClipQuadraticSaturatorsQuadratic softclip nonlinearity.
SoftClipQuadratic1SaturatorsFirst-order ADAA quadratic softclip.
SoftClipQuadratic2SaturatorsSecond-order ADAA quadratic softclip.
SpringReverbReverbsMono spring-inspired reverb originally designed for the Chaos Audio Stratus, which defines all parameters in the [0..10] range.
Tanh1SaturatorsFirst-order ADAA tanh() saturator.
ZitaRevStereoReverbsFDN+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.

ClassInherits fromDescription
PhCompressorUnitGeneratorConvenience superclass for Compressors and Limiters More about compressors on [Wikipedia](http://en.wikipedia.org/wiki/Dynamicrangecompression) and on [Julius Smith III…
PhCompressorLadMonoPhCompressorMono dynamic range compressor with lookahead delay from Faust standard library.
PhCompressorMonoPhCompressorMono dynamic range compressor from the Faust standard libray
PhCompressorStereoPhCompressorStereo dynamic range compressor from the Faust standard libray
PhExpanderPhCompressorConvenience super class for all expanders.
PhExpanderSCStereoPhExpanderFeed forward stereo dynamic range expander.
PhExpanderStereoPhExpanderFeed forward stereo dynamic range expander.
PhFBCompressorGainStereoPhCompressorFeed back stereo dynamic range compressor
PhFBFFCompressorGainStereoPhCompressorFeed forward / feed back stereo dynamic range compressor.
PhFFCompressorGainStereoPhCompressorFeed back stereo dynamic range compressor.
PhGateMonoPhCompressorMono signal gate.
PhGateStereoPhCompressorStereo signal gate.
PhLimiter1176MonoPhCompressorMono Limiter.
PhLimiter1176StereoPhCompressorStereo limiter A limiter guards against hard-clipping.
PhLimiterLadMonoPhLookaheadLimiterStereo 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…
PhLimiterLadStereoPhLookaheadLimiterMono 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…
PhLookaheadLimiterPhCompressorConvenience superclass for all lookahead limiters.
PhPeakCompressionGainMonoPhCompressorMono RMS dynamic range compressor gain computer with linear output.
PhPeakCompressionGainMono_dBPhCompressorMono RMS dynamic range compressor gain computer with linear output.
PhPeakCompressionGainStereoPhCompressorStereo dynamic range compressor gain computer with linear output.
PhPeakCompressionGainStereo_dBPhCompressorStereo dynamic range compressor gain computer with dB output from Faust standard library
PhPeakExpansionGainStereoPhExpanderStereo dynamic range expander gain computer.
PhRMSCompressionGainMonoPhCompressorMono dynamic range compressor gain computer with dB output from Faust standard library
PhRMSCompressionGainMono_dBPhCompressorMono dynamic range compressor gain computer with dB output from Faust standard library
PhRMSCompressionGainStereoPhCompressorStereo RMS dynamic range compressor gain computer with linear output.
PhRMSCompressionGainStereo_dBPhCompressorStereo RMS dynamic range compressor gain computer with linear output.
PhRMSFBCompressorGainStereoPhCompressorStereo channel RMS feed back compressor into peak limiter feeding back into the FB compressor.
PhRMSFBFFCompressorGainStereoPhCompressorRMS feed forward / feed back stereo dynamic range compressor.
Ratio2StrengthUnitGeneratorConverts a ratio to a strength.
Strength2RatioUnitGeneratorConverts 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.

ClassInherits fromDescription
BrassMIDIWindInstrumentsReady-to-use MIDI-controllable brass instrument physical model with built-in UI.
ClarinetMIDIWindInstrumentsReady-to-use MIDI compliant clarinet physical model with built-in UI.
CloseInsPhPmOutElementCloses the inputs of a bidirectional chain in all directions.
CloseOutsPhPmElementCloses the outputs of a bidirectional chain in all directions except for the main signal output (3d output).
DjembeModalPercussionDirt-simple djembe modal physical model.
DjembeMIDIModalPercussionSimple MIDI controllable djembe physical model with built-in UI.
ElecGuitarStringInstrumentsA simple acoustic guitar model with steel strings (based on guitarModel) implementing an excitation model.
ElecGuitarMIDIStringInstrumentsReady-to-use MIDI-enabled electric guitar physical model with built-in UI.
EnglishBellModalPercussionFrench church bell modal model.
ExciterUnitGeneratorSuperclass for various kind of excitation signal generators.
FluteMIDIWindInstrumentsReady-to-use MIDI-controllable flute physical model with built-in UI.
FluteModelWindInstrumentsA simple generic flute instrument physical model without tone holes (pitch is changed by changing the length of the tube of the instrument).
FormantSynthesisUnitGeneratorFormant synthesis models and utilities from the Faust standard library.
FrenchBellModalPercussionFrench church bell modal model.
GermanBellModalPercussionFrench church bell modal model.
GuitarStringInstrumentsA simple acoustic guitar model with steel strings (based on guitarModel) implementing an excitation model.
GuitarMIDIStringInstrumentsReady-to-use MIDI-enabled steel strings acoustic guitar physical model with built-in UI.
InLeftRightWavePhPmElementAdds a signal to left and right going waves anywhere in a chain of blocks.
InLeftWavePhPmElementAdds a signal to left going waves anywhere in a chain of blocks.
InRightWavePhPmElementAdds a signal to right going waves anywhere in a chain of blocks.
KarplusStrongMIDIStringInstrumentsReady-to-use, MIDI-enabled Karplus-Strong string with buil-in UI.
MarimbaModalPercussionSimple marimba physical model implementing a single tone bar connected to tube.
MarimbaMIDIModalPercussionSimple MIDI controllable djembe physical model with built-in UI.
ModalPercussionUnitGeneratorHigh and low level objects for modal synthesis of percussion instruments.
NylonGuitarMIDIStringInstrumentsReady-to-use MIDI-enabled electric guitar physical model with built-in UI.
OutLeftRightWavePhPmOutElementSends the signal of right and left going waves to the output channel of the chain.
OutLeftWavePhPmOutElementAdds a signal to left going waves anywhere in a chain of blocks.
OutRightWavePhPmOutElementSends the signal of right going waves to the output channel of the chain.
PhAllpassNLPhPmElementBidirectional block adding nonlinearities in both directions in a chain.
PhBasicBlockUnitGeneratorEmpty bidirectional block to be used with chain : 3 signals ins and 3 signals out.
PhBlowerExciterA virtual blower creating a DC signal with some breath noise in it.
PhBlower_UIExciterSame as blower but with default UI and vibrato controls.
PhBrassLipsTableUnitGeneratorExtremely basic reed table that can be used to implement a wide range of single reed types for many different instruments (saxophone, clarinet, etc.).
PhBrassModelUIUnitGeneratorSame as brassModel but with a built-in UI.
PhBrassUIUnitGeneratorReady-to-use brass instrument physical model with built-in UI based on brassModel.
PhBridgeFilterUnitGeneratorGeneric 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.
PhChainUnitGeneratorCreates a chain of bidirectional blocks.
PhClarinetModelUnitGeneratorA simple clarinet physical model without tone holes (pitch is changed by changing the length of the tube of the instrument).
PhClarinetMouthPieceUnitGeneratorBidirectional block implementing a clarinet mouthpiece as well as the various interactions happening with traveling waves.
PhClarinetReedUnitGeneratorExtremely basic reed table that can be used to implement a wide range of single reed types for many different instruments (saxophone, clarinet, etc.).
PhClarinetUIUnitGeneratorReady-to-use clarinet physical model with built-in UI based on clarinetModel.
PhEndChainPhPmElementCloses the inputs and outputs of a bidirectional chain in all directions except for the main signal output (3d output).
PhF2lUnitGeneratorConverts a frequency in hertz to length in meters.
PhFluteJetTableUnitGeneratorExtremely basic reed table that can be used to implement a wide range of single reed types for many different instruments (saxophone, clarinet, etc.).
PhFluteModelUIUnitGeneratorSame as fluteModel but with a built-in UI.
PhFluteUIUnitGeneratorReady-to-use flute physical model with built-in UI based on fluteModel.
PhGuitarBridgeUnitGeneratorBidirectional block implementing a simple acoustic guitar bridge.
PhGuitarNutsUnitGeneratorBidirectional block implementing a simple acoustic guitar nuts.
PhIdealStringPhStringAbstractAn "ideal" string with rigid terminations and where the plucking position and the pick-up position are the same.
PhImpulseExcitationExciterCreates an impulse excitation of one sample.
PhKarplusStrongUnitGeneratorA Karplus-Strong string (in that case, the string is implemented as a one dimension waveguide).
PhKsReflexionFilterUnitGeneratorThe "typical" one-zero Karplus-strong feedforward reflexion filter.
PhL2fUnitGeneratorLength in meters to frequency.
PhL2sUnitGeneratorLength in meters to number of samples
PhLStringRigidTerminationPhPmElementBidirectional block implementing a left rigid string termination (no damping, just phase inversion).
PhModalModelUnitGeneratorImplement a single resonance modes using resonant bandpass filters.
PhModeFilterUnitGeneratorResonant bandpass filter that can be used to implement a single resonance (mode).
PhNylonGuitarPhStringAbstractA simple acoustic guitar model with nylon strings (based on nylonGuitarModel) implementing an excitation model.
PhNylonGuitarModelPhStringAbstractA simple acoustic guitar model with nylon strings and selectable excitation position.
PhNylonStringPhStringAbstractA bidirectional block implementing a basic nylon string with selectable excitation position.
PhOpenStringPhStringAbstractA bidirectional block implementing a basic "generic" string with a selectable excitation position.
PhOpenStringPickdownPhStringAbstractA bidirectional block implementing a "generic" string with selectable excitation position and stiffness.
PhOpenStringPickupPhStringAbstractA bidirectional block implementing a "generic" string with selectable excitation position.
PhOpenTubePhTubeA tube segment without terminations (same as stringSegment).
PhPluckStringExciterCreates a plucking excitation signal.
PhPmElementUnitGeneratorAbstract superclass for all Pysical Models blocks with 3 inputs
PhPmOutElementUnitGeneratorAbstract superclass for all Pysical Models blocks with 3 inputs
PhReedTableUnitGeneratorExtremely basic reed table that can be used to implement a wide range of single reed types for many different instruments (saxophone, clarinet, etc.).
PhRStringRigidTerminationPhPmElementBidirectional block implementing a right rigid string termination (no damping, just phase inversion).
PhSteelStringPhStringAbstractA bidirectional block implementing a basic steel string with selectable excitation position.
PhStrikeExciterStrikes generator with controllable excitation position
PhStrikeModelExciterCreates a filtered noise excitation
PhStringAbstractPhPmElementAbstract super class for string elements
PhStringSegmentUnitGeneratorA string segment without terminations (just a simple waveguide).
PhTerminationsUnitGeneratorCreates terminations on both sides of a chain without closing the inputs and outputs of the bidirectional signals chain.
PhTubeUnitGeneratorAbstract superclass for Physical Tubes
PhVoiceGenderUnitGeneratorCalculate the gender for the provided voiceType value.
PhWaveguidePhPmElementStandard pm.lib waveguide (based on waveguideFd4).
RussianBellModalPercussionFrench church bell modal model.
SFFormantModelBPFormantSynthesisSimple formant/vocal synthesizer based on a source/filter model.
SFFormantModelBP_uiFormantSynthesis
SFFormantModelFofCycleFormantSynthesisSimple formant/vocal synthesizer based on a source/filter model.
SFFormantModelFofCycle_UIFormantSynthesisSimple formant/vocal synthesizer based on a source/filter model.
StringInstrumentsUnitGeneratorLow and high level string instruments parts.
ViolinMIDIStringInstrumentsReady-to-use MIDI-enabled violin physical model with built-in UI.
ViolinModelStringInstrumentsReady-to-use simple violin physical model.
WindInstrumentsUnitGeneratorWind 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.

ClassInherits fromDescription
ClapSynthsClap synthesis through filtered white noise.
CombStringSynthsSimplest string physical model ever based on a comb filter.
DubDubSynthsA simple synth based on a sawtooth wave filtered by a resonant lowpass.
Fm4OpSynthsA simple FM synthesizer with an arbitrary number of modulators connected as a sequence.
HatSynthsHi hat drum synthesis via phase modulation.
KickSynthsKick drum synthesis via a pitched sine sweep.
PhLoopTpSamplerPlay a soundfile in a loop taking into account its sampling rate
PhLoopSpeedPhLoopPlay a soundfile in a loop taking into account its sampling rate, with speed control.
PhLoopSpeedLevelPhLoopSpeedPlay a soundfile in a loop taking into account its sampling rate, with speed control.
PopFilterDrumSynthsA simple percussion instrument based on a "popped" resonant bandpass filter.
SawTromboneSynthsA simple trombone based on a lowpassed sawtooth wave.
SynthsUnitGeneratorThis 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.

ClassInherits fromDescription
Dx7AlgoUnitGenerator[More about operators and algorythms here](https://djjondent.blogspot.com/2019/10/yamaha-dx7-algorithms.html).
Dx7AlgorithmUnitGeneratorDX7 function for a specific algorithm at compile-time.
Dx7EnvUnitGeneratorDX7 operator envelope generator with 4 independent rates and levels.
Dx7OpUnitGeneratorImplements a phase-modulable sine wave oscillator connected to a DX7 envelope generator.
Dx7UIUnitGeneratorThe 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.

ClassInherits fromDescription
PhAutomatPhBasicsRecord and replay in a loop the successives values of the input signal.
PhBasicsUnitGeneratorConveniece abstract super class for basics utilities with one input
PhBitCrusherPhBasicsProduce distortion by reduction of the signal resolution.
PhDownSamplerPhBasicsThis UnitGenerator makes the work of the downSample standard Faust function.
PhDownSamplerCVPhBasicsDown sample a signal.
PhIfUnitGeneratorIf-then-else implemented with a select2.
PhImpulsifyUnitGeneratorTurns 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).
PhKr2ArPhBasicsForce a control rate signal to be used as an audio signal For example:
PhLatchPhBasicsLatch input on the rising edge of trig.
PhLinePhBasicsA 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'…
PhOnAndOffUnitGeneratorThe first channel set the output to 1, the second channel to 0.
PhPeakHoldPhBasicsOutputs current max value above zero.
PhPeakHolderPhBasicsWhile 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…
PhSampleAndHoldPhBasicsSample And Hold.
PhTestAndHoldPhBasicsTest And Hold: "records" the input when pred(input) is true, outputs a frozen value otherwise.
PhTogglePhBasicsTriggered 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.

ClassInherits fromDescription
CounterUnitGeneratorStarts counting 0, 1, 2, 3..., and raise the current integer value at each upfront of the trigger.
PhBeatUnitGeneratorPulses at tempo in BPM.
PhCountDownUnitGeneratorStarts counting up from 0 to n included.
PhCountUpUnitGeneratorStarts counting up from 0 to n included.
PhCycleUnitGeneratorSplit nonzero input values into n cycles.
PhPeriodUnitGeneratorBasic sawtooth wave of period p.
PhRampUnitGeneratorA linear ramp with a slope of '(+/-)1/n' samples to reach the next target value.
PhResetCtrUnitGeneratorFunction that lets through the mth impulse out of each consecutive group of n impulses.
PhSweepUnitGeneratorCounts from 0 to period-1 repeatedly, generating a sawtooth waveform, like os.lf_rawsaw, starting at 1 when run transitions from 0 to 1.
PhTempoUnitGeneratorConverts a tempo in BPM into a number of samples.
PhTimeUnitGeneratorA simple timer that counts every samples from the beginning of the process.
PulseUnitGeneratorPulses generated at period in seconds
PulseCountDownUnitGeneratorStarts counting down pulses.
PulseCountDownLoopUnitGeneratorStarts counting down pulses from 0 to n included.
PulseCountUpUnitGeneratorStarts counting up pulses.
PulseCountUpLoopUnitGeneratorStarts counting up pulses from 0 to n included.
PulsenUnitGeneratorGgenerator of pulses with length and period in seconds
SpulseUnitGeneratorProduces 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.

ClassInherits fromDescription
PhCent2RatioPhConversionToolConverts semitone cents in a frequency multiplicative ratio.
PhConversionToolUnitGeneratorSuperclass for all Conversion tools
PhDb2LinearPhConversionToolDB-to-linear value converter.
PhHz2MidiKeyPhConversionToolConverts a frequency in Hz to a MIDI key number (440 Hz = MIDI key 69).
PhHz2PianoKeyPhConversionToolConverts a frequency in Hz to a MIDI key number (440 Hz = MIDI key 69).
PhLinear2DbPhConversionToolLinear-to-dB value converter.
PhLinear2LogGainPhConversionToolConverts a linear gain (0-1) to a log gain (0-1).
PhLog2LinearGainPhConversionToolConverts a log gain (0-1) to a linear gain (0-1).
PhMidiKey2HzPhConversionToolConverts a MIDI key number to a frequency in Hz (MIDI key 69 = 440 Hz).
PhPianoKey2HzPhConversionToolConverts a MIDI key number to a frequency in Hz (MIDI key 69 = 440 Hz).
PhPole2tauPhConversionToolReturns the time-constant, in seconds, corresponding to the given real, positive pole in (0-1).
PhRatio2CentPhConversionToolConverts a frequency multiplicative ratio in semitone cents.
PhRatio2SemitonePhConversionToolConverts a frequency multiplicative ratio in semitones.
PhSamp2SecPhConversionToolConverts a number of samples to a duration in seconds at the current sampling rate .
PhSec2SampPhConversionToolConverts a duration in seconds to a number of samples at the current sampling rate
PhSemi2RatioPhConversionToolConverts semitones in a frequency multiplicative ratio.
PhTau2PolePhConversionToolReturns a real pole giving exponential decay.

13. Signals 11

Signal plumbing: buses, smoothing, reversal and interpolation.

ClassInherits fromDescription
PhBlockSignalUnitGeneratorBlock - terminate N signals.
PhBSmoothPhSmooBlock smooth linear interpolation during a block of samples (given by the ma.BS value).
PhBusUnitGeneratorPut anInteger number of signals in parallel.
PhInterpolateUnitGeneratorLinear interpolation between two signals.
PhOnePoleSwitchingPhSmooOne pole filter with independent attack and release times.
PhPolySmoothPhSmoothAndHA smoothing function based on smooth that doesn't smooth when a trigger signal is given.
PhRevUnitGeneratorReverse the input signal by blocks of n>0 samples.
PhSmooUnitGeneratorSmoothing function based on smooth ideal to smooth UI signals (sliders, etc.) down.
PhSmoothPhSmooExponential smoothing by a unity-dc-gain one-pole lowpass.
PhSmoothAndHPhSmoothA smoothing function based on smooth that holds its output signal when a trigger is sent to it.
PhSmoothQPhSmooSmoothing 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.

ClassInherits fromDescription
PhAdderPhBinaryOperationAdd two UnitGenerators
PhBinaryOperationUnitGeneratorSuper class for Phausto binary operations.
PhDividerPhBinaryOperationDivide my first input (a UnitGenerator) by a second input (also another UnitGenerator)
PhMergeOperationUnitGeneratorConvenience class to merge unit generators before converting them into PhBoxes
PhModulorPhBinaryOperationModulo my first input (a UnitGenerator) by a second input (also another UnitGenerator)
PhMultiplicatorPhBinaryOperationMultiplictae two Unit Generators
PhPowerPhBinaryOperationExponentiation where inputL is base and input R is exponent
PhSplitOperationUnitGeneratorConvenience class to split Unit Generators before converting them into PhBoxes
PhSubtractorPhBinaryOperationDivide my second input (a UnitGenerator) to the first input (also another UnitGenerator)
PhUnaryOperationUnitGeneratorSuper 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.

ClassInherits fromDescription
PhBlockSizeUnitGeneratorCurrent block-size.
PhChebychevUnitGenerator
PhChebychevPolyUnitGenerator
PhConstantEUnitGeneratorDouble-precision Euler's number constant
PhConstantEpsilonUnitGeneratorConstant 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.
PhConstantMaxUnitGeneratorConstant MAX available in simple/double/quad precision (minimal positive value).
PhConstantMinUnitGeneratorConstant MIN available in simple/double/quad precision (minimal positive value).
PhConstantPIUnitGeneratorConstant PI in double precision.
PhConstantTUnitGeneratorCurrent sample duration in seconds computed from the sampling rate given at init time.
PhCopySignPhBinaryOperationChanges the sign of x (first input) to that of y (second input).
PhCubeRootPhUnaryOperationComputes the cube root of of the input signal.
PhDeg2RadPhUnaryOperationConvert degrees to radians.
PhDiffnPhUnaryOperationNegated first-order difference.
PhErfPhUnaryOperationComputes the error function of the input signal.
PhErfCPhUnaryOperationComputes the complementary error function of the input signal.
PhExpM1PhUnaryOperationReturn exponent of the input signal minus 1 with better precision.
PhFracPhUnaryOperationGives the fractional part of its input
PhFTZPhUnaryOperationFlush to zero: force samples under the "maximum subnormal number" to be zero.
PhHypothenusePhBinaryOperationComputes the euclidian distance of the two input signals sqrt(xx+yy) without undue overflow or underflow.
PhILogBPhUnaryOperationReturn exponent of the input signal as a floating-point number.
PhInterpolateLinearUnitGeneratorLinear interpolation between 2 values.
PhInterpolateRaiseModuloUnitGeneratorA PhRaiseModulo is a looping fractional read-index generator, ported from Faust's raise_modulo in interpolators.lib.
PhInversePhUnaryOperationCompute the inverse (1/x) of the input signal.
PhIsInfPhUnaryOperationReturn non-zero if x is a positive or negative infinity.
PhIsNanUnitGeneratorReturn non-zero if x is a NaN.
PhJ0PhUnaryOperationComputes the Bessel function of the first kind of order 0 of the input signal.
PhJ1PhUnaryOperationComputes the Bessel function of the first kind of order 1 of the input signal.
PhJnPhBinaryOperationComputes the Bessel function of the first kind of order n of the input signal.
PhLdExpPhBinaryOperationTakes two input signals: x and n, and multiplies x by 2 to the power n.
PhLGammaPhUnaryOperationCalculates the natural logorithm of the absolute value of the gamma function of the input signal.
PhLog1pPhUnaryOperationComputes log(1 + x) without undue loss of accuracy when x is nearly zero.
PhLog2PhUnaryOperationReturns the base 2 logarithm of x.
PhLogBPhUnaryOperationReturn exponent of the input signal as a floating-point number.
PhModuloMathPhBinaryOperationModulus operation using the (x%y+y)%y formula to ensures the result is always non-negative, even if x is negative.
PhNegPhUnaryOperationInvert the sign (-x) of a signal.
PhNextPowerOf2PhUnaryOperationGives the next power of 2 of its input.
PhNotUnitGeneratorBitwise not implemented with xor as not(x) = x xor -1;.
PhPrimesPhUnaryOperationReturn the n-th prime using a waveform primitive.
PhQuantizeUnitGenerator
PhRad2DegPhUnaryOperationConvert radians to degrees.
PhSampleDurationUnitGeneratorCurrent sample duration in seconds computed from the sampling rate given at init time.
PhSampleRateUnitGeneratorCurrent sampling rate given at init time.
PhScalbPhBinaryOperationTakes two input signals: x and n, and multiplies x by 2 to the power n.
PhSignumPhUnaryOperationThe signum function signum(x) is defined as -1 for x<0, 0 for x==0, and 1 for x>0.
PhSubPhUnaryOperationSubtract x and y.
PhY0PhUnaryOperationComputes the linearly independent Bessel function of the second kind of order 0 of the input signal.
PhY1PhUnaryOperationComputes the linearly independent Bessel function of the second kind of order 1 of the input signal.
PhYnPhBinaryOperationComputes the linearly independent Bessel function of the second kind of order n of the input signal.
PhZeroCrossingPhUnaryOperationIndicator 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.

ClassInherits fromDescription
AASineTrigonometryFirst-order ADAA sin().
AASine2TrigonometrySecond-order ADAA sin().
ACosh1TrigonometryFirst-order ADAA acosh().
ACosh2TrigonometrySecond-order ADAA acosh().
ArcCosTrigonometryFirst-order ADAA acos().
ArcCos2TrigonometrySecond-order ADAA acos().
ArcSinTrigonometryFirst-order ADAA cos().
ArcSin2TrigonometryFirst-order ADAA cos().
ATanh1TrigonometryFirst-order ADAA atanh().
Atanh2TrigonometryFirst-order ADAA cos().
Cosine1TrigonometryFirst-order ADAA cos().
Cosine2TrigonometryFirst-order ADAA cos().
TangentTrigonometryFirst-order ADAA tan().
TrigonometryUnitGeneratorCollection of trigonomertric UnitGenerators at audio rate

17. Toolkit 23

Higher-level utilities: sequencers, selectors, loopers, capture and routing helpers.

ClassInherits fromDescription
LFORandomPosLFOForModulationLowFrequencyOscillator with random positive values
Ph2BlocksChainUnitGeneratorHelper class to contruct chains for physical models
PhCaptureUnitGeneratorCapture audio input while Capture button is pressed.
PhControlParameterObjectParameter of a UnitGenerator that can be changed in real time if assigned to one subclass of UIPrimitive §
PhDensityGateUnitGeneratorAm PhDensityGate a noise-based random gate.
PhEndRoutingUnitGeneratorHelper class to contruct chains for physical models
PhIncrementerPhBoxIncrement by incrValue at every step.
PhListUnitGeneratorAm the Phausto implementation of a Faust list, simulated in the language using parallel composition: (1,2,3,5,7,11).
PhLooperUnitGeneratorA simple looper with speed playback control
PhMemUnitGeneratorA 1 sample delay.
PhPostRoutingUnitGeneratorHelper class to construct chains for physical models
PhPreRoutingUnitGeneratorHelper class to construct chains for physical models
PhReaderWithSpeedUnitGeneratorPhReaderWithSpeed, I read audio buffers at a desired speed.
PhResetterUnitGeneratorResetter, when triggered, I set my value to 0.
PhSelect4PhBoxSelect between 4 inputs, starts counting at 0
PhSelectNUnitGeneratorSelect inputs at index.
PhSequencerUnitGeneratorHigh level abstractio for sequencer
PhSubBeatUnitGeneratorTempo: the tempo in beays per minutes clockDivider: the clock divisions, set 2 for 16th notes, 4 to for 8th notes, 8 for beats.
PhSyncTrigUnitGeneratorAm PhSyncTrig a sin-based resettable trigger generator
PhTkCounterUnitGeneratorPhausto counter, I count from 1 to maxValue when triggered.
PhZeroListPhListSpecial subclass of PhList counting from zero, used for parallel composition that avoid transformation into PhBox before cobersion to Dsp
PulseGatePhResetCtrPulseGate is a class that selectively allows specific pulses to pass through from a sequence of impulses generated by an existing pulse generator.
SamplePlayerPhBox

18. UI Primitives 9

Sliders, buttons, checkboxes and bargraphs. See UI Primitives.

ClassInherits fromDescription
PhButtonUIPrimitiveRepresent a Faust button, you need me to display a button in your UI
PhCheckboxUIPrimitiveAm checkbox/toggle Faust UI primitive - I encode an information about my type separated with a tilde ~ from the label.
PhHBarGraphUnitGeneratorThe hbargraph primitive implements a vertical bar-graph (typically a meter displaying the level of a signal).
PhHSliderPhSliderFaust horizontal slider
PhNumEntryPhSliderThe nentry primitive implements a "numerical entry".
PhSliderUIPrimitiveSuper class for Horizontal, Vertical and NumEntry slider created by the Faust compiler.
PhVBarGraphUnitGeneratorThe hbargraph primitive implements a vertical bar-graph (typically a meter displaying the level of a signal).
PhVSliderPhSliderPhausto vertical slider
UIPrimitiveObjectFaust 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.

ClassInherits fromDescription
AcidTpSynthAcid is the Phausto clone of the Roland TB-303.
ChordyTpSynthAm Chordy, a simple 3 voices oscillator with controllable mode (minor/major/ sus4 / sus2) and cutoff frequency of my resonant ;owpass filter
CustomPhaustoTurboPhaustoAbstract subclass of TurboPhausto made to create custom version of TurboPhausto.
EcoPhaustoCustomPhaustoLighter version of TurboPhausto designed for improved performance on Windows/Linux without audio interface.
Fm2OpTpSynthTwo operator FM synthesiser with ADSR envelope.
GreyHoleDWUnitGeneratorGreyHole reverb with dry/wet control.
MooPhaustoTurboPhaustoThe MooPhausto is a reduced TurboPhausto engine designed for the live coding performance with MOOFLOD widgets.
PhaustoEngineObjectAn abstract superclass for TurboPhausto engines to be used with Coypu for live coding
PsgPlusTpSynthSynthesiser with selectable Oscillators/Noise with a basic LFO for pitch and a AM Modulation on output.
TpHooverTpSynthHoover inspired sound modeled after Roland Alpha Juno sound but using two Sawtooth waves instead of a Pulse with modulated PWM
TpKarplusUnitGeneratorReady to use Karplus strong !
TpKick99TpSynth909 style kick implemented with the techinques explained https://www.soundonsound.com/techniques/practical-bass-drum-synthesis
TpReeseTpSynthReese bass synthesiser with ADSR envelope.
TpSamplerTpSynth(Multi)Sample Player.
TpSamplerPLUSTpSynth(Multi)Sample Player.
TpSamplerReverbTpSynth(Multi) Sample Player.
TpSynthUnitGeneratorTpSynth stands for TurboPhauto Synth.
TurboPhaustoPhaustoEngineThis 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.

ClassInherits fromDescription
Colored_Noise_DemoPhDemosA coloured noise signal generator.
Compressor_DemoPhDemosStereoAudio Compressor demo.
CryBaby_DemoPhDemosMonoThe Dunlop Cry Baby is a popular wah-wah pedal, manufactured by Dunlop Manufacturing, Inc.
Cubicnl_DemoPhDemosMonoCubi Distortion demo
Dattorro_Rev_DemoPhDemosStereoDatorro Reverb Demo.
Envelopes_DemoPhDemosIllustrate various envelopes overlaid, including their gate * 1.1.
Exciter_DemoPhDemosMonoPsychoacoustic harmonic exciter, with GUI.
Fft_Spectral_Level_demoPhDemosMake a real-time spectrum analyzer using FFT from analyzers.lib.
FilterBank_DemoPhDemosMonoFilter bank demo
Flanger_DemoPhDemosStereoFlanger effect demo.
Freeverb_DemoPhDemosStereoFreeverb demo
Gate_DemoPhDemosStereoNoise Gate demo.
GreyHole_DemoPhDemosStereoGreyHole Reverb demo
JpRev_DemoPhDemosStereoJp REverb demo
KbRomRev1PhDemosStereoKeith Barr reverb effect rom_rev1 demo application.
Latch_DemoPhDemosIllustrate latch operation.
Moog_Vcf_DemoPhDemosMonoIllustrate and compare all three Moog VCF implementations.
Oscrs_DemoPhDemosSimple application demoing filter based oscillators.
Parametric_Eq_DemoPhDemosMonoDemo of a parametric equalizer.
Phaser2_DemoPhDemosStereoPhaser effeect demo.
PhDemosUnitGeneratorSubclasses of demo are complex Unit Generations with a ready-UI coming from Faust examples
PhDemosMonoPhDemosSuperclass for mono demos
PhDemosStereoPhDemosSuperclass for stereo demos
PhVitalRev_DemoPhDemosStereoVitalRev demo
PosPass_DemoPhDemosMonoUse Positive-Pass Filter pospass() to frequency-shift a sine tone.
ReverbTank_DemoPhDemosStereoThis is a stereo reverb following the "ReverbTank" example in [1], although some parameter ranges and scaling have been adjusted.
Reverse_Echo_DemoPhDemosMonoMultichannel echo effect with reverse delays.
Sawtooth_DemoPhDemosAn application demonstrating the different sawtooth oscillators of Faust.
Spectral_Tilt_DemoPhDemosMonoA spectral tilt application.
TapeStop_DemoPhDemosStereoTapeStop effect demo.
Twin_Osc_DemoPhDemosTwinOsc - virtual analog synthesis with a time-varying comb filter.
Velvet_Noise_DemoPhDemosSimple application demoing filter based oscillators.
Virtual_Analog_Oscillator_DemoPhDemosVirtual analog oscillator demo application.
Vocoder_DemoPhDemosMonoUse example of the vocoder function where an impulse train is used as excitation.
Wah4_DemoPhDemosMonoWahWah pedal demo
ZitaLightPhDemosStereoLight version of Zita Rev1 with only 2 UI elements.
ZitaRev1PhDemosStereoExample 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.

ClassInherits fromDescription
CutPhBoxUse the Cut object to cut a signal (stop it!)
DSPFFIOpaqueObjectOpaque structure representing a DSP object.
DSPParameterObjectDSPParameter represents a single adjustable value of a DSP unit.
DSPParameterStoreObject"DSPParameterStore holds all parameters of a DSP unit.
PhBoxFFIOpaqueObjectBox class, used as a container for Boxes.
PhCrossnnUnitGeneratorCross two bus(N)s.
PhMultiplierPhBoxPhMultiplier.
Select2PhBoxThe select2 primitive is a "two-way selector".
SoundFilePhBoxThe soundfile primitive allows the access of a list of externally defined sound resources, described as the list of their filename, or complete paths.
UnitGeneratorObjectSuper class of all Unit Generators.
UnitGeneratorNullObjectObjectAm the UnitGeneratorNullObject, all the UnitGenerators instances become an instance of my class after an underlying Faust context is destroyed.
WirePhBoxThis box represents a wire ( _ )in the Faust programming language.

22. Where to go next

DocumentWhat it covers
Setter TraitsThe selectors these classes respond to, and where they come from.
Unit GeneratorsWhat every entry in this table has in common.
DSP & Parameter APIWhat to do with a UGen once you have chosen one.
Connecting UGensJoining several of these into a patch.

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.