Skip to content

Instantly share code, notes, and snippets.

@tedthetrumpet
Created January 20, 2019 00:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tedthetrumpet/022dd0faa9748921e61f305d0cea13d7 to your computer and use it in GitHub Desktop.
Save tedthetrumpet/022dd0faa9748921e61f305d0cea13d7 to your computer and use it in GitHub Desktop.

// archive of code used for disquiet junto 0368 // P is the same as Pbindef // also needs buffer player synth \bf, and various other bits of initialisation not shown here

~dqjpath="/Users/jsimon/Dropbox/SuperCollider/disquiet junto 0368/Junto 367.aif" ~dqjbuf=Buffer.read(s, ~dqjpath) // ~dqjbuf.play

t.tempo_(120/60)

// define beat counter P(\justcount, \rest, Pn(\rest), \count, (Pseq((1..384),1)/4).ceil.asInt, \print, Pfunc({|event| event.at(\count).postln})) // P(\justcount).play

// define buffer playing node, careful with cmdperiod! // Ndef(\playit, {|start=0| PlayBuf.ar(2, ~dqjbuf, startPos: start)}) // stereo version used in testing Ndef(\playit, {|start=0| Mix.ar(PlayBuf.ar(2, ~dqjbuf, startPos: start))}) // panned left

// Ndef(\playit).stop

// initial tempo check, don't need any more // ( // P(\beat, \i, \bf, \a, 0.9); // P(\beat, \count, (Pseq((1..384),1)/4).ceil.asInt); // still a couple of bars short // P(\beat, \print, Pfunc({|event| event.at(\count).postln})); // ) // P(\beat).play // P(\beat).stop

// set up busses and nodes for slowly varying filters etc ~sbus = Bus.audio(s,2) Ndef(\sfilt, {In.ar(~sbus,2)}).play Ndef(\sfilt).filter(1, {|x| MoogVCF.ar(x, LFTri.kr(1/10).range(3000,5000), 0.4) })

~kbus = Bus.audio(s,2) Ndef(\kfilt, {In.ar(~kbus,2)}).play Ndef(\kfilt).filter(1, {|x| Decimator.ar(x, LFTri.kr(1/19).range(2000,4000), 10) })

~hbus = Bus.audio(s,2) Ndef(\hfilt, {In.ar(~hbus,2)}).play Ndef(\hfilt).filter(1, {|x| CombC.ar(x, delaytime: LFTri.kr(1/5).range(2000,4000).reciprocal) }).set(\wet1, 0.15)

// lazy drum machine, can livecode binary patterns

Pdefn(\krest, (2r1000001010000000).asBinaryDigits(16).replace(0,).pseq) Pdefn(\srest, (2r0000100000001000).asBinaryDigits(16).replace(0,).pseq) Pdefn(\hrest, (2r1010001010100010).asBinaryDigits(16).replace(0,).pseq)

Pbindef(\k, \instrument, \bf, \buf, ~hitz03.at(0), \dur, 1/4, \rest, Pdefn(\krest), \length, Pn(1,16), \a, 0.3, \out, ~kbus, \pan, 1) Pbindef(\s, \instrument, \bf, \buf, ~hitz03.at(2), \dur, 1/4, \rest, Pdefn(\srest), \length, Pn(1,16), \a, 0.3, \out, ~sbus, \pan, 1) Pbindef(\h, \instrument, \bf, \buf, ~hitz03.at(1), \dur, 1/4, \rest, Pdefn(\hrest), \length, Pn(1,16), \a, 0.3, \out, ~hbus, \pan, 1)

Pdef(\main, Ppar([Pdef(\h), Pdef(\k), Pdef(\s)]))

Pbindef(\fill, \instrument, \bf, \buf, Prand(~hitz03[0,2..],8), \dur, 1/2, \a, 0.2, \pan, 1)

Pdef(\arr, Psym(Pseq([[\main].dup(7), [\fill]].flat, 10))) // stops after 12 rounds 12*8 = 96 // Pdef(\arr).stop // Pdef(\arr).play

// start all together ( P(\justcount).play; Pdef(\arr).play; Ndef(\playit).fadeTime_(nil).vol_(0.18).quant_(4).play )

// Ndef(\playit).stop; P(\justcount).stop; Pdef(\arr).stop // Ndef(\playit).vol_(0.18) // Ndef(\playit).vol_(0)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment