You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

48 lines
1.1 KiB
Plaintext

s.boot;
(
s.scope;
s.meter;
s.plotTree;
)
(
SynthDef(\fmbell, { arg out=0, amp=0.01, gate=0.5, pan=0, freq=300;
var sig, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8;
freq = freq * EnvGen.kr(Env([1,1.002,0.998,1],[0.1,0.8]), 1);
sig1 = SinOsc.ar(freq * 2.6706 + 0.13) * 2 + 1;
sig2 = SinOsc.ar(freq * 0.9998 * sig1);
sig3 = SinOsc.ar(freq * 2.6629 * sig1 + 2.04);
sig4 = LFCub.ar(freq * 0.9991 * sig1 + 2.14);
sig5 = SinOsc.ar(freq * 2.6656 * sig1 - 2);
sig6 = SinOsc.ar(freq * 1 * sig1 + 1.84);
//sig = sig2 + sig3 + sig4 + sig5 + sig6;
sig = [sig1, sig2, sig3, sig4, sig5, sig6] * DC.ar([0.5,0.3,0, 0.5,0.2,0.2]);
//sig.debug("sig");
//sig = sig /34;
sig = sig * EnvGen.ar(\adsr.kr( Env.adsr(0.01,0,1,2.1,1,-1) ),gate,doneAction:2);
sig = Pan2.ar(sig, pan + [ 0, -0.5, -0.5, 0.5, 0.5, 0], amp).sum;
Out.ar(out, sig);
}).add;
)
(
~reps = Pseries(1,1,inf).asStream;
p = Pbind (
\instrument, \fmbell,
\midinote, Pseq([
Pxrand([41, 53, 30, 58], ~reps),
Pxrand([80, 60, 70, 79]),
Pxrand([50, 40, 0, 80]),
],inf),
\sustain, 0.05,
\dur, 0.15,
//\amp, 1,
);
q = p.play;
)
q.stop;
s.record