Wire Reference - Synthesis Modules

The Wire software and documentation is Copyright 2000-2008 by SoftSynth.com, All Rights Reserved

Click here for the Wire Documentation Home Page

The Synthesis modules can be added to a patch using the Add menu. The modules are organized by category. The names for most of the modules match the corresponding JSyn SynthUnits so you can refer to the JSyn Class Reference for more detail.



Oscillators generate a repeating waveform that can be heard as a tone. They have a frequency jack which is controlled in Hertz. The amplitude jack controls tha minimum and maximum value of the waveform. The BL versions of the oscillators are band-limited. This means they will not generate harmonics above the Nyquist Rate which would cause aliasing distortion. So they sound cleaner than their alternatives. But the BL versions require about 2-3 times more CPU time.
ImpulseOscillator, impOsc
ImpulseOscillatorBL, impOscBl
Impulses waveforms are a train of single sample spikes. They are handy for pinging filters or triggering LatchUnits.
PulseOscillator, plsOsc
PulseOscillatorBL, plsOscBl
Pulse waveforms are an assymetric version of the Square wave. You can vary the timbre by varying the pulse width. They sound woody.
SawtoothOscillator, sawOsc
Sawtooth waveforms sound brassy.
SineOscillator, sinOsc
Sine waves are very pure waves that sound very smooth like a flute.
SquareOscillator, sqrOsc
SquareOscillatorBL, sqrOscBl
Square waves alternate abruptly between high and low. They sound woody.
TriangleOscillator, triOsc
A triangle wave rises and falls symmetrically and sounds slightly brighter than a sine wave.


SampleReader_16F1, s16f1rd
Play a mono 16 bit sample at a fixed rate.
SampleReader_16F2, s16f2rd
Play a stereo 16 bit sample at a fixed rate.
SampleReader_16V1, s16v1rd
Play a mono 16 bit sample at a variable rate.
SampleWriter_16F1, s16f1wr
Write a mono 16 bit sample at a fixed rate.
SampleWriter_16F2, s16f2wr
Write a stereo 16 bit sample at a fixed rate.


Filters are used to modify the spectrum of a sound. Some filters are resonant filters and have a Q control. Setting Q higher than 1.0 will make the filter ring.
Filter_LowPass, lowPass
Filter_HighPass, highPass
Filter_BandPass, bandPass
Filter_BandStop, bandStop
Filter_PeakingEQ, peakEQ
Filter_LowShelf, lowShelf
Filter_HighShelf, highShelf
Filter_1o1p, flt1o1p
Filter_1o1p1z, flt1o1p1z
Filter_1o1z, flt1o1z
Filter_2o2p, flt2o2p
Filter_2o2p2z, flt2o2p2z
Filter_StateVariable, fltSVF
DelayUnit, delay
InterpolatingDelayUnit, iDelay


These modules perform simple arithmetic functions.
AddUnit, add
You can mix two sounds by adding them together.
CompareUnit, compare
Output a signal greater than one if A is greater than B.
CrossFade, xfade
Crossfade between two input signals.
DivideUnit, div
Divide one signal by another. This takes lots of CPU time so it is better to multiply by the inverse if possible.
LatchUnit, latch
Passes it input if the gate is greater than one (true). Outputs its previous output if the gate is zero or less. This is also called a "sample and hold".
IntegrateUnit, intgrt
Outputs a sum of its input values up to the given limits. Can be used to generate ramps.
MaximumUnit, max
Passes the greater of two input values. Can be used to clip a signal at a lower limit.
MinimumUnit, min
Passes the lesser of two input values. Can be used to clip a signal at a higher limit.
MultiplyAddUnit, multAdd
Output = A*B + C. Handy for building mixers.
MultiplyUnit, mult
PanUnit, pan
SchmidtTrigger, schmidt
A comparator with hysteresis that prevents jitter when analysing noisy inputs.
SelectUnit, select
Select between two units. Can be used to switch between two sounds.
SubtractUnit, sub
Output = A - B


EnvelopePlayer, envPlay
ExponentialLag, expLag
LinearLag, linLag
ParabolicEnvelope, prblEnv
Can be used to do granular synthesis.
PanControlUnit, panCtrl
PeakFollower, peakFlwr
This generates a control signal that follows the peaks of an input signal. it is sometime called an "envelope follower".
PitchDetector, pitchDet
Outputs the period of an input signal. Divide the sample rate by the period to generate a frequency. The "confidence" output lets you know how certain the detector is that the period is correct.


LineOut, lineOut
You have to use oneof these if you ever want to hear anything from Wire.
LineIn, lineIn
This will provide you with a signal from the microphone or a Line Input. Important: you must enable audio input for LineIn to work. Select "Input Only" or "Input/Output" from the Engine menu.


PinkNoise, pinkNse
RedNoise, redNse
RerdNoise is handy as a slowly varying random control signal.
WhiteNoise, wtNoise


EnvelopeModule, envelope
SampleModule, sample

External Ports

These provide input and output to a patch. When you add one of these to a subpatch, a corresponding jack will appear on the module in the parent patch containing the subpatch.
InputPort, input
VariablePort, varPort
EnvelopeQueuePort, envelopePort
SampleQueuePort, samplePort
OutputPort, output


Thse are miscellaneous GUI tools that do not correspond to any particular JSyn object.
Lets you type in a value that is sent to the connected module when you hit Enter.
Provides a horizontal fader for controlling inputs of modules.
Displays its input value as a simple moving bar.
Lets you add text notes to a patch.