File: AdditiveSynth

package info (click to toggle)
cecilia 2.0.5-2.2
  • links: PTS
  • area: main
  • in suites: squeeze, wheezy
  • size: 4,452 kB
  • ctags: 833
  • sloc: tcl: 9,786; sh: 1,097; makefile: 69; csh: 13
file content (163 lines) | stat: -rw-r--r-- 4,420 bytes parent folder | download | duplicates (3)
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
<info>
Additive synthesizer
16 harmonics with envelopes

Mathieu Bezkorowagny, 1996
</info>
<tk_interface>
cslider total_time -max 300 -min .1 -init 30
cslider gain -rel lin -res  .01 -min 0 -max 4 -init 1
cslider fund -rel log -uni Hz  -res .001 -min 0.0005 -max 1000 -init .03
cgraph waveshape -rel  line  -min -1 -max 1 -init 0  -gen 31
cslider freqshift -rel lin -unit Hz  -res  .01 -min -4000 -max 4000 -init 100.0 
csepar

cgraph harm1   -min 30    -max 90 -init 70.0 -gen 11 
cgraph harm2   -min 30    -max 90 -init 70.0  -gen 12 
cgraph harm3   -min 30    -max 90  -init 70.0  -gen 13 
cgraph harm4   -min 30    -max 90  -init 70.0  -gen 14 
cgraph harm5   -min 30    -max 90  -init 70.0  -gen 15 
cgraph harm6   -min 30    -max 90  -init 70.0  -gen 16 
cgraph harm7   -min 30    -max 90  -init 70.0  -gen 17 
cgraph harm8   -min 30    -max 90  -init 70.0  -gen 18 
cgraph harm9   -min 30    -max 90  -init 70.0  -gen 19 
cgraph harm10   -min 30    -max 90  -init 70.0  -gen 20 
cgraph harm11   -min 30    -max 90  -init 70.0  -gen 21
cgraph harm12   -min 30    -max 90  -init 70.0  -gen 22
cgraph harm13   -min 30    -max 90  -init 70.0  -gen 23 
cgraph harm14   -min 30    -max 90  -init 70.0  -gen 24 
cgraph harm15   -min 30    -max 90  -init 70.0  -gen 25
cgraph harm16   -min 30    -max 90  -init 70.0  -gen 26
csepar
cgraph envelope  -rel li -min 0  -max 1 -func "0 0 .01 .8 .99 .8 1 0"   -gen 29

ctoggle sinus -init 1
ctoggle balance -init 0
</tk_interface>
<mono>
gkbanjo init 76 

	   instr 1
anorma	oscil 10000, 1000, 1

knorm=	gkgain
kfund= gkfund
isina=i(gksinus)
if isina = 1 goto sinp
iform = 31
goto gof
sinp:
iform = 1
gof:
kamp1 = gkharm1
kamp2 = gkharm2
kamp3 = gkharm3
kamp4 = gkharm4
kamp5 = gkharm5
kamp6 = gkharm6
kamp7 = gkharm7
kamp8 = gkharm8
kamp9 = gkharm9
kamp10 = gkharm10
kamp11 = gkharm11
kamp12 = gkharm12
kamp13 = gkharm13
kamp14 = gkharm14
kamp15 = gkharm15
kamp16 = gkharm16
kshift = gkfreqshift
ah1 oscili kamp1, kfund*1+kshift, iform
ah2 oscili kamp2, kfund*2+kshift, iform
ah3 oscili kamp3, kfund*3+kshift, iform
ah4 oscili kamp4, kfund*4+kshift, iform
ah5 oscili kamp5, kfund*5+kshift, iform
ah6 oscili kamp6, kfund*6+kshift, iform
ah7 oscili kamp7, kfund*7+kshift, iform
ah8 oscili kamp8, kfund*8+kshift, iform
ah9 oscili kamp9, kfund*9+kshift, iform
ah10 oscili kamp10, kfund*10+kshift, iform
ah11 oscili kamp11, kfund*11+kshift, iform
ah12 oscili kamp12, kfund*12+kshift, iform
ah13 oscili kamp13, kfund*13+kshift, iform
ah14 oscili kamp14, kfund*14+kshift, iform
ah15 oscili kamp15, kfund*15+kshift, iform
ah16 oscili kamp16, kfund*16+kshift, iform
asomme= (ah1+ah2+ah3+ah4+ah5+ah6+ah7+ah8+ah9+ah10+ah11+ah12+ah13+ah14+ah15+ah16)


if gkbalance == 0 goto outer

asomme	balance asomme, anorma

outer:
out    asomme* knorm*gkenvelope
	    endin
</mono>
<stereo>
gkbanjo init 76 

	   instr 1
anorma	oscil 10000, 1000, 1

knorm=	gkgain
kfund= gkfund 
isina=i(gksinus)
if isina = 1 goto sinp
iform = 31
goto gof
sinp:
iform = 1
gof:
kamp1 = ampdb(gkharm1)
kamp2 = ampdb(gkharm2)
kamp3 = ampdb(gkharm3)
kamp4 = ampdb(gkharm4)
kamp5 = ampdb(gkharm5)
kamp6 = ampdb(gkharm6)
kamp7 = ampdb(gkharm7)
kamp8 = ampdb(gkharm8)
kamp9 = ampdb(gkharm9)
kamp10 = ampdb(gkharm10)
kamp11 = ampdb(gkharm11)
kamp12 = ampdb(gkharm12)
kamp13 = ampdb(gkharm13)
kamp14 = ampdb(gkharm14)
kamp15 = ampdb(gkharm15)
kamp16 = ampdb(gkharm16)
kshift = gkfreqshift
ah1 oscili kamp1, kfund*1+kshift, iform
ah2 oscili kamp2, kfund*2+kshift, iform
ah3 oscili kamp3, kfund*3+kshift, iform
ah4 oscili kamp4, kfund*4+kshift, iform
ah5 oscili kamp5, kfund*5+kshift, iform
ah6 oscili kamp6, kfund*6+kshift, iform
ah7 oscili kamp7, kfund*7+kshift, iform
ah8 oscili kamp8, kfund*8+kshift, iform
ah9 oscili kamp9, kfund*9+kshift, iform
ah10 oscili kamp10, kfund*10+kshift, iform
ah11 oscili kamp11, kfund*11+kshift, iform
ah12 oscili kamp12, kfund*12+kshift, iform
ah13 oscili kamp13, kfund*13+kshift, iform
ah14 oscili kamp14, kfund*14+kshift, iform
ah15 oscili kamp15, kfund*15+kshift, iform
ah16 oscili kamp16, kfund*16+kshift, iform
asommed= (ah1+ah3+ah5+ah7+ah9+ah11+ah13+ah15)
asommeg= (ah2+ah4+ah6+ah8+ah10+ah12+ah14+ah16)


if gkbalance == 0 goto outer

asommed	balance asommed, anorma
asommeg	balance asommeg, anorma

outer:
outs    asommed* knorm*gkenvelope, asommeg* knorm*gkenvelope
	    endin
</stereo>
<quad>

</quad>
<score>
f1 0 8192 10 1 0 .2 0 .1 0 0 .2 .1 .5 2
i1 0.001 [total_time]
</score>