«wiard noise ring variation using a ringbuffer instead of bitshifting, language implementation (pattern-based)» by LFSaw

on 22 Mar'13 13:56 in code forksequenceralgorithmic composing

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 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
)
raw 582 chars (focus & ctrl+a+c to copy)
reception
comments
miguel.negrao user 25 Mar'13 11:21

Ppatlace could be used instead of Pswitch1, no ?