48 lines
1.0 KiB
Plaintext
48 lines
1.0 KiB
Plaintext
// shippo ------------------------------------------------------
|
|
(
|
|
SynthDef(\shippo, {
|
|
arg amp=0.1, gate=1, out=0, freq=100;
|
|
var snd, env, rev;
|
|
freq = [freq/2, freq * 0.99, freq * 1.51];
|
|
snd = Pulse.ar( freq * LFNoise1.ar(1/10).range(1,1.03), mul:0.4 )
|
|
; //* Lag.ar(LFPulse.ar(1/5, iphase:0.98, width:0.1));
|
|
snd = Splay.ar(snd,spread:0.6);
|
|
snd = LPF.ar(snd, LFNoise1.ar(1/4).exprange(500,10000));
|
|
env = EnvGen.kr(Env.adsr(0.001,0,1, 0.1, 1), gate, doneAction:0);
|
|
snd = snd * env;
|
|
snd = snd;
|
|
rev = Array.fill (16, {
|
|
CombL.ar(
|
|
snd,
|
|
0.2,
|
|
LFNoise1.ar(1/3).range(0.98,1.02) * rrand(0.01, 0.3),
|
|
10)
|
|
});
|
|
rev = Splay.ar(rev);
|
|
rev = LeakDC.ar(rev);
|
|
rev = HPF.ar(rev, 100);
|
|
snd = snd + rev;
|
|
snd = Limiter.ar(snd, 0.8);
|
|
snd = snd * amp;
|
|
DetectSilence.ar(snd, doneAction:2);
|
|
Out.ar(out, snd);
|
|
}).add;
|
|
)
|
|
|
|
|
|
~clksh = TempoClock.new(1);
|
|
Pdef(\shippoP).play(~clksh);
|
|
Pdef(\shippoP).stop;
|
|
(
|
|
Pbindef(\shippoP, *[
|
|
instrument: \shippo,
|
|
degree: 4,
|
|
octave: 3,
|
|
dur: Pseq([1,2,3], inf),
|
|
legato:0.2,
|
|
amp: 0.5
|
|
]);
|
|
)
|
|
Pdef(\shippoP).clear
|
|
|