Designing Sound in SuperCollider/Bouncing ball
Appearance
Fig 30.2: Bouncing ball
[edit | edit source](
Ndef(\bouncer, {
var bounceperiod, bouncetrigs, amp, fm, mainosc;
bounceperiod = Line.kr(0.3, 0, 3, doneAction: 2);
bouncetrigs = Impulse.kr(bounceperiod.reciprocal.min(30));
amp = EnvGen.ar(Env.perc(0.001, 0.0), bouncetrigs);
amp = Amplitude.ar(amp, 0, bounceperiod) * Line.kr(1, 0.05, 3);
fm =
SinOsc.ar(120).range(0, Line.ar(1, 0, 3))
+
(amp * Line.ar(1, 0, 3).cubed * 130 + 80)
;
mainosc = SinOsc.ar(fm, pi/2);
amp * mainosc;
}).play
)