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 bankarguments: `[ 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, detunedarguments: buffer number, frequency, beat frequency, mul, add
⧉ ✔
VOsc - multiple wave table crossfade oscillatorsarguments: 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 / octavearguments: in, freq, mul, add
⧉ ✔
BPF , BRF - 12 dB / octavearguments: 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 / octavearguments: in, freq, rq, mul, add
⧉ ✔
Resonz - resonant band pass filter with uniform amplitudearguments: 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 bankarguments: `[ 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 sourcearguments: 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 sourcearguments: left in, right in, pan position, level
⧉ ✔
Pan4 - equal power quad panner
⧉ ✔
PanAz - azimuth panner to any number of channelsarguments: num channels, in, pan position, level, width
⧉ ✔
XFade2 - equal power cross fade between two inputsarguments: 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 delaysarguments: in, maximum delay time, current delay time, echo decay time, mul, add
⧉ ✔
AllpassN , AllpassL , AllpassC - allpass delayarguments: in, maximum delay time, current delay time, echo decay time, mul, add
⧉ ✔
PlayBuf - buffer playbackarguments: numChannels, buffer number, rate, trigger, start pos, loop
⧉ ✔
⧉ ✔
⧉ ✔
TGrains - granulation of a bufferarguments: numChannels, trigger, buffer number, rate, center pos, dur, pan, amp, interpolation
⧉ ✔
GrainSin - sine grainarguments: numChannels, trigger, dur, freq, pan, envbufnum
⧉ ✔
see also GrainFM , GrainBuf and GrainIn
Decay - triggered exponential decayarguments: in, decay time, mul, add
⧉ ✔
Decay2 - triggered exponential attack and exponential decayarguments: trigger, attack time, decay time, mul, add
⧉ ✔
Lag arguments: trigger, duration
⧉ ✔
Integrator - leaky integrator
⧉ ✔
Trig , Trig1 - timed duration gatearguments: trigger, duration
⧉ ✔
TDelay - delays a trigger. only delays one pending trigger at a time.arguments: trigger, delay time
⧉ ✔
Latch - sample and holdarguments: in, trigger
⧉ ✔
Gate - pass or holdarguments: in, trigger
⧉ ✔
PulseCount - count triggersarguments: trigger, reset
⧉ ✔
PulseDivider arguments: trigger, div, start
⧉ ✔
EnvGen - envelope generatorenvelope 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.
⧉ ✔
⧉ ✔
⧉ ✔