-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathelsie.orc
79 lines (76 loc) · 1.6 KB
/
elsie.orc
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
sr = 24000
kr = 240
ksmps = 100
nchnls = 1
gibase = 60
gi5prev = 200
gi2prev = 60
giharm = .1
ifn ftgen 1, 0, 1024, 7, 0, 256, 1, 512, -1, 256, 0
ifn ftgen 2, 0, 16384, 10, 1
instr 2
iglis = (p6 > 0 ? p6 : 0.01)
inote pow 2, p5/17
iknot = gibase * p5
anott expsega gi2prev,iglis,iknot,p3,iknot
aenv linseg p4, p3, 0.01
a1 oscil aenv, anott, 1
arat butterlp a1, 550
out arat*2
gi2prev = iknot
endin
instr 4
p3 = 4
iatt = rnd(40)/100+.1
kenv1 expseg 1, iatt, p4/4, p3-.5, p4/4, .1, 1
kconv linseg 1, p3/2, .5, p3/2, 1
kvib oscil .1, kconv*5, 1
kenv=kenv1*(kvib+1)*kconv
gkbell oscil 1, 3, 1
gkbell2 oscil 1, 3.5, 1
irange = gibase*4
inot pow 2, p5/17
inote = irange*p5
knote1 expseg gi5prev, iatt-.2, inote, p3, inote
ire = int(5*frac(inote*323))
kbell = (ire < 3 ? gkbell : gkbell2)
iree = 3000/inote
ireed = iree+ire
knote=knote1*(kbell/250+1)
a1 buzz kenv+kbell*300, knote, ireed, 1
ar1 reson a1, 300, 200, 1
ar2 reson a1, 400, 300, 1
ar3 reson a1, 200, 100, 1
kcon linseg 200, iatt, 400, p3, 300, 1, 300
at tone a1, (kvib+1)*kcon
a2 = ar1 + ar2 +ar3*at/100
a3 butterlp a2, 4000
a4 gain a3, kenv
out a4*giharm
gi5prev = inote
endin
instr 5
ares guiro p4, p3/8,18
out ares
endin
instr 6
ares bamboo p4, p3/8, 2, 0, 0, 1200, 1333, 888
out ares
endin
instr 8
ares sleighbells p4, p3
out ares
endin
instr 10
inote pow 2, p5/17
iknot = gibase * p5 * 4
ijet =0.02
iatt = 0.1
idetk = 0.1
kngain = 0.015
kvibf linseg 5.925, p3, 2
kvamp = 0.1
kamp linseg 0, p3/2, p4, p3/2, 0
asig wgflute kamp, iknot, ijet, iatt, idetk, kngain, kvibf, kvamp, 1
out asig
endin