Synthesizers
SuperDirt is installed along with an extensive list of default audio effects and synthesizers. Note that you can also extend this list by adding your own synthesizers and audio effects to the audio engine. For instance, check out the Mutable Instruments or the SynthDefs for Tidal threads on the Tidal Club forum.
#
Basic instrumentsDefault values are in parentheses. In all synths, sustain
(default 1) affects the overall envelope timescale. The parameters pan
and freq
can also be set in all synths. The default value for freq is usually 440 – in synths where it’s not, freq
and its default value for that synth are mentioned in its parameter list below.
caution
Some undocumented parameters are included without descriptions.
#
Additive synthesis#
SupergongAn example of additive synthesis, building up a gong-like noise from a sum of sine-wave harmonics. Notice how the envelope timescale and amplitude can be scaled as a function of the harmonic frequency.
voice
(0): provides something like a tone knobdecay
(1): adjusts how the harmonics decayaccelerate
(0): for pitch glide
#
Substractive synthesis#
SupersquareA moog-inspired square-wave synth; variable-width pulses with filter frequency modulated by an LFO:
voice
: controls the pulse width (exactly zero or one will make no sound)decay
(0): the decayaccelerate
(0): pitch glidesemitone
(12): how far off in pitch the secondary oscillator is (need not be integer)resonance
(0.2): filter resonancelfo
(1): how much the LFO affects the filter frequencyrate
(1): LFO ratepitch1
(1): filter frequency scaling multiplier, the frequency itself follows the pitch set by “n”
#
SupersawA moog-inspired sawtooth synth; slightly detuned saws with triangle harmonics, filter frequency modulated by LFO:
voice
(0.5): controls a relative phase and detune amountdecay
(0)accelerate
(0): pitch glidesemitone
(12): how far off in pitch the secondary oscillator is (need not be integer)resonance
(0.2) filter resonancelfo
(1) how much the LFO affects the filter frequencyrate
(1): LFO ratepitch1
(1): filter frequency scaling multiplier, the frequency itself follows the pitch set by “n”
#
SuperpwmA moog-inspired PWM synth; pulses multiplied by phase-shifted pulses, double filtering with an envelope on the second
voice
: controls the phase shift ratedecay
(0): decay.accelerate
(0): pitch glidesemitone
(12): how far off in pitch the secondary oscillator is (need not be integer)resonance
(0.2): filter resonancelfo
(1): how much the LFO affects the filter frequencyrate
(1): LFO ratepitch1
(1): filter frequency scaling multiplier, the frequency itself follows the pitch set by “n”
#
SuperchipUses the Atari ST emulation UGen with 3 oscillators:
slide
(0): for a linear frequency gliderate
(1): repeats the above glide “n” times (can be fractional or negative)accelerate
(0): for an overall glidepitch2
(2): control the ratio of harmonicspitch3
(3): control the ratio of harmonicsvoice
(0): causes variations in the levels of the 3 oscillators
#
SuperhooverHoover, adapted from Wouter Snoei’s implementation:
slide
(0): for the amount of initial pitch glide, positive slides up in pitch, negative slides downdecay
(0): for a different envelope shapeaccelerate
(0): for constant pitch glide
#
SuperzowPhased saws:
decay
(0): for envelope shapingaccelerate
(0): for pitch bendslide
(1): how fast it moves through the phasedetune
(1): for oscillator detuning
#
SupertronFeedback PWM:
accelerate
(0): pitch-glidevoice
(0): number of voicesdetune
(0): detune amount
#
SuperreeseVaguely Reese-like synth:
accelerate
(0): pitch-glide.voice
(0): number of voicesdetune
(0): detune amount
#
SupernoiseDigital noise in several flavors with a bandpass filter:
#
SuperstaticImpulse noise with a fadein/fadeout.
voice
: at 0 is a digital noise for which “n” controls rate, at 1 is Brown+White noise for which “n” controls knee frequencyaccelerate
: causes glide in n, “rate” will cause it to repeatpitch1
: scales the bandpass frequency (which tracks “n”)slide
: works like accelerate on the bandpassresonance
: is the filter resonance
#
Supercomparatorvoice
(0.5): scales the comparator frequencies, higher values will sound “breathier”decay
(0)accelerate
(0): pitch glideresonance
(0.5): filter resonancelfo
(1): how much the LFO affects the filter frequencyrate
(1): LFO ratepitch1
(1): filter frequency scaling multiplier, the frequency itself follows the pitch set by “n”
#
Physical modelling#
SupermandolinPhysical modeling of a vibrating string, using a delay line (CombL
) excited by an intial pulse (Impulse
). To make it a bit richer, I’ve combined two slightly detuned delay lines:
sustain
(1): changes the envelope timescaleaccelerate
(0): pitch-glidedetune
(0.2): detune amount
#
SuperpianoHooking into a nice synth piano already in SuperCollider:
velocity
: affects how hard the keys are pressedsustain
: controls envelope and decay timedetune
(0.1): detune amount.muffle
(1)stereo
(0.2): stereo amount.
#
SuperforkTuning fork from Ben Gold’s experimentation and from “On the acoustics of tuning forks”, Rossing Russell and Brown:
accelerate
(0): pitch-glide amount.
#
SuperhammondHammond B3 sim. Frequency adjustments courtesy of Tom Wiltshire:
perc
,percf
anddecay
: an attempt at the percussion, no idea if it sounds at all reasonable. Vintage Hammonds hadpercf
as 2 or 3 (switchable), two perc levels (maybe roughly 0.7 and 1.2?), and two decay options (roughly 0 and maybe 1ish?)vibrato
,vrate
,perc
,percf
: new parameters you’ll need to define in Tidal if you want to change them.
Voices are drawbar presets:
- 0. bass violin 16’
- 1. tibia 8’
- 2. bassoon 8’
- 3. french trumpet 8’
- 4. string ensemble
- 5. Blues
- 6. Jazz 1
- 7. Full Shout
- 8. Bro’ Jack
- 9. Jazz 2
#
SupervibeVibraphone simulation, adapted with some help from Kevin Larke’s thesis Real Time Vibraphone Pitch and Timbre Classification:
decay
(0): use larger values to damp higher harmonicsvelocity
(1): higher velocity will brighten the sound a bitaccelerate
(0): for a linear pitch bendmodamp
(1): amplitude of the tremolo (0-2 is OK)modfreq
(7): frequency of the tremolodetune
(0): adjusts a high harmonic to give the sound a different character
#
FM synthesis#
Superfm6-op FM synth (DX7-like). Works a bit different from the original DX7. Instead of algorithms, you set the amount of modulation every operator receives from other operators and itself (feedback), virtually providing an endless number of possible combinations (algorithms). The synth's author did an online workshop explaining in depth how everything works:
voice
: preset number: 0 is user-defined; 1-5 are randomly generated presetslfofreq
: overall pitch modulation frequencylfodepth
: overall pitch modulation amplitude
Each operator responds to:
amp
: operator volume - becomes carrierratio
: frequency ratiodetune
: in Hzeglevel
: 1-4, 4 envelope generator levelsegrate
1-4, 4 envelope generator rates
The syntax for operator arguments is <argumentName + opIndex>[modulatorIndex | egIndex]
. For example:
amp1
1: op1 as carrier with full volumeratio2
2.3: op2 frequency ratiomod11
0.5: op1 feedbackmod12
0.78: op1 modulation amount by op2detune1
0.2: op1 detuneeglevel12
0.1: op1 EG level2egrate11
0.01: op1 EG rate1
warning
Higher values go FASTER!
#
Drum synthesis#
SuperhexWaveguide mesh, hexagonal drum-like membrane:
rate
(1): ??accelerate
(0): pitch-glide amount
#
SuperkickKick Drum using Rumble-San’s implementation as a starting point:
n
: controls the kick frequency in a nonstandard wayaccelerate
(0): sweeps the click filter frequencypitch1
(1): affects the click frequencydecay
(1): changes the click duration relative to the overall timescale
#
Super808A vaguely 808-ish kick drum:
n
: controls the chirp frequencyrate
(1): controls the filter sweep speedvoice
(0): sets the sinewave feedback
#
SuperhatHi-hat using Rumble-San’s implementation as a starting point:
n
: provides some variation on the frequency in a weird wayaccelerate
(0): sweeps the filter
#
SupersnareSnare drum using Rumble-San’s implementation as a starting point:
n
for some variation on frequencydecay
(1): for scaling noise duration relative to tonal partaccelerate
(0): for tonal glide
#
SuperclapHand clap using Rumble-San’s implementation as a starting point:
n
(?): changes how spread is calculateddelay
(1): controls the echo delayrate
(1): affects the decay timepitch1
(1): scales the bandpass frequency
#
SOSKickKick drum synth. Increase pitch1
and voice
for interesting electronic percussion:
midinote
– controls the root note of the kick (the source comments mention this, but the function doesn’t have this parameter at all)pitch1
(0): controls modulation frequency in Hz (min: 0, max: SampleRate.ir / 2)voice
(1): controls modulation input phase in radians (min: 0, max: your sanity)pitch2
(0): controls WhiteNoise amplitude (min: 0, max: 1)speed
(0.3): controls WhiteNoise sweep (min: 0, max: 1)freq
(65)
#
SOSHatsresonance
(1): bandpass filter resonance value (min: 0, max: 1)pitch1
(238.5): oscillator modulation in radians (min: 0, max:SampleRate.ir / 2
)sustain
(0.5): sustain amountfreq
(220): frequency
#
SOSTomsvoice
(0.5): controls modulation input phase in radians (min: 0, max: your sanity)sustain
(0.5): sustain amountfreq
(261.626): frequency
#
SOSSnarevoice
(0.385): controls modulation input phase in radians (min: 0, max: your sanity)
semitone
(0.452): modulation frequency in semitones of fundamental
pitch1
(2000): resonance filter frequency (Hz)
resonance
(0.1): resonance of bandpass and resonz filters (min: 0, max: 1)
freq
(405): frequency
#
Audio Input#
inLive audio input:
in
: audio input
#
inrPitch shifted live audio input:
inr
: audio inputaccelerate
(0): pitch-glide
#
Other synths and goodies#
impModulated band limited impulse:
accelerate
(0): pitch-glide amount
#
psinModulated phase mod sines:
accelerate
(0): pitch-glide amount
#
gaborGabor grain
#
cycloShepard on a cycle:
accelerate
(0): pitch-glide amount.
#
SupersirenA controllable synth siren, defaults to 1 second, draw it out with sustain
.
#
SupergrindFrom synthdef.art
fragment(2018-08-16):
accelerate
(0): for pitch glidedetune
(0): in Hz, but even small values are quite noticeablevoice
(0): changes harmonicsrate
(1): is the impulse trigger rate