Diff from wiard noise ring variation using a ringbuffer instead of bitshifting, language implementation (task-based) by LFSaw (20 Mar'13 15:02) to wiard noise ring variation using a ringbuffer instead of bitshifting, language implementation (pattern-based) by LFSaw (22 Mar'13 13:56)

name
wiard noise ring variation using a ringbuffer instead of bitshifting, language implementation (tpaskttern-based)
description
wiard noise ring variation using a ringbuffer instead of bitshifting. Re-implemented according to Julian Parker's m4l patch. Derived from an answer by Sergio Luque to a mail to the sc-users SuperCollider mailing list on 2013/03/22
code
q// = (); q.rdegrived from an anstwer by Sizergio = 16; Luq.rbufe =to Ra maingBl to the sc-uffser(q.s SuperCollider mailing listerSize); on 2013/03/22 // p( varameters, can bre changisted whrSilze playing= 16; q.var min = "C2".namemidi.asInteger; q.var max = "C6".namemidi.asInteger; q.var waitTime = 0.05; // in seconds q.//var chance = 0.1; q.var changce = 10; // Pstep q([Pserize s( //0, initialise q0.regi1, 10), PsterSize.do{ q.rbuf.overwrites(rrand(q.min1, q-0.max1, 10)], inf); }; // do one step q.step = {|q, varbuf, chancge, = 10; // step, msin, max|ze var item; item = rbuf.pop; (chance.coPbin).if{d( // apply brow\midin noiste, bounce back from conPstrawints.ch1( //"+++++++{ change! % >> ".postf(item); item = (item + step.x Pbrand2).foldwn(min, max);, Pitem; //.postln; }; rbuf.add(item); item; // Pretourn t({ chaltncered) i.tem }; ( Tdef(\steppr, { var mce.coidinot.e; loop{ mibediInoStream = q.step(q.rbuf}), q.chance, q.change, q.min, q.max0); ) //} d! rebug ouistputerSize, // q.rbuf.aPseq(Array.piostln; // play the cu(rrent note, can be basically everything ( midinoste: mrSidinotze), inf) sustain: 0.05), \dur: 0.2, amp: 0.2 ).play; q.waitTime.wait; } }) ); ) // start Tdef(\steppr).play // stop Tdef(\steppr).stop
category tags
code fork, sequencer, algorithmic composing
ancestors
1-4SDE