Week 5, lesson 3 - adding and using superdirt synths

There is a convenience function in superdirt that posts the code for adding SynthDef parameters in tidal

SuperDirt.postTidalParameters(synthNames: <a list of synth def names>);

// for example
SuperDirt.postTidalParameters(synthNames: [\supersaw, \supermandolin]);

// posts:

-- | parameters for the SynthDefs: supersaw, supermandolin
let (decay, decay_p) = pF "decay" (Nothing)
    (detune, detune_p) = pF "detune" (Nothing)
    (freq, freq_p) = pF "freq" (Nothing)
    (lfo, lfo_p) = pF "lfo" (Nothing)
    (pitch1, pitch1_p) = pF "pitch1" (Nothing)
    (rate, rate_p) = pF "rate" (Nothing)
    (resonance, resonance_p) = pF "resonance" (Nothing)
    (semitone, semitone_p) = pF "semitone" (Nothing)
    (span, span_p) = pF "span" (Nothing)
    (voice, voice_p) = pF "voice" (Nothing)



Is this of any help?

8 Likes

thank you

Great video, thanks.

Why do you use IEnvGen, instead of the more commonly used EnvGen?
The 'I' stands for interactive?

IEnvGen has an index input with which you can freely index into the envolope. So you can go forward and backward in time, so to speak.



(
{
	var index, env, lin;
	index = LFNoise1.ar(1000).range(0, 1);
	env = IEnvGen.ar(Env([0, 1, 0], [2, 8]/10, \sin), index);
	lin = IEnvGen.ar(Env([0, 1, 0], [2, 8]/10, \sin), Line.ar(0, 1, 0.01));
	[index, lin, env]
	
}.plot

)
1 Like

Instead of the variable 'sustain', 'sus' is mostly used in SynthDefs. See for instance these SynthDefs.

For converting SynthDefs to Tidal friendly SynthDefs, it might be better if SuperDirt would use the keyword 'sus' instead of 'sustain'.

The use of sus is not starndard, i.e. it doesn't work with the standard supercollider event system. E.g. if you write Pbind(\legato, 1.5, \dur, 0.5) it is sustain that will be 0.75, not sus.

Hi,
I find the communication between Supercollider and Tidal is rather lazy when I play the synth in Tidal defined in Supercollider.
How can I decrease this latency?
How can I explicitly request the communication time between the two applications?

Thanks for any suggestions.