-
Notifications
You must be signed in to change notification settings - Fork 1
/
live_practice_01.spi.spi
136 lines (109 loc) · 2.8 KB
/
live_practice_01.spi.spi
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
live_loop(:metro)do;tick;sleep 1;end
live_loop :melo, sync: :metro do
# tick
pat = *%W{A3 D3 E3
Fs3 A3 D3
A3 D3 E3
E3 Fs3 D3
_ A2 B2}
puts pat
score = space(pat)
puts pat.length
puts score
# stop
cue(:m) if (look % (score.count-1)) == 0
3.times{
dshader :iMode, 0
# dshader [:iR,:iG,:iB].choose, rand*9
harp s=score.tick, 1*(ring 20,20,20, 30,40,40, 40,60,80).look
#zero s[0]
puts s
if(spread 1,3).look
sharp s
end
if(spread 1,6).look
sharp s
end
sleep s[-1] || 3
}
sleep 3/4.0
end
#harp :A1, sustain: 12
live_loop :kick, sync: :metro do
tick
#sync :m
k1,k2=Frag[/kick/,9],Frag[/kick/,13]
if(s=(ring *%W{k2 _ {path:k1,amp:0.4} _ _ _ _ _ k1 _ _ _ _ _ _ _
k2 _ _ _ _ _ _ _ k1 _ _ _ _ _ _ _
k2 _ _ _ _ _ _ _ k1 _ _ _ _ _ _ _
}).look) != _
# puts eval(s)
#smp eval(s), v:1.5
end
s1 = Mountain[/microperc/,5]
if (s=(ring *%W{_ _ _ _ s1 _ _ _ s1 _ _ _ _ _ _ _
_ _ _ _ s1 _ _ _ _ _ {path:h2,amp:0.9} _ _ _ _ _
}).look) != _
# smp eval(s)
#v1 = Tech[/vocal/,12]
v1 = Words[/beauty/,0]
h1,h2 = (knit @slices["Fs3/4"][8],6*2, @slices["A3/4"][1],2).look, @slices["B3/4"][1]
if spread(1,32).look
#puts @slices["B3/4"][0]
#smp [{path:@slices['B3/4'][1][:path],amp:0.5}]
# smp v1, start: 0.4, finish: 0.5, rate: 1.0, amp: 0.5
end
if spread(1,8).look
# fslice= ♥️.slice(:FS3).look
end
fslice = ring(*♥️.slice(:Fs3).drop(1) + [♥️.slice(:Fs3)[-1]]).look
if fslice[:length] <= 0.1
smp fslice, finish_offset: 0.0002
end
hat = (ring *%w{_ _ h2 _})
hat2 = (ring *%w{_ _ h1 _
_ _ h1 {path:h2,amp:0.5}
_ _ h1 _
_ _ h1 _})
#smp eval(hat.look), amp: 1.0#, rpitch: 0
#smp eval(hat2.look),amp: 1
end
sleep 1/8.0
end
live_loop :thing, sync: :metro do
tick
#sync :m
#smp Corrupt[/loop/,/beat/,/120/,6], slice: (ring *1..12).look, amp: 2
sleep 1/8.0
end
live_loop :bass, sync: :metro do
#stop
# sync :m
# tick_reset
tick
# [:E2,3], [:D2,3],[:B1,3],
# [:FS2,3],
# [:A2,3],
# [:Gs2,1],
# [:D2,3],
# [:Cs2,2],
# [:B1,1],
# [_,1.0], #ODD timing
bass s=(ring
[:E2, 3], [:D2, 3], [:B1,3],
[:FS2,3], [:A2, 3], [:Gs2, 1],
[:D2, 3], [:Cs2,2], [:B1, 1],
[_,1.0]
).look, 120, sustain: 3, cutoff: 1.0
sleep s[-1]
end
live_loop :back, sync: :metro do
#stop
tick
#shader :iMode, 0
# dshader :iMode, (ring 1.0, 2.0,3.0).look
# dshader [:iR,:iG,:iB].choose, rand*4
#sharp (ring [:A3, 12], [:CS4, 12], [:E4, 12], [_, 12], [_,12]).look,10, sustain: 6
#dshader [:iR,:iB,:iG], rand
sleep 12
end