This old API is deprecated. Please use the new API instead!
JSyn Unit Generator Overview
Arithmetic and Logic
-
AddUnit - output
= inputA + inputB, clipped between -1.0 and <1.0.
-
CompareUnit
- output = ( inputA > inputB ) ? 1.0 : 0.0;
-
DivideUnit -
output = inputA / inputB
-
LatchUnit - output
= (Gate > 0.0) ? Input : previous-output; used for sample and hold.
-
MaximumUnit
- output = ( inputA > inputB ) ? inputA : inputB. Useful for clipping.
-
MinimumUnit
- output = ( inputA < inputB ) ? inputA : inputB. Useful for clipping.
-
MultiplyUnit
- output = inputA * inputB
-
MultiplyAddUnit
- output = inputA * inputB + inputC
-
MultiplyAddUnsignedUnit
- output = inputA * inputB + inputC. C and output are Unsigned.
-
MultiplyUnsignedUnit
- output = inputA * inputB. A, B and output are Unsigned.
-
SchmidtTrigger
- Comparator with hysteresis (separate Set and Reset levels).
-
SelectUnit -
output = ( select > 0.0 ) ? inputA : inputB;
-
SubtractUnit
- output = inputA- inputB, clipped between -1.0 and <1.0.
Control
Filters
-
Filter_1o1z
- output = y(n) = A0*x(n) + A1*x(n-1), first order, one zero.
-
Filter_1o1p
- output = y(n) = A0*x(n) - B1*y(n-1), first order, one pole.
-
Filter_1o1p1z
- output = y(n) = A0*x(n) + A1*x(n-1) - B1*y(n-1), first order, one
pole, one zero. (allpass)
-
Filter_2o2p
- output = y(n) = A0*x(n) - B1*y(n-1) - B2*y(n-2), second order,
two pole. (reson)
-
Filter_2o2p2z
- output = y(n) = 2.0 * (A0*x(n) + A1*x(n-1) + A2*x(n-2) - B1*y(n-1)
- B2*y(n-2)), second order, two pole, two zero.
-
Filter_BandPass
- passes frequencies within a narrow band.
-
Filter_BandStop
- passes frequencies within a narrow band.
-
Filter_HighPass
- resonant biquad, cuts out lower frequencies.
-
Filter_HighShelf
- resonant biquad, cuts out higher frequencies with a flat response below
the knee.
-
Filter_LowPass
- resonant biquad, cuts out higher frequencies.
-
Filter_LowShelf
- resonant biquad, cuts out lower frequencies with a flat response below
the knee.
-
StateVariableFilter
- State Variable Resonant Filter with LowPass, BandPass and HighPass outputs.
Miscellaneous
-
DelayUnit - output
= Input delayed by specified amount.
-
InterpolatingDelayUnit
- output = Input delayed by variable amount.
-
BusReader - Has
a BusInput and a normal output. Useful for mixing several signals.
-
BusWriter - Has
a normal Input and a busOutput. Useful for mixing several signals.
-
LineOut - Input[0:1]
goes to global mixer then to DAC.
-
LineIn - Output[0:1]
come from a microphone or Line Level input.
-
WaveShaper -
Interpolate value from table. Used for wave shaping, function lookup.
Noise
-
RedNoise - Linearly
interpolate between noise values with Frequency control.
-
WhiteNoise -
output = random value evenly distributed between -1.0 and <1.0.
Oscillators
Sample Related
-
SampleReader_16F1
- Play 16 bit mono sample at a fixed rate.
-
SampleReader_16F2
- Play 16 bit stereo sample at a fixed rate.
-
SampleReader_16V1
- Play 16 bit mono sample at a variable rate, linear interpolation.
-
SampleWriter_16F1
- Input written to SynthSample serving as delay line for echo/reverb/delay
effects.
-
SampleWriter_16F2
- Input written to stereo SynthSample serving as stereo delay line
or for capturing a performance..
Possible Units for Future Development
-
Math_Integrator - output = output+Input, useful for inexpensive ramps.
-
Ramp_Linear - Linear envelope segment generator.
-
Lag_Linear - output = Input with limited rate of change .
-
Lag_Peak - output tracks Input peaks with exponential decay.
-
CUBIC_AMPLIFIER - Non-linear amplifier for "fuzz box" effects.
-
DELAY4 - output[3] = output[2], ..., output[0] = Input, for filter construction.
-
DELAY_F2 - Input[0:1] written to DelayLine for stereo delay effects.
-
DEPOPPER - Used to reduce pops when stop() and start() called.
-
EXPONENTIAL_ENVELOPE - Exponential envelope segment generator.
-
EXPMOD_UNSIGNED - output = input*(2.0**modulation)), for pitch modulation.
-
SAMPLER_16_V2 - Play 16 bit stereo sample at a variable rate, linear interpolation.
-
SAMPLER_8_F1 - Play 8 bit mono sample at a fixed rate.
-
SAMPLER_8_F2 - Play 8 bit stereo sample at a fixed rate.
-
SAMPLER_8_V1- Play 8 bit mono sample at a variable rate, linear interpolation.
-
SAMPLER_8_V2- Play 8 bit stereo sample at a variable rate, linear interpolation.
-
SAMPLER_ULAW_F1 - Play 8 bit mono sample at a fixed rate.
-
SAMPLER_ULAW_F2 - Play 8 bit stereo sample at a fixed rate.
-
SAMPLER_ULAW_V1 - Play 8 bit mono sample at a variable rate, linear interpolation.
-
SAMPLER_ULAW_V2 - Play 8 bit stereo sample at a variable rate, linear interpolation.
-
SAMPLER_DRIFT_V1 - 16 bit sampler used for variable length delay effects
-
SAMPLER_RAW_F1 - Play 16 bit mono sample at a fixed rate with no Amplitude
control.
-
TAP_OUTPUT - output[0:1] is current sum of all mixers and LineOuts.