<!-- .bigred { color: #F00; } -->
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
- CrossFade - Cross fade smoothly between two inputs.
- ExponentialLag - output approaches Input exponentially.
- EnvelopePlayer - Play linear segments of an envelope.
- FourWayFade - Cross fade smoothly between four inputs.
- PanUnit - Pan a mono signal between two outputs.
- ParabolicEnvelope - Generate an arcing envelope useful for granular synthesis.
- PeakFollower - Tracks the peaks of an input signal.
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
- ImpulseOscillator - Impulse train with Frequency and Amplitude control. Sharp spikes.
- ImpulseOscillatorBL - Impulse train with Frequency and Amplitude control. Sharp spikes. (Band Limited version)
- PulseOscillator - Pulse wave oscillator with width control.
- PulseOscillatorBL - Pulse wave oscillator with width control. (Band Limited version)
- SawtoothOscillator - Sawtooth wave oscillator. Harsh.
- SawtoothOscillatorBL - Sawtooth wave oscillator. Harsh. (Band Limited version)
- SineOscillator - Sine wave oscillator. Pure smooth tone.
- SquareOscillator - Square wave oscillator. Buzzy.
- SquareOscillator - Square wave oscillator. Buzzy. (Band Limited version)
- TableOscillator - Arbitrary waveform. Controlled by Frequency, not SampleRate.
- TriangleOscillator - Triangle wave oscillator. Almost as smooth as sine wave.
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.