Interface  Description 

GrainEnvelope 
This envelope should start at 0.0, go up to 1.0 and then return to 0.0 in duration time.

GrainScheduler 
Defines a class that can schedule the execution of Grains in a GrainFarm.

GrainSource 
Defines classes that can provide the signal inside a Grain.

UnitSink 
Interface for unit generators that have an input.

UnitSource 
Interface for things that have that have an output and an associated UnitGenerator.

UnitVoice 
A voice that can be allocated and played by the VoiceAllocator.

Class  Description 

Add 
This unit performs a signed addition on its two inputs.

AsymptoticRamp 
Output approaches Input exponentially.

ChannelIn 
Provides access to one specific channel of the audio input.

ChannelOut 
Provides access to one channel of the audio output.

Circuit 
Contains a list of units that are executed together.

Compare 
Output 1.0 if inputA > inputB.

ContinuousRamp 
A ramp whose function over time is continuous in value and in slope.

CrossFade 
Linear CrossFade between parts of the input.

Delay 
Simple noninterpolating delay.

Divide 
This unit divides its two inputs.

DualInTwoOut 
This unit splits a dual (stereo) input to two discrete outputs.

EdgeDetector 
Output 1.0 if the input crosses from zero while rising.

EnvelopeAttackDecay 
Two stage Attack/Decay envelope that is triggered by an input level greater
than THRESHOLD.

EnvelopeDAHDSR 
Six stage envelope similar to an ADSR.

ExponentialRamp 
Output approaches Input exponentially and will reach it in the specified time.

FFT 
Periodically transform the complex input signal using an FFT
to a complex spectral stream.

FFTBase 
Periodically transform the complex input signal using an FFT
to a complex spectral stream.

FilterAllPass 
AllPass filter using the following formula:

FilterBandPass 
Filter that allows frequencies around the center frequency to pass and blocks others.

FilterBandStop 
Filter that blocks frequencies around the center frequency.

FilterBiquad 
Base class for a set of IIR filters.

FilterBiquadCommon 
Extend this class to create a filter that implements a Biquad filter with a Q
port.

FilterBiquadShelf 
This filter is based on the BiQuad filter and is used as a base class for
FilterLowShelf and FilterHighShelf.

FilterFourPoles 
Resonant filter in the style of the Moog ladder filter.

FilterHighPass 
Filter that allows frequencies above the center frequency to pass.

FilterHighShelf 
HighShelf Filter.

FilterLowPass 
Filter that allows frequencies below the center frequency to pass.

FilterLowShelf 
LowShelf Filter.

FilterOnePole 
First Order, One Pole filter using the following formula:

FilterOnePoleOneZero 
First Order, One Pole, One Zero filter using the
following formula:

FilterOneZero 
First Order, One Zero filter using the following formula:

FilterPeakingEQ 
PeakingEQ Filter.

FilterStateVariable 
A versatile filter described in Hal
Chamberlain's "Musical Applications of MicroProcessors".

FilterTwoPoles 
Second Order, Two Pole filter using the following formula:

FilterTwoPolesTwoZeros 
Second Order, Two Pole, Two Zero filter using the
following formula:

FixedRateMonoReader 
Simple sample player.

FixedRateMonoWriter 
Simple sample writer.

FixedRateStereoReader 
Simple stereo sample player.

FixedRateStereoWriter 
Simple stereo sample writer.

FourWayFade 
FourWayFade unit.

FunctionEvaluator 
Convert an input value to an output value.

FunctionOscillator 
Oscillator that uses a Function object to define the waveform.

Grain 
A single Grain that is normally created and controlled by a GrainFarm.

GrainCommon  
GrainFarm 
A unit generator that generates a cloud of sound using multiple Grains.

GrainSourceSine 
A simple sine wave generator for a Grain.

IFFT 
Periodically transform the complex input spectrum using an IFFT
to a complex signal stream.

ImpulseOscillator 
Narrow impulse oscillator.

ImpulseOscillatorBL 
Impulse oscillator created by differentiating a sawtoothBL.

Integrate 
IntegrateUnit unit.

InterpolatingDelay 
InterpolatingDelay

Latch 
Latch or hold an input value.

LatchZeroCrossing 
Latches when input crosses zero.

