- 1. A Tour of available Unit Generators.
- SuperCollider has over 250 unit generators. If you count the unary and binary operators, there are over 300. This tour covers many, but not all of them.
categories of unit generators:
- sources: periodic, aperiodic
- filters
- distortion
- panning
- reverbs
- delays and buffer ugens
- granular synthesis
- control: envelopes, triggers, counters, gates, lags, decays
- spectral
- 2. Techniques
- artificial space - decorrelation, beat frequencies, delays.
- series and parallel structures.
Note: The category browser contains a category for UGens, which provides another useful way to get an overview of the available UGens, including those which were created since this tour was written.
LFPar, LFCub, LFTri, Impulse, LFSaw, LFPulse, VarSaw, SyncSaw - has geometric waveforms, not band limited. will cause aliasing at higher frequencies.
- LFPar, LFCub, LFTri, LFSaw, Impulse
- arguments:
frequency, phase, mul, add
- LFPulse, VarSaw
- arguments:
frequency, phase, width, mul, add
- SyncSaw
- arguments:
syncFreq, sawFreq, mul, add
SinOsc, FSinOsc, Blip, Saw, Pulse - will not alias.
- SinOsc, FSinOsc
- arguments:
frequency, phase, mul, add
- Blip
- arguments:
frequency, numHarmonics, mul, add
- Saw
- arguments:
frequency, mul, add
- Pulse
- arguments:
frequency, width, mul, add
- Klang - sine oscillator bank
- arguments:
`[ frequencies, amplitudes, phases ], mul, add
Osc, COsc, VOsc, VOsc3 - uses a buffer allocated on the server.
- Osc
- arguments:
buffer number, frequency, phase, mul, add
- COsc - two oscillators, detuned
- arguments:
buffer number, frequency, beat frequency, mul, add
- VOsc - multiple wave table crossfade oscillators
- arguments:
buffer number, frequency, phase, mul, add
- VOsc3 - three VOscs summed.
- arguments:
buffer number, freq1, freq2, freq3, beat frequency, mul, add
- LFNoise0, LFNoise1, LFNoise2, LFClipNoise
- arguments:
frequency, mul, add
- ClipNoise, WhiteNoise, PinkNoise, BrownNoise, GrayNoise
- arguments:
mul, add
- Dust, Dust2
- arguments:
density, mul, add
- Crackle
- arguments:
chaosParam, mul, add
- LPF, HPF - 12 dB / octave
- arguments:
in, freq, mul, add
- BPF, BRF - 12 dB / octave
- arguments:
in, freq, rq, mul, add
rq is the reciprocal of the Q of the filter, or in other words: the bandwidth in Hertz = rq * freq.
- RLPF, RHPF - 12 dB / octave
- arguments:
in, freq, rq, mul, add
- Resonz - resonant band pass filter with uniform amplitude
- arguments:
in, freq, rq, mul, add
- Ringz - ringing filter.
- arguments:
in, frequency, ring time, mul, add
Internally it is the same as Resonz but the bandwidth is expressed as a ring time.
- OnePole, OneZero - 6 dB / octave
-
- Median, Slew
-
- Formlet - A filter whose impulse response is similar to a FOF grain.
-
- Klank - resonant filter bank
- arguments:
`[ frequencies, amplitudes, ring times ], mul, add
- abs, max, squared, cubed
-
- distort, softclip, clip2, fold2, wrap2,
-
- scaleneg
-
- waveshaping by phase modulating a 0 Hz sine oscillator
- (currently there is a limit of 8pi)
- Shaper - input is used to look up a value in a table.
- Chebyshev polynomials are typically used to fill the table.
- Pan2 - equal power stereo pan a mono source
- arguments:
in, pan position, level
pan controls typically range from -1 to +1
- LinPan2 - linear pan a mono source (not equal power)
- arguments:
in, pan position, level
- Balance2 - balance a stereo source
- arguments:
left in, right in, pan position, level
- Pan4 - equal power quad panner
-
- PanAz - azimuth panner to any number of channels
- arguments:
num channels, in, pan position, level, width
- XFade2 - equal power cross fade between two inputs
- arguments:
in1, in2, crossfade, level
- PanB2 and DecodeB2 - 2D ambisonics panner and decoder
-
- Rotate2 - rotate a sound field of ambisonic or even stereo sound.
-
- FreeVerb
-
- GVerb
-
- DelayN, DelayL, DelayC - simple delays
- N - no interpolation
- L - linear interpolation
- C - cubic interpolation
arguments: in, maximum delay time, current delay time, mul, add
- CombN, CombL, CombC - feedback delays
- arguments:
in, maximum delay time, current delay time, echo decay time, mul, add
- AllpassN, AllpassL, AllpassC - allpass delay
- arguments:
in, maximum delay time, current delay time, echo decay time, mul, add
- PlayBuf - buffer playback
- arguments:
numChannels, buffer number, rate, trigger, start pos, loop
- TGrains - granulation of a buffer
- arguments:
numChannels, trigger, buffer number, rate, center pos, dur, pan, amp, interpolation
- GrainSin - sine grain
- arguments:
numChannels, trigger, dur, freq, pan, envbufnum
see also GrainFM, GrainBuf and GrainIn
- Decay - triggered exponential decay
- arguments:
in, decay time, mul, add
- Decay2 - triggered exponential attack and exponential decay
- arguments:
trigger, attack time, decay time, mul, add
- Lag
- arguments:
trigger, duration
- Integrator - leaky integrator
-
- Trig, Trig1 - timed duration gate
- arguments:
trigger, duration
- TDelay - delays a trigger. only delays one pending trigger at a time.
- arguments:
trigger, delay time
- Latch - sample and hold
- arguments:
in, trigger
- Gate - pass or hold
- arguments:
in, trigger
- PulseCount - count triggers
- arguments:
trigger, reset
- PulseDivider
- arguments:
trigger, div, start
- EnvGen - envelope generator
- envelope is specified using an instance of the Env class.
FFT, IFFT and the phase vocoder ugens.
FFT calculates the spectrum of a sound, puts it into a buffer, and outputs a trigger each time the buffer is ready to process. The PV UGens process the spectrum when they receive the trigger. IFFT converts the spectrum back into sound.
Building a sense of space into a sound by setting up phase differences between the speakers.