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