// someone might like sit on sliding ice // julian rohrhuber 7/2005 ( p = ProxySpace(s); p.push; ~out.play; ) ( ~gate = { EnvGen.kr(Env.asr(0.5, 1, 8), MouseX.kr > 0.9) }; ~out = { var n = 5, maxbase; var drift, gate, lf, f0, f1; lf = 3; f0 = Rand(1400, 2900); f1 = f0 + ExpRand(100, 18000); maxbase = 10 ** ((f1/f0).log10 / n); gate = ~gate.kr; drift = LFDNoise0.kr(100 * gate).range(1, maxbase); Mix.fill(n, { |i| Pan2.ar( SinOsc.ar( (drift ** i) * f0, 1.0.rand, LFDNoise0.kr(400 * gate + (2*lf), 0.5).max(0) ), Rand(-1,1) * gate ) }) * gate * LFSaw.kr(LinExp.kr(gate, 1, 0, lf, 200).neg).max(0) * n.reciprocal }; ) ~gate = { LinExp.kr(LFDNoise3.kr(0.6),-1,1, 0.0001, 1) }; ~gate = { MouseY.kr(0.001, 1, 1) }; ( ~gate = { var ctl; ctl = DemandEnvGen.kr(Dseq([0, 1, 0.8, 0.8, 0.5], inf), Dseq([1, 0.2, 0.1, 2], inf) * MouseY.kr(0.1, 3, 1)); LinExp.kr(ctl, 0,1, 0.0001, 1) }; ) p.end; p.pop;


these images document the ongoing ancient tradition of ice sitting contests: original page ([1]boys, [2] girls)