LinearRamp 
Output approaches Input linearly.

LineIn 
External audio input is sent to the output of this unit.

LineOut 
Input audio is sent to the external audio output device.

Maximum 
Output largest of inputA or inputB.

Minimum 
Output smallest of inputA or inputB.

MixerMono 
Multichannel mixer with mono output and master amplitude.

MixerMonoRamped 
Similar to MixerMono but the gain and amplitude ports are smoothed
using short linear ramps.

MixerStereo 
Mixer with monophonic inputs and two channels of output.

MixerStereoRamped 
Similar to MixerStereo but the gain, pan and amplitude ports are smoothed
using short linear ramps.

MonoStreamWriter 
Write one sample per audio frame to an AudioOutputStream with no interpolation.

Multiply 
This unit multiplies its two inputs.

MultiplyAdd 
output = (inputA * inputB) + inputC

Pan 
Pan unit.

PanControl 
PanControl unit.

ParabolicEnvelope 
ParabolicEnvelope unit.

PassThrough 
Pass the input through to the output unchanged.

PeakFollower 
Tracks the peaks of an input signal.

PhaseShifter 
PhaseShifter effects processor.

PinkNoise 
Random output with 3dB per octave rolloff providing a soft natural noise sound.

PitchDetector 
Estimate the fundamental frequency of a monophonic signal.

PowerOfTwo 
output = (2.0^input)
This is useful for converting a pitch modulation value into a frequency
scaler.

PulseOscillator 
Simple pulse wave oscillator.

PulseOscillatorBL 
Pulse oscillator that uses two band limited sawtooth oscillators.

RaisedCosineEnvelope 
An envelope that can be used in a GrainFarm to shape the amplitude of a Grain.

RangeConverter 
Convert an input signal between 1.0 and +1.0 to the range min to max.

RectangularWindow 
Window that is just 1.0.

RedNoise 
RedNoise unit.

SampleGrainFarm 
A GrainFarm that uses a FloatSample as source material.

SampleGrainSource  
SawtoothOscillator 
Simple sawtooth oscillator.

SawtoothOscillatorBL 
Sawtooth oscillator that uses multiple wave tables for band limiting.

SawtoothOscillatorDPW 
Sawtooth DPW oscillator (a sawtooth with reduced aliasing).

SchmidtTrigger 
SchmidtTrigger unit.

Select 
SelectUnit unit.

SequentialDataReader 
Base class for reading a sample or envelope.

SequentialDataWriter 
Base class for writing to a sample.

SineOscillator 
Sine oscillator generates a frequency controlled sine wave.

SineOscillatorPhaseModulated 
Sine oscillator with a phase modulation input.

SpectralFFT 
Periodically transform the input signal using an FFT.

SpectralFilter 
Process a signal using multiple overlapping FFT and IFFT pairs.

SpectralIFFT 
Periodically transform the input signal using an Inverse FFT.

SpectralProcessor 
This is a base class for implementing your own spectral processing units.

SquareOscillator 
Simple square wave oscillator.

SquareOscillatorBL 
Bandlimited square wave oscillator.

StereoStreamWriter 
Write two samples per audio frame to an AudioOutputStream as interleaved samples.

StochasticGrainScheduler 
Use a random function to schedule grains.

Subtract 
This unit performs a signed subtraction on its two inputs.

TriangleOscillator 
Simple triangle wave oscillator.

TunableFilter 
A UnitFilter with a frequency port.

TwoInDualOut 
This unit combines two discrete inputs into a dual (stereo) output.

UnitBinaryOperator 
Base class for binary arithmetic operators like Add and Compare.

UnitFilter 
Base class for all filters.

UnitGate 
Base class for other envelopes.

UnitGenerator 
Base class for all unit generators.

UnitOscillator 
Base class for all oscillators.

UnitStreamWriter 
Base class for writing to an AudioOutputStream.

Unzipper 
Used inside UnitGenerators for fast smoothing of inputs.

VariableRateDataReader  
VariableRateMonoReader 
This reader can play any SequentialData and will interpolate between adjacent
values.

VariableRateStereoReader 
This reader can play any SequentialData and will interpolate between adjacent
values.

WhiteNoise 
WhiteNoise unit.

ZeroCrossingCounter 
Count zero crossings.
