Fluid Pulse

supercollider
// SynthDef for layered detuned oscillators
SynthDef(\fluidPulse, { |out=0, freq=440, detune=0, amp=0.5, gate=1|
    var env = EnvGen.kr(Env.perc(0.01, 0.5), gate, doneAction: 2);
    var osc1 = SinOsc.ar(freq * (1 + detune * 0.01), 0, 0.3);
    var osc2 = SinOsc.ar(freq * (1 - detune * 0.01), 0, 0.3);
    var osc3 = SinOsc.ar(freq * 2, 0, 0.2);
    var mix = (osc1 + osc2 + osc3) * 0.33;
    var filtered = LPF.ar(mix, 800 + 500 * env);
    var effected = FreeVerb.ar(filtered, 0.7, 0.8, 0.8);
    Out.ar(out, effected ! 2);
}).writeDefFile;

// Score with layered detuned oscillators and smooth transitions
Score([
    [0.0, [\s_new, \fluidPulse, 1001, 0, 0, \freq, 220, \detune, 5, \amp, 0.4]],
    [1.0, [\s_new, \fluidPulse, 1002, 0, 0, \freq, 261.63, \detune, 3, \amp, 0.3]],
    [2.0, [\s_new, \fluidPulse, 1003, 0, 0, \freq, 330, \detune, 7, \amp, 0.5]],
    [3.0, [\s_new, \fluidPulse, 1004, 0, 0, \freq, 392, \detune, 2, \amp, 0.4]],
    [4.0, [\n_set, 1001, \gate, 0]],
    [4.0, [\n_set, 1002, \gate, 0]],
    [4.0, [\n_set, 1003, \gate, 0]],
    [4.0, [\n_set, 1004, \gate, 0]],
    [4.0, [\s_new, \fluidPulse, 1005, 0, 0, \freq, 440, \detune, 4, \amp, 0.3]],
    [5.0, [\s_new, \fluidPulse, 1006, 0, 0, \freq, 523.25, \detune, 6, \amp, 0.4]],
    [6.0, [\s_new, \fluidPulse, 1007, 0, 0, \freq, 660, \detune, 3, \amp, 0.5]],
    [7.0, [\s_new, \fluidPulse, 1008, 0, 0, \freq, 784, \detune, 5, \amp, 0.4]],
    [8.0, [\n_set, 1005, \gate, 0]],
    [8.0, [\n_set, 1006, \gate, 0]],
    [8.0, [\n_set, 1007, \gate, 0]],
    [8.0, [\n_set, 1008, \gate, 0]],
    [8.0, [\s_new, \fluidPulse, 1009, 0, 0, \freq, 880, \detune, 2, \amp, 0.3]],
    [9.0, [\s_new, \fluidPulse, 1010, 0, 0, \freq, 987.77, \detune, 4, \amp, 0.4]],
    [10.0, [\n_set, 1009, \gate, 0]],
    [10.0, [\n_set, 1010, \gate, 0]],
    [12.0, [\c_set, 0, 0]]
]).recordNRT(
    outputFilePath: "~/output.wav".standardizePath,
    headerFormat: "WAV",
    sampleFormat: "int16",
    sampleRate: 44100,
    options: ServerOptions.new.numOutputBusChannels_(2),
    duration: 12,
    action: { 0.exit }
);
toward fluid rhythmic structures for layered detuned oscillators toward textural density for smooth transitions from static frequencies to evolving detune patterns how to balance harmonic complexity with rhythmic clarity toward exploring granular synthesis for rhythmic elements