-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAmplitudeModule.binstr
221 lines (215 loc) · 9.25 KB
/
AmplitudeModule.binstr
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
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
<instrument type='blue.orchestra.BlueSynthBuilder' editEnabled='true'>
<name>AmplitudeModule</name>
<comment>
DESCRIPTION:
The Amplitude Module controles the Amplitude envelope in different ways.Needs the Envelope Module.
- multiply the envelopes up to 20x
- option to add jitter
- linear vs. exponential envelope</comment>
<globalOrc/>
<globalSco/>
<instrumentText>
; no inputs, several control signal outputs
;;=========================amplitude envelope===================================
if <envelope amplitude ON> == 1 then
if i(<amplitude exponential switch>) == 1 then ; create amplitude envelope
kenvamp loopxseg <envelope amplitude rate>/p3, 0, 0, <envelope_amplitude envelope>, 0 ; exponential envelope
else
kenvamp loopseg <envelope amplitude rate>/p3, 0, 0, <envelope_amplitude envelope>, 0 ; or linear envelepe
endif
kjitamp jitter <amplitude jitter depth>, <amplitude jitter min>, <amplitude jitter max> ; create some amplitude jitter
aampenv = (kenvamp + kjitamp) * <SF pregain> ; pregain for loaded sample + jitter
else
aampenv = <SF pregain> ; no amplitude envelope, only pregain
endif
;===============================================================================
;multiply amplitude envelope with output signal of the instrument:
;blueMixerOut asig1 * aampenv , asig2 * aampenv</instrumentText>
<alwaysOnInstrumentText></alwaysOnInstrumentText>
<graphicInterface editEnabled='false'>
<gridSettings>
<width>10</width>
<height>10</height>
<gridStyle>DOT</gridStyle>
<snapGridEnabled>true</snapGridEnabled>
</gridSettings>
<bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
<objectName></objectName>
<x>0</x>
<y>0</y>
<groupName>Group</groupName>
<backgroundColor>0x00000033</backgroundColor>
<borderColor>0x000000ff</borderColor>
<labelTextColor>0xffffffff</labelTextColor>
<titleEnabled>true</titleEnabled>
<width>20</width>
<height>20</height>
<font>
<name>Roboto</name>
<size>12.0</size>
<style>0</style>
</font>
<bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
<objectName></objectName>
<x>0</x>
<y>0</y>
<groupName>amplitude envelope</groupName>
<backgroundColor>0x282828ff</backgroundColor>
<borderColor>0x000000ff</borderColor>
<labelTextColor>0xffffffff</labelTextColor>
<titleEnabled>true</titleEnabled>
<width>215</width>
<height>122</height>
<font>
<name>Roboto</name>
<size>12.0</size>
<style>2</style>
</font>
<bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
<objectName>amplitude jitter depth</objectName>
<x>85</x>
<y>10</y>
<comment>adds randomness to amplitude </comment>
<automationAllowed>true</automationAllowed>
<minimum>0.0</minimum>
<maximum>3.0</maximum>
<value>0.0</value>
<knobWidth>35</knobWidth>
<randomizable>true</randomizable>
<valueDisplayEnabled>false</valueDisplayEnabled>
<label>jitter</label>
<labelEnabled>true</labelEnabled>
<font>
<name>Roboto</name>
<size>12.0</size>
<style>0</style>
</font>
</bsbObject>
<bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
<objectName></objectName>
<x>11</x>
<y>58</y>
<label>exp</label>
<font>
<name>Roboto</name>
<size>12.0</size>
<style>0</style>
</font>
</bsbObject>
<bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
<objectName>amplitude jitter min</objectName>
<x>125</x>
<y>10</y>
<comment>minimum value for randomness</comment>
<automationAllowed>true</automationAllowed>
<minimum>0.0</minimum>
<maximum>38.0</maximum>
<value>20.14</value>
<knobWidth>35</knobWidth>
<randomizable>false</randomizable>
<valueDisplayEnabled>true</valueDisplayEnabled>
<label>min</label>
<labelEnabled>true</labelEnabled>
<font>
<name>Roboto</name>
<size>12.0</size>
<style>0</style>
</font>
</bsbObject>
<bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
<objectName>amplitude jitter max</objectName>
<x>165</x>
<y>10</y>
<comment>maximum value for randomness</comment>
<automationAllowed>true</automationAllowed>
<minimum>0.0</minimum>
<maximum>40.0</maximum>
<value>40.0</value>
<knobWidth>35</knobWidth>
<randomizable>false</randomizable>
<valueDisplayEnabled>true</valueDisplayEnabled>
<label>max</label>
<labelEnabled>true</labelEnabled>
<font>
<name>Roboto</name>
<size>12.0</size>
<style>0</style>
</font>
</bsbObject>
<bsbObject type='blue.orchestra.blueSynthBuilder.BSBCheckBox'>
<objectName>envelope amplitude ON</objectName>
<x>10</x>
<y>8</y>
<comment>ON/OFF</comment>
<automationAllowed>true</automationAllowed>
<label/>
<selected>false</selected>
<randomizable>true</randomizable>
</bsbObject>
<bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
<objectName>envelope amplitude rate</objectName>
<x>35</x>
<y>10</y>
<comment>repeat amplitude envelope as set in window</comment>
<automationAllowed>true</automationAllowed>
<minimum>1.0</minimum>
<maximum>20.0</maximum>
<value>1.0</value>
<knobWidth>35</knobWidth>
<randomizable>false</randomizable>
<valueDisplayEnabled>true</valueDisplayEnabled>
<label>scale</label>
<labelEnabled>true</labelEnabled>
<font>
<name>Roboto</name>
<size>12.0</size>
<style>0</style>
</font>
</bsbObject>
<bsbObject type='blue.orchestra.blueSynthBuilder.BSBCheckBox'>
<objectName>amplitude exponential switch</objectName>
<x>10</x>
<y>44</y>
<automationAllowed>true</automationAllowed>
<label/>
<selected>false</selected>
<randomizable>true</randomizable>
</bsbObject>
</bsbObject>
</bsbObject>
</graphicInterface>
<parameterList>
<parameter uniqueId='-1585864615' name='amplitude exponential switch' label='' min='0.0' max='1.0' bdresolution='1' automationEnabled='false' value='0.0'>
<line name='' version='2' max='1.0' min='0.0' bdresolution='1' color='-8355712' rightBound='false' endPointsLinked='false'>
<linePoint x='0.0' y='0.0'/>
</line>
</parameter>
<parameter uniqueId='-1585864613' name='envelope amplitude ON' label='' min='0.0' max='1.0' bdresolution='1' automationEnabled='false' value='0.0'>
<line name='' version='2' max='1.0' min='0.0' bdresolution='1' color='-8355712' rightBound='false' endPointsLinked='false'>
<linePoint x='0.0' y='0.0'/>
</line>
</parameter>
<parameter uniqueId='-1585864611' name='amplitude jitter min' label='' min='0.0' max='38.0' bdresolution='-1' automationEnabled='false' value='20.14'>
<line name='' version='2' max='38.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
<linePoint x='0.0' y='20.14'/>
</line>
</parameter>
<parameter uniqueId='-1585864609' name='amplitude jitter max' label='' min='0.0' max='40.0' bdresolution='-1' automationEnabled='false' value='40.0'>
<line name='' version='2' max='40.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
<linePoint x='0.0' y='40.0'/>
</line>
</parameter>
<parameter uniqueId='-1585864607' name='amplitude jitter depth' label='' min='0.0' max='3.0' bdresolution='-1' automationEnabled='false' value='0.0'>
<line name='' version='2' max='3.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
<linePoint x='0.0' y='0.0'/>
</line>
</parameter>
<parameter uniqueId='-1585864605' name='envelope amplitude rate' label='' min='1.0' max='20.0' bdresolution='-1' automationEnabled='false' value='1.0'>
<line name='' version='2' max='20.0' min='1.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
<linePoint x='0.0' y='1.0'/>
</line>
</parameter>
</parameterList>
<presetGroup name='Presets'/>
<opcodeList/>
</instrument>