Difference between revisions of "All effects and synths"

From TidalCycles userbase
Jump to: navigation, search
(Marked this version for translation)
(Added values example to Legato)
 
(5 intermediate revisions by 2 users not shown)
Line 34: Line 34:
  
 
<!--T:12-->
 
<!--T:12-->
Legato controls the amount of overlap between two adjacent synth sounds
+
Legato controls the amount of overlap between two adjacent synth sounds. Values less than one (e.g.: 0.5) will cut the sound off sooner. Values greater than one (e.g.: 1.5) will cut the sound off later.
  
 
== Tremolo == <!--T:13-->
 
== Tremolo == <!--T:13-->
Line 298: Line 298:
 
DJ filter, a low pass filter for the first half of the range, and a high pass for the rest.
 
DJ filter, a low pass filter for the first half of the range, and a high pass for the rest.
 
   
 
   
= Basic SuperDirt synths = <!--T:89-->
+
= SuperDirt synths =
  
== Imp == <!--T:90-->
+
Default values are in parentheses. Some undocumented parameters are included without descriptions.
(#imp parameters: #sustain, #accelerate)
 
  
<!--T:91-->
+
In all synths,<code>sustain</code> (default 1) affects the overall envelope timescale. The parameters <code>pan</code> and <code>freq</code> can also be set in all synths. The default value for <code>freq</code> is usually 440 – in synths where it’s not, <code>freq</code> and its default value for that synth are mentioned in its parameter list below.
Modulated band limited impulse
+
 
 +
== Instruments ==
 +
 
 +
=== supermandolin ===
 +
 
 +
Physical 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.
 +
 
 +
* <code>sustain</code> (1) changes the envelope timescale
 +
* <code>accelerate</code> (0) for a pitch glide
 +
* <code>detune</code> (0.2)
 +
 
 +
=== supergong ===
 +
 
 +
An 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.
 +
 
 +
* <code>voice</code> (0) provides something like a tone knob
 +
* <code>decay</code> (1) adjusts how the harmonics decay
 +
* <code>accelerate</code> (0) for pitch glide
 +
 
 +
For a demo, try <code>d1 $ n (slow 2 $ fmap (*7) $ run 8) # s &quot;supergong&quot; # decay &quot;[1 0.2]/4&quot; # voice &quot;[0.5 0]/8&quot;</code>
 +
 
 +
=== superpiano ===
 +
 
 +
Hooking into a nice synth piano already in SuperCollider
 +
 
 +
* <code>velocity</code> affects how hard the keys are pressed
 +
* <code>sustain</code> controls envelope and decay time
 +
* <code>detune</code> (0.1)
 +
* <code>muffle</code> (1)
 +
* <code>stereo</code> (0.2)
 +
 
 +
=== superhex ===
 +
 
 +
Waveguide mesh, hexagonal drum-like membrane
 +
 
 +
* <code>rate</code> (1)
 +
* <code>accelerate</code> (0)
 +
 
 +
<small>SuperCollider documentation for MembraneHexagon.ar:
 +
MembraneCircle and MembraneHexagon are rather similar, being triangular waveguide meshes of a drum-like membrane. You input some excitation, such as a pulse of noise, and can adjust the tension and loss while it plays.
 +
They’re named after the shape made out of triangular meshes. Obviously you can’t make a circle out of triangles, but it tries. At the moment MembraneCircle is a bit bigger than MembraneHexagon, using more waveguides and therefore more CPU.)</small>
 +
 
 +
=== supersquare ===
 +
 
 +
A moog-inspired square-wave synth; variable-width pulses with filter frequency modulated by an LFO
 +
 
 +
* <code>voice</code> controls the pulse width (exactly zero or one will make no sound)
 +
* <code>decay</code> (0)
 +
* <code>accelerate</code> (0) pitch glide
 +
* <code>semitone</code> (12) how far off in pitch the secondary oscillator is (need not be integer)
 +
* <code>resonance</code> (0.2) filter resonance
 +
* <code>lfo</code> (1) how much the LFO affects the filter frequency
 +
* <code>rate</code> (1) LFO rate
 +
* <code>pitch1</code> (1) filter frequency scaling multiplier, the frequency itself follows the pitch set by “n”
 +
 
 +
=== supersaw ===
 +
 
 +
A moog-inspired sawtooth synth; slightly detuned saws with triangle harmonics, filter frequency modulated by LFO
 +
 
 +
* <code>voice</code> (0.5) controls a relative phase and detune amount
 +
* <code>decay</code> (0)
 +
* <code>accelerate</code> (0) pitch glide
 +
* <code>semitone</code> (12) how far off in pitch the secondary oscillator is (need not be integer)
 +
* <code>resonance</code> (0.2) filter resonance
 +
* <code>lfo</code> (1) how much the LFO affects the filter frequency
 +
* <code>rate</code> (1) LFO rate
 +
* <code>pitch1</code> (1) filter frequency scaling multiplier, the frequency itself follows the pitch set by “n”
 +
 
 +
=== superpwm ===
 +
 
 +
A moog-inspired PWM synth; pulses multiplied by phase-shifted pulses, double filtering with an envelope on the second
 +
 
 +
* <code>voice</code> controls the phase shift rate
 +
* <code>decay</code> (0)
 +
* <code>accelerate</code> (0) pitch glide
 +
* <code>semitone</code> (12) how far off in pitch the secondary oscillator is (need not be integer)
 +
* <code>resonance</code> (0.2) filter resonance
 +
* <code>lfo</code> (1) how much the LFO affects the filter frequency
 +
* <code>rate</code> (1) LFO rate
 +
* <code>pitch1</code> (1) filter frequency scaling multiplier, the frequency itself follows the pitch set by “n”
 +
 
 +
=== supercomparator ===
 +
 
 +
