«Piano Gestures: A Little Study» by mimetikmusic

on 26 Jan'13 10:46 in patternmidipianoimprovisation

A little study on piano improvisation.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/* Piano Gestures: A Little Study by mimetik

 This is a little study on piano improvisation, in particular on "gestures", by which I mean here little improvised phrasings.

*/

MIDIClient.init;

/*
Choose from the list of devices your internal MIDI router, so to send the notes to piano intrument in your favourite DAW
*/

~mOut = MIDIOut.new(3);

//Set the scale to be Cmajor
~scale=[0,2,4,5,7,9,11];

//Define pattern proxies which will be modified by the task t below

a=PatternProxy(Pxrand([3,3,3,1,3,3],inf));
b=PatternProxy(Pseq([1/2],inf));
r=PatternProxy(Pseq([12],inf));
n=Prand([4,8,16],inf).asStream;

t=Task({
Pdef(\x,Pbind(\type,\midi,\chan,0,
	      \midiout,~mOut,
	      \scale,~scale,
	      \root,-12,
	      \degree,Pxrand([[0,3,5],[3,5,7],[4,6,8],[5,7,11]],inf),
	      \legato,1,
	      \amp,[{rrand(0.6,0.8)},{rrand(0.5,0.6)},{rrand(0.5,0.6)}]*0.7,	\dur,Prand([Pseq([1,1,1,1],1),Pseq([1,1,2],1),Pseq([1,2,1],1)],inf))).play(quant:1);

Pdef(\y,Pbind(\type,\midi,\chan,0,
	      \midiout,~mOut,
	      \scale,~scale,
	      \root,r,
	      \degree,a,
	      \legato,1,
	      \amp,{rrand(0.5,0.6)},
\dur,b)).play(quant:1);

10.wait;

t=Task({
	inf.do({
		if (0.7.coin,{	
		 c=[[3,0,7,1,9,11,0,4],[[3,7],0,7,Rest,9,[0,11],0,4]].choose.scramble;
           	 r.source=Pseq([[12,24].wchoose([0.7,0.3])],inf);
		 d=n.next;
	         a.source=Pseq([Pxrand(c,d),Pxrand([3,3,3,1,3,3],inf)]);
	         b.source=Pseq([Pseq([1/8],d),Pseq([1/2],inf)]);
	       });
       rrand(3,4).wait;})}).play(quant:1);
	};
).play(quant:1);
raw 1594 chars (focus & ctrl+a+c to copy)
reception
comments