//SLUGens released under the GNU GPL as extensions for SuperCollider 3, by Nick Collins, http://composerprogrammer.com/index.html
Breakcore breakcore simulator
Breakcore.ar(bufnum, capturein, capturetrigger, duration, ampdropout)
This is noisy.
( This UGen (C and SuperCollider code) was written on Feb 7 2005 in one hour in front of a live audience as part of the TOPLAP live coding jam at transmediale, Maria am Ostbahnhof, Berlin.
I haven't tried to clear it up after the event, only adding this notice; make what you can of it! )
//duration in samples
(60/183)*0.25*44100
b = Buffer.alloc(s,44100);
(
~breakfilenames= Array.fill(9,{arg i; var str;
str=("sounds/SCsamp/breaks/hiphop/hop"++(i+1).asString);
if((i==3) || (i==5),{str=str++".aif"});
str
});
~breakbeatlengths= [4,4,8,4,8,4,4,8,8];
~breaks= Array.fill(~breakbeatlengths.size,{arg i; Buffer.read(s,~breakfilenames[i])});
)
(
SynthDef("help-Breakcore",{ arg out=0, bufnum=0, target=0;
var playbuf;
playbuf=PlayBuf.ar(1,target, loop:1);
Out.ar(out,
Breakcore.ar(bufnum, playbuf, Impulse.kr(4),5512,0)*Line.kr(1,0,10,doneAction:2)
)
}).play(s,[\bufnum,b.bufnum,\target,~breaks[0].bufnum]);
)
(
SynthDef("help-Breakcore",{ arg out=0, bufnum;
Out.ar(out,
Breakcore.ar(bufnum, In.ar(8)*0.3, Impulse.kr(4),5512,0)*Line.kr(1,0,10,doneAction:2)
)
}).play(s,[\bufnum,b.bufnum]);
)
(
SynthDef("help-Breakcore",{ arg out=0, bufnum=0, target=0;
var playbuf;
playbuf=PlayBuf.ar(1,target,MouseX.kr(1,2), loop:1);
//AudioIn.ar(1,0.1)
Out.ar(out,
Breakcore.ar(bufnum,playbuf , Impulse.kr(LFNoise0.kr(4,10,12)),LFNoise0.kr(8,1900,2000),0) )
}).play(s,[\bufnum,b.bufnum, \target, ~breaks[2].bufnum]);
)
(60/180)*44100*0.25
3614/4