* <code>voice</code> (0.5) scales the comparator frequencies, higher values will sound “breathier”
 +
* <code>decay</code> (0)
 +
* <code>accelerate</code> (0) pitch glide
 +
* <code>resonance</code> (0.5) filter resonance
 +
* <code>lfo</code> (1) how much the LFO affects the filter frequency
 +
* <code>rate</code> (1) LFO rate
 +
* <code>pitch1</code> (1) filter frequency scaling multiplier, the frequency itself follows the pitch set by “n”
 +
 
 +
=== superchip ===
 +
 
 +
Uses the Atari ST emulation UGen with 3 oscillators
 +
 
 +
* <code>slide</code> (0) for a linear frequency glide
 +
* <code>rate</code> (1) repeats the above glide “n” times (can be fractional or negative)
 +
* <code>accelerate</code> (0) for an overall glide
 +
* <code>pitch2</code> (2) control the ratio of harmonics
 +
* <code>pitch3</code> (3) control the ratio of harmonics
 +
* <code>voice</code> (0) causes variations in the levels of the 3 oscillators
 +
 
 +
=== superfork ===
 +
 
 +
Tuning fork from Ben Gold’s experimentation and from “On the acoustics of tuning forks”, Rossing Russell and Brown
 +
 
 +
* <code>accelerate</code> (0)
 +
 
 +
=== superhammond ===
 +
 
 +
