
Paul Dirac at a SuperCollider workshop in the early 1930s.
Done at sc Symposium
Video Documentation by redFrik [direct]
but don't forget the <code> ... </code> around it.
Thursday, 10 August 2006, 9:19:15 am
// Chris Frauenberger
p = ProxySpace.push(s);
(
~imp = { |freq=200, phase=0, mul=1, add=0|
Impulse.ar(freq, phase, mul, add);
};
)
~imp.play
(
Tdef(\play, {
loop {
~imp.setn(\freq, [3000.rand, 0.3.rand, 0.8.rand, 0.1.rand]);
0.5.rand.wait;
}
});
)
Tdef(\play).play;
Tdef(\play).stop;
(
~imp2 = { |freq=59, phase=0, mul=1, add=0|
Out.ar(1, Impulse.ar(LFSaw.kr(0.1, 0, 200, 1.2), phase, mul, add));
}
)
~imp2.set
ProxyMixer(p)
Friday, 4 August 2006, 3:32:02 pm
i was aiming for quantity :) jan-kees
Ndef(\imp).fadeTime_(2).play
Ndef(\imp, { Impulse.ar(SinOsc.kr(1,0,5,9))!2 })
Ndef(\imp, { Impulse.ar(SinOsc.kr(SinOsc.kr(0.1,[0,pi]),0,5,9)) })
Ndef(\imp, { Impulse.ar(LFNoise2.kr([0.1,0.11],99,100)) })
Ndef(\imp, { Impulse.ar(SinOsc.kr(SinOsc.kr([0.1,0.3]),0,5,9)) })
(
Ndef(\imp, { Impulse.ar(LFNoise0.kr([2,20], 2, 90, 100)) *
LFPulse.kr(SinOsc.kr(1,pi*[0,1]), 0.03) * WhiteNoise.ar
}))
(
Ndef(\imp, { Impulse.ar ( LFNoise0.kr([2,1.5],2900,3000))
* LFSaw.ar(LFNoise0.kr([80,3],0,9,40)) * 0.5 }
))
Ndef(\imp, { Impulse.ar(LFNoise1.kr([2,3],290,300))*LFSaw.ar(SinOsc.kr(3,0,900,4000))})
Ndef(\imp, { Impulse.ar(LFNoise1.kr(20,290,300))*LFSaw.ar([1440,30])})
Ndef(\imp, { Impulse.ar(LFNoise0.kr([10,15],290,300))*LFPulse.ar([440,1])})
Ndef(\imp, { Impulse.ar(LFNoise1.kr(2000,290,300))*SinOsc.ar(440)!2 })
Ndef(\imp, { Impulse.ar(LFNoise0.kr(200,29,30))*SinOsc.ar([440,3000]) })
Ndef(\imp, { Impulse.ar(LFNoise0.kr(2,29,30) )!2 })
Ndef(\imp, { Impulse.ar(LFNoise0.kr([2,1.9],29,30)) })
Ndef(\imp, { Impulse.ar(LFNoise2.kr(21,99,100) ).min(LFNoise1.kr([12,11],add:0.5)) })
Ndef(\imp, { Impulse.ar(LFNoise0.kr([10.1,10],99,100)) })
Tuesday, 1 August 2006, 10:52:58 pm
// jrh: can't find mine anymore.
// from memory
(
SynthDef("dirac2", { arg out=0, amp=1.0, pan=0;
var trig;
trig = Impulse.ar(1);
FreeSelf.kr(trig);
OffsetOut.ar(out, Pan2.ar(trig * amp, pan))
}, [\ir, \ir, \ir]).store;
);
p = ProxySpace.push;
~x.play;
~out.fadeTime = 4;
~out = { Impulse.ar([pi, 3] * Line.kr(1, 5, 15), 0, SinOsc.kr(0.1, 0, 0.2, 0.2)) };
~out = { Impulse.ar([pi, 3.1] * Line.kr(1, 5, 15), 0, SinOsc.kr(0.1, 0, 0.2, 0.2)) };
~out = { Impulse.ar([pi, 3.14] * Line.kr(1, 5, 15), 0, SinOsc.kr(0.1, 0, 0.2, 0.2)) };
~x = { DelayN.ar(~out.ar, 1/pi, 1/pi, 1.0, ~out.ar) };
~out = { Impulse.ar([pi, 3.14] * Line.kr(1, 5, 15), 0, SinOsc.kr(Line.kr(0.1, 3, 15), 0, 0.2, 0.2)) };
~out = Pbind(\instrument, \dirac2, \dur, Prand([0.01, 0.2, 0.36, 0.02], inf));
~out = { Impulse.ar([pi, 3.141] * Line.kr(1, 25, 15), 0, SinOsc.kr(Line.kr(0.1, 3, 15), 0, 0.2, 0.2)) };
p.clear(4);
p.pop;
Tuesday, 1 August 2006, 7:31:05 pm
//redFrik's code. very boring as i had to code it while shooting video.
p= ProxySpace.push(s.boot)
~out.ar(2)
~imp= {Impulse.ar(LFNoise2.ar(0.2, 0.4, 0.5))}
~out= ~imp
~out.play
~out.release
Tuesday, 1 August 2006, 3:00:52 pm
Jason's code
s = Server.local;
s.boot;
p = ProxySpace.push(s);
p.fadeTime = 4;
~meep.play;
~pan = {TRand.kr(-1,1,Impulse.kr(5))};
~ph = {Impulse.kr(MouseX.kr(0,100), mul:MouseY.kr(0,pi))};
~fr = {Impulse.kr(MouseX.kr(0.1,800), mul:MouseY.kr(1,20))};
~meep = {Pan2.ar(Impulse.ar(~fr*100, ~ph),~pan)};
// let's have some fun with the built-in mic...
~aud = {AudioIn.ar(1)};
~meep = {Pan2.ar(Impulse.ar(~fr*100, ~ph)*~aud,~pan)};
p.end(8);
p.clear.pop;
s.quit;
Tuesday, 1 August 2006, 3:00:41 pm
LFSaw's code
p = ProxySpace.push(s)
s.boot;
~a = {Impulse.ar(1)}
~a = {
// Pulse.ar(rrand(1, 1), 0.01)
Pulse.ar(Line.kr(1, 35, 60), 0.01)
*
Impulse.ar(Saw.ar(0.01).range(1, 2) * SinOsc.ar(10).exprange(100, LFNoise2.ar(190).range(100, 1000))).lag(0.0001)!2}
~a = {Impulse.ar(Gendy2.ar(1, 0.1).range(10, 1000))}
~a = {Mix(Impulse.ar({Gendy1.ar(1, 0.1).exprange(rand(100), 10000)}!5))!2}
~a.stop
~a.clear
~a = {Impulse.ar(Noise.ar(1, 0.1).range(10, 1000))}
~b = {Impulse.ar(MouseX.kr(1, 100000))}
~b.play
~a.play
~b.stop
~a.rebuild
~a.fadeTime = 10;
~a.play
~a.clear
~a = {Mix.fill(100, {|i| Impulse.ar(rrand(5, 10.0), (i.rand)/100, mul: (i.rand)/100)})}
~a.fadeTime = 10;
Nick's tiny code (adapted as I went along, final version here)
{var my; my=MouseY.kr(0.5,1000,'exponential'); Impulse.ar(Gendy3.kr(freq:MouseX.kr(0.1,100,'exponential'), mul:my,add:LFNoise0.kr(my,5000,5500)),0,100)}.play
Dan's code (also adapted as I went along)
s.boot;
n = NodeProxy.audio(s, 2);
n.play;
n.source = {
var a, son;
a = 1.1 ** (0..5) * MouseX.kr(10, 300, 1);
son = Impulse.ar(a).sum * (A2K.kr(RosslerL.ar) > 0.5);
Pan2.ar(son)
};
/*
n.stop