// title: wiard noise ring variation using a ringbuffer instead of bitshifting, language implementation (pattern-based) // author: LFSaw // 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: // derived from an answer by Sergio Luque to a mail to the sc-users SuperCollider mailing list on 2013/03/22 ( var registerSize = 16; var min ="C2".namemidi.asInteger; var max = "C6".namemidi.asInteger; var waitTime = 0.05; // in seconds //var chance = 0.1; var chance = Pseq([Pseries(0, 0.1, 10), Pseries(1, -0.1, 10)], inf); var change = 10; // step size Pbind( \midinote, Pswitch1( { Pbrown(min, max, Pif(Prout({ chance.trace.coin.embedInStream }), change, 0)) } ! registerSize, Pseq(Array.iota(registerSize), inf) ), \dur, waitTime ).play )