Hammond B3 sim. Frequency adjustments courtesy of [https://electricdruid.net Tom Wiltshire].
 +
 
 +
* <code>perc</code>, <code>percf</code> and <code>decay</code> are an attempt at the percussion, no idea if it sounds at all reasonable. Vintage Hammonds had <code>percf</code> as 2 or 3 (switchable), two <code>perc</code> levels (maybe roughly 0.7 and 1.2?), and two <code>decay</code> options (roughly 0 and maybe 1ish?)
 +
* <code>vibrato</code>, <code>vrate</code>, <code>perc</code>, <code>percf</code> are all 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
 +
 
 +
=== supervibe ===
 +
 
 +
Vibraphone simulation, adapted with some help from Kevin Larke’s thesis Real Time Vibraphone Pitch and Timbre Classification
 +
 
 +
* <code>decay</code> (0) use larger values to damp higher harmonics
 +
* <code>velocity</code> (1) higher velocity will brighten the sound a bit
 +
* <code>accelerate</code> (0) for a linear pitch bend
 +
* <code>modamp</code> (1) amplitude of the tremolo (0-2 is OK)
 +
* <code>modfreq</code> (7) frequency of the tremolo
 +
* <code>detune</code> (0) adjusts a high harmonic to give the sound a different character
 +
 
 +
=== superhoover ===
 +
 
 +
Hoover, adapted from [http://superdupercollider.blogspot.com/2009/06/more-dominator-deconstruction.html Wouter Snoei’s implementation].
 +
 
 +
* <code>slide</code> (0) for the amount of initial pitch glide, positive slides up in pitch, negative slides down
 +
* <code>decay</code> (0) for a different envelope shape
 +
* <code>accelerate</code> (0) for constant pitch glide
 +
 
 +
=== superzow ===
 +
 
 +
Phased saws
 +
 
 +
* <code>decay</code> (0) for envelope shaping
 +
* <code>accelerate</code> (0) for pitch bend
 +
* <code>slide</code> (1) how fast it moves through the phase
 +
* <code>detune</code> (1) for oscillator detuning
 +
 
 +
=== supergrind ===
 +
 
 +
From synthdef.art fragment: 2018-08-16
 +
 
 +
* <code>accelerate</code> (0) for pitch glide
 +
* <code>detune</code> (0) in Hz, but even small values are quite noticeable
 +
* <code>voice</code> (0) changes harmonics
 +
* <code>rate</code> (1) is the impulse trigger rate
 +
 
 +
=== superprimes ===
  
== Psin ==  <!--T:92-->
+
From synthdef.art #nightofprimes
(#psin parameters: #sustain, #accelerate)
 
  
<!--T:93-->
+
* <code>accelerate</code> (0) for pitch glide
Modulated phase mod sines
+
* <code>detune</code> (0) can be fractional
 +
* <code>voice</code> (0) does some subtle shaping and reverb changing
 +
* <code>rate</code> (0) is the impulse trigger rate
  
== Pmsin == <!--T:94-->
+
=== superwavemechanics ===
(#pmsin parameters: #sustain, #accelerate)
 
  
<!--T:95-->
+
From synthdef.art #wavemechanics
Cursor modulated phase mod sines
 
  
== In == <!--T:96-->
+
* <code>accelerate</code> (0) for pitch glide
(#in)
+
* <code>detune</code> (0) for pitch randomization
 +
* <code>voice</code> (0) to color/whiten the noise
 +
* <code>resonance</code> (0) affects reverberation
  
<!--T:97-->
+
=== supertron ===
Live audio input
 
  
== Inr == <!--T:98-->
+
Feedback PWM
(#inr parameters: #accelerate)
 
  
<!--T:99-->
+
* <code>accelerate</code> (0)
Pitch shifted live audio input
+
* <code>voice</code> (0)
 +
* <code>detune</code> (0)
  
== Gabor == <!--T:100-->
+
Try <code>d1 $ s &quot;supertron&quot; # octave 3 # accelerate &quot;0.2&quot;</code>
(#gabor parameters: #sustain)
 
  
<!--T:101-->
+
=== superreese ===
Gabor grain
 
  
== Cyclo == <!--T:102-->
+
Vaguely Reese-like synth
(#cyclo parameters: #sustain, #accelerate)
 
  
<!--T:103-->
+
* <code>accelerate</code> (0)
Shepard on a cycle
+
* <code>voice</code> (0)
 +
* <code>detune</code> (0)
  
= Extra SuperDirt synths = <!--T:104-->
+
=== superfm ===
(Ben Gold)
 
  
== Supermandolin == <!--T:105-->
+
6-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).
(#supermandolin parameters: #sustain, #accelerate)
 
  
<!--T:106-->
+
The synth's author did an [https://www.youtube.com/watch?v=REgE33Esy2Q online workshop] explaining in depth how everything works.
Physical 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 "accelerate" is used for a pitch glide, and "sustain" changes the envelope timescale
 
  
== Supergong == <!--T:107-->
+
* <code>voice</code> is the preset number: <code>0</code> is user-defined; <code>1-5</code> are randomly generated presets
(#supergong parameters: #voice, #accelerate)
+
* <code>lfofreq</code> is the overall pitch modulation frequency
 +
* <code>lfodepth</code> is the overall pitch modulation amplitude
  
<!--T:108-->
+
Each operator responds to
An 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" provides something like a tone knob, and "decay" adjusts how the harmonics decay as in the other SynthDefs, "sustain" affects the overall envelope timescale and "accelerate" for pitch glide.
 
  
<!--T:109-->
+
* <code>amp</code> (operator volume - becomes carrier)
For a demo, try this in Tidal:
+
* <code>ratio</code> (frequency ratio)
 +
* <code>detune</code> (in Hz)
 +
* <code>eglevel</code> (1-4) (4 envelope generator levels)
 +
* <code>egrate</code> (1-4) (4 envelope generator rates)
  
<!--T:110-->
+
The syntax for operator arguments is <code>&lt;argumentName + opIndex&gt;[modulatorIndex | egIndex]</code>. For example:
<source>d1 $ n (slow 2 $ fmap (*7) $ run 8) # s "supergong" # decay "[1 0.2]/4" # voice "[0.5 0]/8"</source>
 
  
== Superpiano == <!--T:111-->
+
* <code>amp1 1</code> (op1 as carrier with full volume)
(#superpiano parameters: #velocity, #sustain
+
* <code>ratio2 2.3</code> (op2 frequency ratio)
 +
* <code>mod11 0.5</code> (op1 feedback)
 +
* <code>mod12 0.78</code> (op1 modulation amount by op2)
 +
* <code>detune1 0.2</code> (op1 detune)
 +
* <code>eglevel12 0.1</code> (op1 EG level2)
 +
* <code>egrate11 0.01</code> (op1 EG rate1) – WARNING: higher values go FASTER!
  
<!--T:112-->
+
== Default synths ==
Hooking into a nice synth piano already in Supercollider. Uses the "velocity" parameter to affect how hard the keys are pressed. "sustain" controls envelope and decay time
 
  
<!--T:113-->
+
=== imp ===
<small>(SuperCollider documentation for MdaPiano.ar:
 
A piano synthesiser (originally a VST plugin by Paul Kellett, ported to SC by Dan Stowell). This UGen is not polyphonic (but can be retriggered to play notes in sequence).</small>
 
  
== Superhex == <!--T:114-->
+
Modulated band limited impulse
(#superhex parameters: #sustain, #accelerate)
 
  
<!--T:115-->
+
* <code>accelerate</code> (0)
Waveguide mesh, hexagonal drum-like membrane. "sustain" controls envelope and decay time. “accelerate” controls tension.
 
  
<!--T:116-->
+
=== psin ===
<small>(SuperCollider documentation for MembraneHexagon.ar:
 
  
<!--T:117-->
+
Modulated phase mod sines
MembraneCircle and MembraneHexagon are rather similar, being triangular waveguide meshes of a drum-like membrane. You input some excitation, such as a pulse of noise, and can adjust the tension and loss while it plays.
 
  
They're named after the shape made out of triangular meshes. Obviously you can't make a circle out of triangles, but it tries. At the moment MembraneCircle is a bit bigger than MembraneHexagon, using more waveguides and therefore more CPU.)
+
* <code>accelerate</code> (0)
</small>
 
== Superkick == <!--T:118-->
 
(#superkick parameters: #n, #sustain, #accelerate, #pitch1, #decay)
 
  
<!--T:119-->
+
=== pmsin ===
Kick Drum using Rumble-San's implementation as a starting point
 
(http://blog.rumblesan.com/post/53271713518/drum-sounds-in-supercollider-part-1). "n" controls the kick frequency in a nonstandard way. "sustain" affects overall envelope timescale, "accelerate" sweeps the click filter freq, "pitch1" affects the click frequency, and "decay" changes the click duration relative to the overall timescale.
 
  
== Super808 == <!--T:120-->
+
Cursor modulated phase mod sines
(#super808 parameters: #n, #sustain, #speed, #voice)
 
  
<!--T:121-->
+
* <code>accelerate</code> (0)
A vaguely 808-ish kick drum. "n" controls the chirp frequency, "sustain" the overall timescale, "speed" the filter sweep speed, and "voice" the sinewave feedback
 
  
== Superhat == <!--T:122-->
+
=== in ===
(#superhat parameters: #n, #sustain, #accelerate)
 
  
<!--T:123-->
+
Live audio input
Hi-hat using Rumble-San's implementation as a starting point (http://blog.rumblesan.com/post/53271713518/drum-sounds-in-supercollider-part-1). Using "n" in a weird way to provide some variation on the frequency.  "sustain" affects the overall envelope rate, "accelerate" sweeps the filter.
 
  
== Supersnare == <!--T:124-->
+
* <code>in</code>
(#supersnare parameters: #n, #decay, #sustain, #accelerate)
 
  
<!--T:125-->
+
=== inr ===
Snare drum using Rumble-San's implementation as a starting point (http://blog.rumblesan.com/post/53271713909/drum-sounds-in-supercollider-part-2) Again using "n" for some variation on frequency, "decay" for scaling noise duration relative to tonal part, "sustain" for overall timescale, "accelerate" for tonal glide.
 
  
== Superclap == <!--T:126-->
+
Pitch shifted live audio input
(#superclap parameters:#n, #delay, #speed, #pitch1, #sustain)
 
  
<!--T:127-->
+
* <code>accelerate</code> (0)
Hand clap using Rumble-San's implementation as a starting point (http://blog.rumblesan.com/post/53271713909/drum-sounds-in-supercollider-part-2) "delay" controls the echo delay, "speed" will affect the decay time, "n" changes how spread is calculated, "pitch1" will scale the bandpass frequency, and "sustain" the overall timescale.
 
  
== Supersiren == <!--T:128-->
+
=== gabor ===
(#supersiren parameters: #sustain) 
 
  
<!--T:129-->
+
Gabor grain
A controllable synth siren, defaults to 1 second, draw it out with "sustain".
 
  
<!--T:130-->
+
=== cyclo ===
__________
 
  
<!--T:131-->
+
Shepard on a cycle
The next four synths respond to the following parameters in addition to gain, pan, n, and all the "effect" parameters (including attack, hold, and release).  Default values in parentheses.
 
  
<!--T:132-->
+
* <code>accelerate</code> (0)
sustain - scales overall duration<br>
 
decay(0) - amount of decay after initial attack<br>
 
accelerate(0) - pitch glide<br>
 
semitone(12) - how far off in pitch the secondary oscillator is (need not be integer)<br>
 
pitch1(1) - filter frequency scaling multiplier, the frequency itself follows the pitch set by "n"<br>
 
speed(1)- LFO rate<br>
 
lfo(1) - how much the LFO affects the filter frequency<br>
 
resonance(0.2) - filter resonance<br>
 
voice(0.5) - depends on the individual synth<br>
 
  
 +
== Drums ==
  
== Supersquare == <!--T:133-->
+
=== superkick ===
(#supersquare parameters: #voice + see above)
 
  
<!--T:134-->
+
Kick Drum using [http://blog.rumblesan.com/post/53271713518/drum-sounds-in-supercollider-part-1 Rumble-San’s implementation] as a starting point
A 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)
 
  
== Supersaw == <!--T:135-->
+
* <code>n</code> controls the kick frequency in a nonstandard way
(#supersaw parameters: #voice + see above)  
+
* <code>accelerate</code> (0) sweeps the click filter frequency
 +
* <code>pitch1</code> (1) affects the click frequency
 +
* <code>decay</code> (1) changes the click duration relative to the overall timescale
  
<!--T:136-->
+
=== super808 ===
A moog-inspired sawtooth synth; slightly detuned saws with triangle harmonics, filter frequency modulated by LFO. "voice" controls a relative phase and detune amount
 
  
== Superpwm == <!--T:137-->
+
A vaguely 808-ish kick drum
(#superpwm parameters: #voice + see above)
 
  
<!--T:138-->
+
* <code>n</code> controls the chirp frequency
A moog-inspired PWM synth; pulses multiplied by phase-shifted pulses, double filtering with an envelope on the second "voice" controls the phase shift rate.
+
* <code>rate</code> (1) controls the filter sweep speed
 +
* <code>voice</code> (0) sets the sinewave feedback
  
== Supercomparator == <!--T:139-->
+
=== superhat ===
(#supercomparator parameters: #voice + see above)
 
  
<!--T:140-->
+
Hi-hat using [http://blog.rumblesan.com/post/53271713518/drum-sounds-in-supercollider-part-1 Rumble-San’s implementation] as a starting point
"voice" scales the comparator frequencies, higher values will sound "breathier".
 
<br>
 
_______
 
  
== Superchip == <!--T:141-->
+
* <code>n</code> provides some variation on the frequency in a weird way
(#superchip parameters: #slide, #speed, #accelerate, #pitch2, #pitch3, #voice)
+
* <code>accelerate</code> (0) sweeps the filter
  
<!--T:142-->
+
=== supersnare ===
Uses the Atari ST emulation UGen with 3 oscillators. "slide" is for a linear frequency glide that will repeat "speed" times (can be fractional or negative). "accelerate" is for an overall glide, "pitch2" and "pitch3" control the ratio of harmonics. "voice" causes variations in the levels of the 3 oscillators
 
  
== Supernoise == <!--T:143-->
+
Snare drum using [http://blog.rumblesan.com/post/53271713518/drum-sounds-in-supercollider-part-1 Rumble-San’s implementation] as a starting point
(#supernoise parameters: #n, #voice, #accelerate, #speed, #pitch1, #slide, #resonance)
 
  
<!--T:144-->
+
* <code>n</code> for some variation on frequency
Digital noise in several flavors with a bandpass filter. "voice" at 0 is a digital noise for which "n" controls rate, at 1 is Brown+White noise for which "n" controls knee frequency. "accelerate" causes glide in n, "speed" will cause it to repeat. "pitch1" scales the bandpass frequency (which tracks "n"). "slide" works like accelerate on the bandpass. "resonance" is the filter resonance.
+
* <code>decay</code> (1) for scaling noise duration relative to tonal part
 +
* <code>accelerate</code> (0) for tonal glide
  
== Superfork == <!--T:145-->
+
=== superclap ===
(#supefork parameters: #sustain, #accelerate)
 
  
<!--T:146-->
+
Hand clap using [http://blog.rumblesan.com/post/53271713518/drum-sounds-in-supercollider-part-1 Rumble-San’s implementation] as a starting point
Tuning fork from Ben Gold’s experimentation and from "On the acoustics of tuning forks", Rossing Russell and Brown.
 
  
== Superhammond == <!--T:147-->
+
* <code>n</code> (?) changes how spread is calculated
(#superhammond parameters: #voice, #decay)
+
* <code>delay</code> (1) controls the echo delay
 +
* <code>rate</code> (1) affects the decay time
 +
* <code>pitch1</code> (1) scales the bandpass frequency
  
<!--T:148-->
+
=== soskick ===
Hammond B3 sim. Freq adjustments courtesy Tom Wiltshire (electricdruid.net). Drawbar settings selectable with "voice" and from many public domain sources, Google "Hammond drawbar settings" and add your own in the big SelectX block (in SC)."perc" "percf" and "decay" are an attempt at the percussion, no idea if it sounds at all reasonable. vintage Hammonds had percf 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" are all new params you'll need to define in Tidal if you want to change them.
 
  
== Supervibe == <!--T:149-->
+
Kick drum synth. Increase pitch1 and voice for interesting electronic percussion.
(#supervibe parameters: #decay, #velocity, #accelerate, #modamp, #modfreq, #detune)
 
  
<!--T:150-->
+
* <code>midinote</code> – controls the root note of the kick (the source comments mention this, but the [https://github.com/musikinformatik/SuperDirt/blob/7589ccc3f5b780f07de869bb976677cf5af2a8e8/library/default-synths-extra.scd#L653 function] doesn’t have this parameter at all)
Vibraphone simulation, adapted with some help from Kevin Larke's thesis Real Time Vibraphone Pitch and Timbre Classification.
+
* <code>pitch1</code> (0) controls modulation frequency in Hz (min: 0, max: SampleRate.ir / 2)
 +
* <code>voice</code> (1) controls modulation input phase in radians (min: 0, max: your sanity)
 +
* <code>pitch2</code> (0) controls WhiteNoise amplitude (min: 0, max: 1)
 +
* <code>speed</code> (0.3) controls WhiteNoise sweep (min: 0, max: 1)
 +
* <code>freq</code> (65)
  
<!--T:151-->
+
=== soshats ===
"decay" - use larger values to damp higher harmonics (default 0)
 
"velocity" - higher velocity will brighten the sound a bit (default 1)
 
"accelerate" - for a linear pitch bend
 
"modamp" - amplitude of the tremolo (0-2 is OK, default 1)
 
"modfreq" - frequency of the tremolo (default 7)
 
"detune" - adjusts a high harmonic to give the sound a different character
 
  
== Superhoover == <!--T:152-->
+
* <code>resonance</code> (1) bandpass filter resonance value (min: 0, max: 1)
(#superhoover parameters: #slide, #decay, #accelerate)
+
* <code>pitch1</code> (238.5) oscillator modulation in radians (min: 0, max: SampleRate.ir / 2)
 +
* <code>sustain</code> (0.5)
 +
* <code>freq</code> (220)
  
<!--T:153-->
+
=== sostoms ===
Hoover, adapted from Wouter Snoei's (http://superdupercollider.blogspot.com/2009/06/more-dominator-deconstruction.html) "slide" is used for the amount of initial pitch glide, positive slides up in pitch, negative slides down. also responds to "decay" for a different envelope shape and "accelerate" for constant pitch glide. uncomment the two lines with "rrand" for a different every time you evaluate it (in SC).
 
  
== Superzow == <!--T:154-->
+
* <code>voice</code> (0.5) controls modulation input phase in radians (min: 0, max: your sanity)
(#superzow parameters: #decay, #accelerate, #slide, #detune)
+
* <code>sustain</code> (0.5)
 +
* <code>freq</code> (261.626)
  
<!--T:155-->
+
=== sossnare ===
Phased saws. "decay" and "accelerate" used as in some synths above, for envelope shaping and pitch bend, respectively. "slide" here is how fast it moves through the phase (default 1)
 
"detune" is for oscillator detuning and defaults to 1.
 
  
== Superstatic == <!--T:156-->
+
* <code>voice</code> (0.385) controls modulation input phase in radians (min: 0, max: your sanity)
(#superstatic parameters: #sustain)
+
* <code>semitone</code> (0.452) modulation frequency in semitones of fundamental
 +
* <code>pitch1</code> (2000) resonance filter frequency (Hz)
 +
* <code>resonance</code> (0.1) resonance of bandpass and resonz filters (min: 0, max: 1)
 +
* <code>freq</code> (405)
  
<!--T:157-->
+
== Other sounds ==
Impulse noise with a fadein/out.  "sustain" affects the overall envelope rate
 
  
== Supergrind == <!--T:158-->
+
=== supersiren ===
(#supergrind parameters: #accelerate, #detune, #voice, #speed)
 
  
<!--T:159-->
+
A controllable synth siren, defaults to 1 second, draw it out with <code>sustain</code>
From synthdef.art  fragment: 2018-08-16. Responds to accelerate (for pitch glide), detune (in Hz, but even small values are quite noticable), voice (changes harmonics), speed (impulse trigger rate)
 
  
== Superprimes == <!--T:160-->
+
=== supernoise ===
(#superprimes parameters: #accelerate, #detune, #voice, #speed
 
  
<!--T:161-->
+
Digital noise in several flavors with a bandpass filter
From synthdef.art: #nightofprimes. Responds to accelerate (for pitch glide),                  detune (fractional), voice (some subtle shaping and reverb changing), speed (impulse trigger rate).
 
  
== Superwavemechanics == <!--T:162-->
+
* <code>voice</code> at 0 is a digital noise for which “n” controls rate, at 1 is Brown+White noise for which “n” controls knee frequency
(#superwavemechanics parameters: #accelerate, #detune, #voice, #resonance)
+
* <code>accelerate</code> causes glide in n, “rate” will cause it to repeat
 +
* <code>pitch1</code> scales the bandpass frequency (which tracks “n”)
 +
* <code>slide</code> works like accelerate on the bandpass
 +
* <code>resonance</code> is the filter resonance
  
<!--T:163-->
+
=== superstatic ===
From synthdef.art, #wavemechanics. Responds to accelerate (for pitch glide). detune (for pitch randomization). voice (to color/whiten the noise). resonance (affects reverberation)
 
  
== Supertron == <!--T:164-->
+
Impulse noise with a fadein/out
(#supertron parameters: #accelerate, #detune, #voice)
 
  
<!--T:165-->
 
Feedback PWM. Can use "accelerate" "voice" and "detune" parameters.
 
  
<!--T:166-->
 
Try `d1 $ s "supertron" # octave 3 # accelerate "0.2"`
 
  
== Superreese == <!--T:167-->
 
(#parameters: #accelerate, #voice, #detune)
 
  
<!--T:168-->
 
Vaguely Reese-like synth. Can use "accelerate" "voice" and "detune" parameters
 
  
 
</translate>
 
</translate>

Latest revision as of 20:30, 27 March 2021

Other languages:
English • ‎français

List of Tidal effects and their descriptions

Basic effects

Delay

(parameters: #delay, #delaytime/#delayt, #delayfeedback/#delayfb)

Values from 0 to 1

Leslie

(parameters: #leslie, #lrate, #lsize)

"Leslie" controls dry/wet. "lrate" is the modulation rate (typical vintage rates would be 6.7 for "fast", 0.7 for "slow"). "lsize" is the physical size of the cabinet in meters, this mostly affects the Doppler amount (pitch warble)

Reverb

(parameters: #room, #size, #dry)

Thanks to Jost Muxfeld and James McCartney. Note that "size" is not room size, just a depth metaphor. Values from 0 to 1

Crush

(parameters: #crush)

Bit crushing, a pattern of numbers from 1 (for drastic reduction in bit-depth) to 16 (for barely no reduction).

Legato

(parameters: #legato)

Legato controls the amount of overlap between two adjacent synth sounds. Values less than one (e.g.: 0.5) will cut the sound off sooner. Values greater than one (e.g.: 1.5) will cut the sound off later.

Tremolo

(parameters: #tremolodepth/#tremdp, #tremolorate/#tremr)

Shape

(parameters: #shape)

A type of amplifier, values from 0 to 1

Coarse

(parameters: #coarse)

Fake-resampling, a pattern of numbers for lowering the sample rate, i.e. 1 for original 2 for half, 3 for a third and so on.

Phaser

(parameters: #phaserrate/#phasr, #phaserdepth/#phasdp)

Vowel

(parameters: #vowel)

Formant filter to make things sound like vowels, a pattern of either `a`, `e`, `i`, `o` or `u`. Use a rest (`~`) for no effect.

Lowpass filter

(#cutoff/#lpf, #resonance/#lpq)

Cutoff as Hz. Resonance from 0 to 1

Highpass filter

(#hcutoff/#hpf, #hresonance/#hpq)

Cutoff as Hz. Resonance from 0 to 1

Bandpass filter

(#bandf/#bpf, #bandq/#bpfq).

Cutoff as Hz. Resonance from 0 to 1

ASR-Envelope

(#attack/#att, #hold, #release/#rel)

Values in seconds.

MIDI specific parameters

(parameters: #dur, #modwheel, #expression, #sustainpedal)


Extra effects + SuperCollider help file description

Waveloss

(parameters: #waveloss)
(Calum Gunn)

Divides an audio stream into tiny segments, using the signal's zero-crossings as segment boundaries, and discards a fraction of them. Takes a number between 1 and 100, denoted the percentage of segments to drop.

(SuperCollider documentation for Waveloss.ar:

Divide an audio stream into tiny segments, using the signal's zero-crossings as segment boundaries, and discard a fraction of them (i.e. replace them with silence of the same length). The technique was described by Trevor Wishart in a lecture.

Parameters: the filter drops drop out of out of chunks. mode can be 1 to drop chunks in a simple deterministic fashion (e.g. always dropping the first 30 out of a set of 40 segments), or 2 to drop chunks randomly but in an appropriate proportion.)

Squiz

(parameters: #squiz)
(Calum Gunn)

Reminiscent of some weird mixture of filter, ring-modulator and pitch-shifter. Try passing multiples of 2 to it - 2, 4, 8 etc.

(SuperCollider documentation for Squiz.ar:

A simplistic pitch-raising algorithm. It's not meant to sound natural; its sound is reminiscent of some weird mixture of filter, ring-modulator and pitch-shifter, depending on the input. The algorithm works by cutting the signal into fragments (delimited by upwards-going zero-crossings) and squeezing those fragments in the time domain (i.e. simply playing them back faster than they came in), leaving silences inbetween. All the parameters apart from memlen can be modulated.

This UGen is dedicated to Suburban Base Records. (It doesn't sound like them, but was half-inspired by them.))

Frequency shifter

(parameters: #fshift, #fshiftnote, #fshiftphase)
(Ben Gold)

Total shift is sum of `fshift` (in Hz) and `fshiftnote` times the current note frequency. `fshiftphase` allows control over the phase

(SuperCollider documentation for FreqShift.ar:

FreqShift implements single sideband amplitude modulation, also known as frequency shifting, but not to be confused with pitch shifting. Frequency shifting moves all the components of a signal by a fixed amount but does not preserve the original harmonic relationships.)

Triode

(parameters: #triode)
(Ben Gold)

Triode-like distortion, uses only the `triode` parameter

Krush

(parameters: #krush, #kcutoff)
(Ben Gold)

Sonic Pi's krush modified a bit so krush "0" is the same as dry signal uses `krush` and `kcutoff` as parameters

Octer

(parameters: #octer, #octersub, #octersubsub)
(Ben Gold)

Sonic Pi's octaver uses `octer` for octave harmonics, `octersub` for half-frequency harmonics, and `octersubsub` for quarter-frequency harmonics.

Ring modulator

(parameters: #ring, #ringf, #ringdf)
(Ben Gold)

Ring modulation with `ring` (modulation amount), `ringf` (modulation frequency), and `ringdf` (slide in modulation frequency)

Distort

(parameters: #distort)
(Ben Gold)

A crunchy distortion with a lot of high harmonics, the only parameter is `distort

Spectral delay

(parameters: #xsdelay, #tsdelay)
(Mads Kjeldgaard)

(.....)

Magnitude freeze

(parameters: #freeze)
(Mads Kjeldgaard)

Accepts integers: 1 freezes the audio, 0 doesn't.

(SuperCollider documentation for PV_Freeze:

Freezes magnitudes at current levels when freeze > 0, and advances phase according to difference between frames to try and maintain currect spectral quality.)

Spectral comb filter

(parameters: #comb)
(Mads Kjeldgaard)

Number of teeth and width of the comb are all controlled using one floating point number

(SuperCollider documentation for PV_RectComb:

Makes a series of gaps in a spectrum)

Bin scrambling

(parameters: #scram)
(Mads Kjeldgaard)

Accepts floats to control the width and placement of the scrambling in the spectrum

(SuperCollider documentation for PV_BinScramble:

Randomizes the order of the bins. The trigger will select a new random ordering.)

Magnitude smearing

(parameters: #smear)
(Mads Kjeldgaard)

Accepts floats to determine the amount of smearing.

(SuperCollider documentation for PV_MagSmear:

Average a bin's magnitude with its neighbors.)

Bin shifting

(parameters: #binshift)
(Mads Kjeldgaard)

Both the stretching and shifting of bins are controlled by supplying this parameter with floats.

(SuperCollider documentation for: PV_BinShift:

Shift and scale the positions of the bins. Can be used as a very crude frequency shifter/scaler.)

Spectral high pass filter

(parameters: #hbrick)
(Mads Kjeldgaard)

Accepts floats in values ranging from 0.0 to 1.0

(SuperCollider documentation for PV_BrickWall: Clears bins above or below a cutoff point.)

Spectral low pass filter

(parameters: #lbrick)
(Mads Kjeldgaard)

Accepts floats in values ranging from 0.0 to 1.0

(SuperCollider documentation for PV_BrickWall: Clears bins above or below a cutoff point.)

Spectral conformer

(parameters: #real, #imag)
(Mads Kjeldgaard)

(No Description)

(SuperCollider documentation for PV_ConformalMap: Applies the conformal mapping z → (z - a) / (1 - za*) to the phase vocoder bins z with a given by the real and imag inputs to the UGen. Makes a transformation of the complex plane so the output is full of phase vocoder artifacts but may be musically fun. Usually keep |a| < 1 but you can of course try bigger values to make it really noisy. a = 0 should give back the input mostly unperturbed. See http://mathworld.wolfram.com/ConformalMapping.html )

Spectral enhance

(parameters: #enhance)
(Mads Kjeldgaard)

(No description)

DJ Filter

(parameters: #djf)
(Alex McLean)

DJ filter, a low pass filter for the first half of the range, and a high pass for the rest.

SuperDirt synths

Default values are in parentheses. Some undocumented parameters are included without descriptions.

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.

Instruments

supermandolin

Physical 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 timescale
  • accelerate (0) for a pitch glide
  • detune (0.2)

supergong

An 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 knob
  • decay (1) adjusts how the harmonics decay
  • accelerate (0) for pitch glide

For a demo, try d1 $ n (slow 2 $ fmap (*7) $ run 8) # s "supergong" # decay "[1 0.2]/4" # voice "[0.5 0]/8"

superpiano

Hooking into a nice synth piano already in SuperCollider

  • velocity affects how hard the keys are pressed
  • sustain controls envelope and decay time
  • detune (0.1)
  • muffle (1)
  • stereo (0.2)

superhex

Waveguide mesh, hexagonal drum-like membrane

  • rate (1)
  • accelerate (0)

SuperCollider documentation for MembraneHexagon.ar: MembraneCircle and MembraneHexagon are rather similar, being triangular waveguide meshes of a drum-like membrane. You input some excitation, such as a pulse of noise, and can adjust the tension and loss while it plays. They’re named after the shape made out of triangular meshes. Obviously you can’t make a circle out of triangles, but it tries. At the moment MembraneCircle is a bit bigger than MembraneHexagon, using more waveguides and therefore more CPU.)

supersquare

A 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)
  • accelerate (0) pitch glide
  • semitone (12) how far off in pitch the secondary oscillator is (need not be integer)
  • resonance (0.2) filter resonance
  • lfo (1) how much the LFO affects the filter frequency
  • rate (1) LFO rate
  • pitch1 (1) filter frequency scaling multiplier, the frequency itself follows the pitch set by “n”

supersaw

A moog-inspired sawtooth synth; slightly detuned saws with triangle harmonics, filter frequency modulated by LFO

  • voice (0.5) controls a relative phase and detune amount
  • decay (0)
  • accelerate (0) pitch glide
  • semitone (12) how far off in pitch the secondary oscillator is (need not be integer)
  • resonance (0.2) filter resonance
  • lfo (1) how much the LFO affects the filter frequency
  • rate (1) LFO rate
  • pitch1 (1) filter frequency scaling multiplier, the frequency itself follows the pitch set by “n”

superpwm

A moog-inspired PWM synth; pulses multiplied by phase-shifted pulses, double filtering with an envelope on the second

  • voice controls the phase shift rate
  • decay (0)
  • accelerate (0) pitch glide
  • semitone (12) how far off in pitch the secondary oscillator is (need not be integer)
  • resonance (0.2) filter resonance
  • lfo (1) how much the LFO affects the filter frequency
  • rate (1) LFO rate
  • pitch1 (1) filter frequency scaling multiplier, the frequency itself follows the pitch set by “n”

supercomparator

  • voice (0.5) scales the comparator frequencies, higher values will sound “breathier”
  • decay (0)
  • accelerate (0) pitch glide
  • resonance (0.5) filter resonance
  • lfo (1) how much the LFO affects the filter frequency
  • rate (1) LFO rate
  • pitch1 (1) filter frequency scaling multiplier, the frequency itself follows the pitch set by “n”

superchip

Uses the Atari ST emulation UGen with 3 oscillators

  • slide (0) for a linear frequency glide
  • rate (1) repeats the above glide “n” times (can be fractional or negative)
  • accelerate (0) for an overall glide
  • pitch2 (2) control the ratio of harmonics
  • pitch3 (3) control the ratio of harmonics
  • voice (0) causes variations in the levels of the 3 oscillators

superfork

Tuning fork from Ben Gold’s experimentation and from “On the acoustics of tuning forks”, Rossing Russell and Brown

  • accelerate (0)

superhammond

Hammond B3 sim. Frequency adjustments courtesy of Tom Wiltshire.

  • perc, percf and decay are an attempt at the percussion, no idea if it sounds at all reasonable. Vintage Hammonds had percf 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 are all 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

supervibe

Vibraphone 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 harmonics
  • velocity (1) higher velocity will brighten the sound a bit
  • accelerate (0) for a linear pitch bend
  • modamp (1) amplitude of the tremolo (0-2 is OK)
  • modfreq (7) frequency of the tremolo
  • detune (0) adjusts a high harmonic to give the sound a different character

superhoover

Hoover, adapted from Wouter Snoei’s implementation.

  • slide (0) for the amount of initial pitch glide, positive slides up in pitch, negative slides down
  • decay (0) for a different envelope shape
  • accelerate (0) for constant pitch glide

superzow

Phased saws

  • decay (0) for envelope shaping
  • accelerate (0) for pitch bend
  • slide (1) how fast it moves through the phase
  • detune (1) for oscillator detuning

supergrind

From synthdef.art fragment: 2018-08-16

  • accelerate (0) for pitch glide
  • detune (0) in Hz, but even small values are quite noticeable
  • voice (0) changes harmonics
  • rate (1) is the impulse trigger rate

superprimes

From synthdef.art #nightofprimes

  • accelerate (0) for pitch glide
  • detune (0) can be fractional
  • voice (0) does some subtle shaping and reverb changing
  • rate (0) is the impulse trigger rate

superwavemechanics

From synthdef.art #wavemechanics

  • accelerate (0) for pitch glide
  • detune (0) for pitch randomization
  • voice (0) to color/whiten the noise
  • resonance (0) affects reverberation

supertron

Feedback PWM

  • accelerate (0)
  • voice (0)
  • detune (0)

Try d1 $ s "supertron" # octave 3 # accelerate "0.2"

superreese

Vaguely Reese-like synth

  • accelerate (0)
  • voice (0)
  • detune (0)

superfm

6-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 is the preset number: 0 is user-defined; 1-5 are randomly generated presets
  • lfofreq is the overall pitch modulation frequency
  • lfodepth is the overall pitch modulation amplitude

Each operator responds to

  • amp (operator volume - becomes carrier)
  • ratio (frequency ratio)
  • detune (in Hz)
  • eglevel (1-4) (4 envelope generator levels)
  • egrate (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 volume)
  • ratio2 2.3 (op2 frequency ratio)
  • mod11 0.5 (op1 feedback)
  • mod12 0.78 (op1 modulation amount by op2)
  • detune1 0.2 (op1 detune)
  • eglevel12 0.1 (op1 EG level2)
  • egrate11 0.01 (op1 EG rate1) – WARNING: higher values go FASTER!

Default synths

imp

Modulated band limited impulse

  • accelerate (0)

psin

Modulated phase mod sines

  • accelerate (0)

pmsin

Cursor modulated phase mod sines

  • accelerate (0)

in

Live audio input

  • in

inr

Pitch shifted live audio input

  • accelerate (0)

gabor

Gabor grain

cyclo

Shepard on a cycle

  • accelerate (0)

Drums

superkick

Kick Drum using Rumble-San’s implementation as a starting point

  • n controls the kick frequency in a nonstandard way
  • accelerate (0) sweeps the click filter frequency
  • pitch1 (1) affects the click frequency
  • decay (1) changes the click duration relative to the overall timescale

super808

A vaguely 808-ish kick drum

  • n controls the chirp frequency
  • rate (1) controls the filter sweep speed
  • voice (0) sets the sinewave feedback

superhat

Hi-hat using Rumble-San’s implementation as a starting point

  • n provides some variation on the frequency in a weird way
  • accelerate (0) sweeps the filter

supersnare

Snare drum using Rumble-San’s implementation as a starting point

  • n for some variation on frequency
  • decay (1) for scaling noise duration relative to tonal part
  • accelerate (0) for tonal glide

superclap

Hand clap using Rumble-San’s implementation as a starting point

  • n (?) changes how spread is calculated
  • delay (1) controls the echo delay
  • rate (1) affects the decay time
  • pitch1 (1) scales the bandpass frequency

soskick

Kick 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)

soshats

  • resonance (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)
  • freq (220)

sostoms

  • voice (0.5) controls modulation input phase in radians (min: 0, max: your sanity)
  • sustain (0.5)
  • freq (261.626)

sossnare

  • voice (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)

Other sounds

supersiren

A controllable synth siren, defaults to 1 second, draw it out with sustain

supernoise

Digital noise in several flavors with a bandpass filter

  • voice at 0 is a digital noise for which “n” controls rate, at 1 is Brown+White noise for which “n” controls knee frequency
  • accelerate causes glide in n, “rate” will cause it to repeat
  • pitch1 scales the bandpass frequency (which tracks “n”)
  • slide works like accelerate on the bandpass
  • resonance is the filter resonance

superstatic

Impulse noise with a fadein/out