// title: Introduction of Sweet Dreams // author: prko // description: // inspired from "2018 09 18 18 20 48 sweet dreams twitch" by studioTTTguTTT: // "https://www.youtube.com/watch?v=vFqCyfdNbZM&lc=Ugz8PRnQHrWs-XOm45p4AaABAg".openOS // code: // inspired from "2018 09 18 18 20 48 sweet dreams twitch" by studioTTTguTTT: "https://www.youtube.com/watch?v=vFqCyfdNbZM&lc=Ugz8PRnQHrWs-XOm45p4AaABAg".openOS ( SynthDef(\eurythmics1, { |pit 60 amp 0.9 gate 1| var lfo, env, sig, pos, rel; amp.poll(0.1); pos = pit.linexp(36, 60, 1, 3) - 2; rel = Select.kr( pos > 0, [0.01, 0.08]); lfo = SinOsc.kr(TRand.kr(3, 5, gate)).range(0.1, -0.1); env = Env.adsr(0.08, 0, 1, rel, curve: -3).kr(gate: gate); pit = pit + lfo; sig = SawDPW.ar([pit, pit + 0.05].midicps).sum * env * amp; sig = JPverb.ar(sig, 0.2, 0.5, 0.5); sig = Balance2.ar(sig[0], sig[1], pos); FreeSelf.kr(DetectSilence.ar(sig + Impulse.ar(0)).product); Out.ar(0, sig); } ).add ); ( ~time = 128/60; t = TempoClock(~time); Pbind( \instrument, \eurythmics1, \pit, Pseq([[36, 24],36, 60, 60, 51, 63, 48, 60, 44, 56, 56, 60, 43, 55, [46, 55], 58], 32), \dur, Pseq([1/~time], inf), \amp, Pseq([rrand(-6.0, -12).dbamp, rrand(-12.0, -21).dbamp], inf) ).play(t); ) //////// ( SynthDef(\eurythmicsVar2, { |pit 60 amp 0.9 gate 1 delayTime 0.2| var lfo, osc, env, sig; lfo = SinOsc.kr(TRand.kr(3, 5, gate)).range(0.1, -0.1); env = Env.adsr(0.08, 0, 1, 0.1, curve: -2).kr(gate: gate); pit = pit + lfo; osc = SawDPW.ar([pit, pit + 0.05].midicps).sum * env * amp; sig = FreeVerb.ar(osc, 0.2, 0.1, 0.8); sig = DelayC.ar(sig, 1, [0, delayTime], 1); sig = LPF.ar(sig, SampleRate.ir / [3, 2]); FreeSelf.kr(DetectSilence.ar(sig + Impulse.ar(0)).product); Out.ar(0, sig); } ).add ); ( ~time = 128/60; t = TempoClock(~time); Pbind( \instrument, \eurythmicsVar2, \pit, Pseq([[36, 24],36, 60, 60, 51, 63, 48, 60, 44, 56, 56, 60, 43, 55, [46, 55], 58], 32), \dur, Pseq([1/~time], inf), \delayTime, Pseq([1/~time/2], inf), \amp, Pseq([rrand(-18, -24).dbamp, rrand(-24, -33).dbamp], inf) ).play(t); ) ////////// final ( ~time = 128/60; t = TempoClock(~time); ~pit = Pseq([[36, 24],36, 60, 60, 51, 63, 48, 60, 44, 56, 56, 60, 43, 55, [46, 55], 58], 32); ~dur = Pseq([1/~time], inf); Pbind( \instrument, \eurythmicsVar2, \pit, ~pit, \dur, ~dur, \delayTime, ~dur / 2, \amp, Pseq([rrand(-18, -24).dbamp, rrand(-24, -33).dbamp], inf) ).play(t); Pbind( \instrument, \eurythmics1, \pit, ~pit, \dur, ~dur, \amp, Pseq([rrand(-6.0, -12).dbamp, rrand(-12.0, -21).dbamp], inf) ).play(t); )