1 <!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
4 <meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8">
5 <meta http-equiv=
"Content-Style-Type" content=
"text/css">
7 <meta name=
"Generator" content=
"Cocoa HTML Writer">
8 <meta name=
"CocoaVersion" content=
"1038.25">
9 <style type=
"text/css">
10 p
.p1
{margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica
}
11 p
.p2
{margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica
; min-height: 14.0px}
12 p
.p3
{margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica
; color: #ad140d}
13 p
.p4
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; min-height: 12.0px}
14 p
.p5
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
}
15 p
.p6
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; color: #ad140d}
16 p
.p7
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; color: #2c7014}
17 p
.p8
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; color: #001bb9}
18 span
.s1
{font: 18.0px Helvetica
}
19 span
.s2
{font: 11.0px Helvetica
}
20 span
.s3
{color: #001bb9}
21 span
.s4
{color: #000000}
22 span
.s5
{color: #2c7014}
23 span
.s6
{color: #ad140d}
24 span
.Apple-tab-span
{white-space:pre
}
28 <p class=
"p1"><span class=
"s1"><b>Pdfsm
<span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></b></span><b>deterministic finite state machine
</b></p>
29 <p class=
"p2"><br></p>
30 <p class=
"p1"><b>superclass:
</b>ListPattern
<span class=
"s2"><b><span class=
"Apple-converted-space"> </span></b></span></p>
31 <p class=
"p2"><br></p>
32 <p class=
"p2"><br></p>
33 <p class=
"p1">Pdfsm is a deterministic finite state machine with signal input (written by by ccos).
</p>
34 <p class=
"p2"><br></p>
35 <p class=
"p1"><b>list
<span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></b>a list consisting of the stream which gives input signals to determine state
<span class=
"Apple-converted-space"> </span></p>
36 <p class=
"p1"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>transitions, and then dictionary entries, one for each state, mapping the destinattion
</p>
37 <p class=
"p1"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>state and yield streams to those input signals.
</p>
38 <p class=
"p2"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></p>
39 <p class=
"p1"><b>startState
</b><span class=
"Apple-tab-span"> </span>an integer index for the state to start with. defaults to
0.
</p>
40 <p class=
"p2"><br></p>
41 <p class=
"p1"><b>repeats
</b> <span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>an integer giving the number of times the pattern should cycle.
</p>
42 <p class=
"p1"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>a cycle ends when the
<b>signal stream
</b> ends or
<span class=
"s3">nil
</span> is given for the destination
<span class=
"Apple-converted-space"> </span></p>
43 <p class=
"p1"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>state to a signal value, see below. defaults to
1</p>
44 <p class=
"p2"><br></p>
45 <p class=
"p2"><br></p>
46 <p class=
"p2"><br></p>
47 <p class=
"p2"><br></p>
48 <p class=
"p1"><b>list structure:
</b></p>
49 <p class=
"p2"><br></p>
50 <p class=
"p1"><span class=
"Apple-tab-span"> </span>[
</p>
51 <p class=
"p1"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><b>signal stream
<span class=
"Apple-tab-span"> </span></b>can be a stream of anything
<b> </b>which can serve as a key for
</p>
52 <p class=
"p1"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>an associative collection. integers, symbols, etc...
</p>
53 <p class=
"p1"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>asStream is called on this for each repeat.
</p>
54 <p class=
"p1"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><b>states
<span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></b>states should be an instance of
<a href=
"../../Collections/IdentityDictionary.html"><span class=
"s3">IdentityDictionary
</span></a>,
<a href=
"../../Collections/Event.html"><span class=
"s3">Event
</span></a></p>
55 <p class=
"p1"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>or some other associative collection
</p>
56 <p class=
"p1"><span class=
"Apple-tab-span"> </span>]
</p>
57 <p class=
"p2"><br></p>
58 <p class=
"p1"><b>list syntax:
</b></p>
59 <p class=
"p2"><br></p>
60 <p class=
"p1"><span class=
"Apple-tab-span"> </span>[
<span class=
"Apple-tab-span"> </span></p>
61 <p class=
"p1"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><b>signal stream,
</b><span class=
"Apple-tab-span"> </span></p>
62 <p class=
"p3"><span class=
"s4"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>(
</span>// state
0,
<span class=
"Apple-converted-space"> </span></p>
63 <p class=
"p1"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><b>signal value
</b><span class=
"Apple-converted-space"> </span>:
<span class=
"Apple-converted-space"> </span>[
<b>destination state, return stream or pattern
</b>],
</p>
64 <p class=
"p1"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><b>signal value
</b><span class=
"Apple-converted-space"> </span>:
<span class=
"Apple-converted-space"> </span>[
<b>destination state, return stream or pattern
</b>]
</p>
65 <p class=
"p1"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>),
</p>
66 <p class=
"p3"><span class=
"s4"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>...
</span>// state
1 ... N
</p>
67 <p class=
"p1"><span class=
"Apple-tab-span"> </span>]
</p>
68 <p class=
"p2"><span class=
"Apple-tab-span"> </span></p>
69 <p class=
"p1">Any number of states can be given, and are indexed by the order in which they are given.
</p>
70 <p class=
"p2"><br></p>
71 <p class=
"p1">If the fsm is in state x and it receives a
<b>signal value
</b> y it looks up y in the state dictionary
<span class=
"Apple-converted-space"> </span></p>
72 <p class=
"p1">supplied for x, if there is no y entry, it looks for a
<span class=
"s5">\default
</span> entry and uses that.
<span class=
"Apple-converted-space"> </span></p>
73 <p class=
"p2"><br></p>
74 <p class=
"p1">The next state is then set to
<b>destination state
</b>, and the stream yielded is given by
<b>return stream or pattern.
</b></p>
75 <p class=
"p1">that is unless the
<b>destination state
</b> is given as
<span class=
"s3">nil
</span>, or if a
<b>destination state
</b> is given for which you have
<b> </b>not
<span class=
"Apple-converted-space"> </span></p>
76 <p class=
"p1">supplied a dictionary - in both cases the current cycle ends and any remaining repeats are executed.
</p>
77 <p class=
"p1">If there is no
<b>signal value
</b> given for a particular signal, and no
<span class=
"s5">\default
</span> is supplied then one will get a runtime error.
</p>
78 <p class=
"p4"><br></p>
80 <p class=
"p5"><span class=
"Apple-tab-span"> </span>p =
<span class=
"s3">Pdfsm
</span>(
</p>
81 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>[
</p>
82 <p class=
"p6"><span class=
"s4"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span><span class=
"s3">Pseq
</span><span class=
"s4">( [
</span><span class=
"s5">\foo
</span><span class=
"s4">,
</span><span class=
"s5">\bar
</span><span class=
"s4">],
2 ),
</span>// foobar signals
<span class=
"Apple-tab-span"> </span></p>
83 <p class=
"p6"><span class=
"s4"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>(
</span>// state
0</p>
84 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s5">\foo
</span> : [
1,
<span class=
"s3">Pseq
</span>([
0,
1 ],
2 ) ]
</p>
85 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>),
</p>
86 <p class=
"p6"><span class=
"s4"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>(
</span>// state
1</p>
87 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s5">\bar
</span> : [
0,
3 ]
</p>
88 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>)
</p>
89 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>],
</p>
90 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>0,
<span class=
"Apple-converted-space"> </span></p>
91 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>2</p>
92 <p class=
"p5"><span class=
"Apple-tab-span"> </span>).asStream;
</p>
93 <p class=
"p4"><span class=
"Apple-tab-span"> </span></p>
94 <p class=
"p5"><span class=
"Apple-tab-span"> </span>11.do({ p.next.postln });
</p>
96 <p class=
"p2"><br></p>
98 <p class=
"p7"><span class=
"s3">SynthDef
</span><span class=
"s4">(
</span>\help_Pdfsm1
<span class=
"s4">,
<span class=
"Apple-converted-space"> </span></span></p>
99 <p class=
"p5"><span class=
"Apple-tab-span"> </span>{
<span class=
"s3">arg
</span> out=
0, freq=
440, sustain=
0.05;
</p>
100 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s3">var
</span> env;
</p>
101 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>env =
<span class=
"s3">EnvGen
</span>.kr(
<span class=
"s3">Env
</span>.perc(
0.01, sustain,
0.2), doneAction:
2);
</p>
102 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s3">Out
</span>.ar(out,
<span class=
"s3">SinOsc
</span>.ar([freq, freq +
0.1.rand2],
0, env))
</p>
103 <p class=
"p5"><span class=
"Apple-tab-span"> </span>}).add;
</p>
105 <p class=
"p4"><br></p>
107 <p class=
"p5"><span class=
"s3">var
</span> p;
</p>
108 <p class=
"p5">p =
<span class=
"s3">Pdfsm
</span>(
</p>
109 <p class=
"p5"><span class=
"Apple-tab-span"> </span>[
</p>
110 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s3">Prand
</span>([
0,
1,
2],
<span class=
"s3">inf
</span>),
<span class=
"Apple-tab-span"> </span><span class=
"s6">// signalStream
</span></p>
111 <p class=
"p4"><span class=
"Apple-tab-span"> </span></p>
112 <p class=
"p8"><span class=
"s4"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span>IdentityDictionary
<span class=
"s4">[
<span class=
"Apple-tab-span"> </span></span><span class=
"s6">// state
0</span></p>
113 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>0 -
> [
2,
<span class=
"s3">Pseq
</span>([
67,
68,
69],
2) ],
</p>
114 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>1 -
> [
0,
66 ],
</p>
115 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>2 -
> [
1,
65 ]
</p>
116 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>],
</p>
117 <p class=
"p8"><span class=
"s4"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span>IdentityDictionary
<span class=
"s4">[
<span class=
"Apple-tab-span"> </span></span><span class=
"s6">// state
1</span></p>
118 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>1 -
> [
1,
<span class=
"s3">Pseq
</span>([
69,
68,
67],
2) ],
</p>
119 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s5">\default
</span> -
> [
0,
70 ]
</p>
120 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>],
</p>
121 <p class=
"p8"><span class=
"s4"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span>IdentityDictionary
<span class=
"s4">[
</span></p>
122 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>0 -
> [
0,
71 ],
</p>
123 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>1 -
> [
0,
72 ],
</p>
124 <p class=
"p6"><span class=
"s4"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>2 -
> [
</span><span class=
"s3">nil
</span><span class=
"s4"> ]
<span class=
"Apple-converted-space"> </span></span>// signalStream is infinitely long,
</p>
125 <p class=
"p6"><span class=
"s4"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span>// so the fsm only ends because of this nil
</p>
126 <p class=
"p6"><span class=
"s4"><span class=
"Apple-tab-span"> </span></span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>//
2 -
> [nil, nil] is also fine
</p>
127 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>]
</p>
128 <p class=
"p5"><span class=
"Apple-tab-span"> </span>],
</p>
129 <p class=
"p6"><span class=
"s4"><span class=
"Apple-tab-span"> </span>1,
<span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span>// startState
</p>
130 <p class=
"p6"><span class=
"s4"><span class=
"Apple-tab-span"> </span>1 <span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span>// repeats
<span class=
"Apple-converted-space"> </span></p>
131 <p class=
"p5">).asStream;
</p>
132 <p class=
"p4"><br></p>
133 <p class=
"p8">Routine
<span class=
"s4">({
</span></p>
134 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"s3">var
</span> freq;
</p>
135 <p class=
"p5"><span class=
"Apple-tab-span"> </span>while({ (freq = p.next.postln).notNil },{
</p>
136 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s3">Synth
</span>(
<span class=
"s5">\help_Pdfsm1
</span>, [
<span class=
"s5">\freq
</span>, freq.midicps ]);
</p>
137 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>0.1.wait;
</p>
138 <p class=
"p5"><span class=
"Apple-tab-span"> </span>})
</p>
139 <p class=
"p5">}).play;
</p>
141 <p class=
"p4"><br></p>
143 <p class=
"p7"><span class=
"s3">SynthDef
</span><span class=
"s4">(
</span>\help_Pdfsm2
<span class=
"s4">,
<span class=
"Apple-converted-space"> </span></span></p>
144 <p class=
"p5"><span class=
"Apple-tab-span"> </span>{
<span class=
"s3">arg
</span> freq, gate=
1;
</p>
145 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s3">var
</span> n=
8, env, osc;
</p>
146 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>env =
<span class=
"s3">Linen
</span>.kr( gate,
0.01,
1,
0.03,
2 );
</p>
147 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>osc = {
<span class=
"s3">Mix
</span>.fill( n, {
<span class=
"s3">arg
</span> i;
</p>
148 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s3">FSinOsc
</span>.ar(freq +
<span class=
"s3">Rand
</span>(-
2.0,
2.0),
<span class=
"s3">Rand
</span>(
0,
0.05pi)) ring4:
</p>
149 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s3">FSinOsc
</span>.ar(freq * (i+
1));
</p>
150 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>})}.dup *
<span class=
"s3">FSinOsc
</span>.kr(
<span class=
"s3">Rand
</span>(
1.5,
4.5),{
<span class=
"s3">Rand
</span>(-
0.1pi,
0.1pi)}.dup,
0.6,env*
0.4);
</p>
151 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s3">Out
</span>.ar(
0, env * osc / (n*
4)
<span class=
"Apple-converted-space"> </span>)
</p>
152 <p class=
"p5"><span class=
"Apple-tab-span"> </span>}).add;
</p>
154 <p class=
"p4"><br></p>
156 <p class=
"p5"><span class=
"s3">var
</span> n=
3, base, penult;
</p>
157 <p class=
"p4"><br></p>
158 <p class=
"p5">base = [
3,
4,
4,
0];
</p>
159 <p class=
"p4"><br></p>
160 <p class=
"p5">for(
1, n, {
<span class=
"s3">arg
</span> i;
</p>
161 <p class=
"p5"><span class=
"Apple-tab-span"> </span>penult =
<span class=
"s3">Pbind
</span>(
<span class=
"s5">\degree
</span>,
<span class=
"s3">Pshuf
</span>(base - (i*
5),
2),
<span class=
"s5">\dur
</span>,
<span class=
"s3">Pseq
</span>([
0.2],
2) );
</p>
162 <p class=
"p8"><span class=
"s4"><span class=
"Apple-tab-span"> </span></span>Pset
<span class=
"s4">(
</span></p>
163 <p class=
"p7"><span class=
"s4"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span>\instrument
<span class=
"s4">,
</span>\help_Pdfsm2
<span class=
"s4">,
</span></p>
164 <p class=
"p8"><span class=
"s4"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span>Pdfsm
<span class=
"s4">(
</span></p>
165 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>[
</p>
166 <p class=
"p6"><span class=
"s4"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span><span class=
"s3">Pseq
</span><span class=
"s4">([
<span class=
"Apple-tab-span"> </span></span>// signalStream
</p>
167 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s3">Pn
</span>(
1,
22 + i),
</p>
168 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s3">Pn
</span>(
0,
4),
</p>
169 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s3">Pn
</span>(
1,
8),
</p>
170 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s3">Pseq
</span>([
<span class=
"Apple-converted-space"> <span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span></p>
171 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s3">Pn
</span>(
0,
3),
<span class=
"Apple-converted-space"> </span></p>
172 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s3">Prand
</span>([
0,
1],
8),
<span class=
"Apple-converted-space"> </span></p>
173 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s3">Pn
</span>(
1,
8)
<span class=
"Apple-converted-space"> </span></p>
174 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>],
3 ),
</p>
175 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s3">Pn
</span>(
2,
2)
</p>
176 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>],
1 ),
<span class=
"Apple-converted-space"> </span></p>
177 <p class=
"p6"><span class=
"s4"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>(
<span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span>// state
0</p>
178 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>0 : [
0,
<span class=
"s3">Pbind
</span>(
<span class=
"s5">\degree
</span>,
<span class=
"s3">Pseq
</span>(base - i,
1),
<span class=
"s5">\dur
</span>,
<span class=
"s3">Pxrand
</span>([
0.2,
0.3],
4) ) ],
</p>
179 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>1 : [
1,
<span class=
"s3">Pbind
</span>(
<span class=
"Apple-converted-space"> </span></p>
180 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s5">\degree
</span>,
<span class=
"s3">Pseq
</span>(base.reverse - (i*
2),
2),
<span class=
"Apple-converted-space"> </span></p>
181 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s5">\dur
</span>,
<span class=
"s3">Pseq
</span>([
0.2,
0.21],
1)
<span class=
"Apple-converted-space"> </span></p>
182 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>)
<span class=
"Apple-converted-space"> </span></p>
183 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>],
</p>
184 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>2 :
<span class=
"Apple-tab-span"> </span>[
2, penult ]
</p>
185 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>),
</p>
186 <p class=
"p6"><span class=
"s4"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>(
<span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span>// state
1</p>
187 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>0 : [
0,
<span class=
"s3">Pbind
</span>(
<span class=
"s5">\degree
</span>,
<span class=
"s3">Pshuf
</span>(base * i.neg,
8),
<span class=
"s5">\dur
</span>,
<span class=
"s3">Pseq
</span>([
0.08],
8) ) ],
</p>
188 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>1 : [
0,
<span class=
"s3">Pbind
</span>(
<span class=
"s5">\degree
</span>,
<span class=
"s3">Pseq
</span>(base - (i*
3),
3+i),
<span class=
"s5">\dur
</span>,
<span class=
"s3">Pseq
</span>([
0.11],
3+i) ) ],
</p>
189 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>2 : [
2, penult ]
</p>
190 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>),
</p>
191 <p class=
"p6"><span class=
"s4"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>(
<span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span>// state
2</p>
192 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s5">\default
</span> : [
2,
<span class=
"s3">Pbind
</span>(
<span class=
"Apple-converted-space"> </span></p>
193 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s5">\degree
</span>,
<span class=
"s3">Prand
</span>(base - (i*
7),
5),
<span class=
"Apple-converted-space"> </span></p>
194 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s5">\dur
</span>,
<span class=
"s3">Prand
</span>([
0.6,
0.8],
5)
<span class=
"Apple-converted-space"> </span></p>
195 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>)
<span class=
"Apple-converted-space"> </span></p>
196 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>]
</p>
197 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>)
</p>
198 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>],
</p>
199 <p class=
"p6"><span class=
"s4"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>i %
2 <span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span>// startState
</p>
200 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>)
</p>
201 <p class=
"p5"><span class=
"Apple-tab-span"> </span>).play;
</p>
204 <p class=
"p4"><br></p>
205 <p class=
"p4"><br></p>