-
Notifications
You must be signed in to change notification settings - Fork 190
/
Copy pathEditorConfig.ts
283 lines (271 loc) · 94.9 KB
/
EditorConfig.ts
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
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
// Copyright (c) John Nesky and contributing authors, distributed under the MIT license, see accompanying the LICENSE.md file.
import {DictionaryArray, BeepBoxOption, InstrumentType, toNameMap} from "../synth/SynthConfig.js";
export interface PresetCategory extends BeepBoxOption {
readonly presets: DictionaryArray<Preset>;
}
export interface Preset extends BeepBoxOption {
readonly isNoise?: boolean;
readonly generalMidi?: boolean;
readonly midiProgram?: number;
readonly midiSubharmonicOctaves?: number;
readonly customType?: InstrumentType;
readonly settings?: any;
}
export const isMobile: boolean = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|android|ipad|playbook|silk/i.test(navigator.userAgent);
export function prettyNumber(value: number): string {
return value.toFixed(2).replace(/\.?0*$/, "");
}
export class EditorConfig {
public static readonly version: string = "4.2.1";
public static readonly versionDisplayName: string = "BeepBox";
public static readonly releaseNotesURL: string = "https://github.com/johnnesky/beepbox/releases/tag/v" + EditorConfig.version;
public static readonly isOnMac: boolean = /^Mac/i.test(navigator.platform) || /Mac OS X/i.test(navigator.userAgent) || /^(iPhone|iPad|iPod)/i.test(navigator.platform) || /(iPhone|iPad|iPod)/i.test(navigator.userAgent);
public static readonly ctrlSymbol: string = EditorConfig.isOnMac ? "⌘" : "Ctrl+";
public static readonly ctrlName: string = EditorConfig.isOnMac ? "command" : "control";
public static readonly presetCategories: DictionaryArray<PresetCategory> = toNameMap([
{name: "Custom Instruments", presets: <DictionaryArray<Preset>> toNameMap([
{name: "chip wave", customType: InstrumentType.chip},
{name: "FM (expert)", customType: InstrumentType.fm},
{name: "basic noise", customType: InstrumentType.noise},
{name: "spectrum", customType: InstrumentType.spectrum},
{name: "drumset", customType: InstrumentType.drumset},
{name: "harmonics", customType: InstrumentType.harmonics},
{name: "pulse width", customType: InstrumentType.pwm},
{name: "picked string", customType: InstrumentType.pickedString},
{name: "supersaw", customType: InstrumentType.supersaw},
])},
{name: "Retro Presets", presets: <DictionaryArray<Preset>> toNameMap([
{name: "square wave", midiProgram: 80, settings: {"type":"chip","eqFilter":[],"effects":[],"transition":"interrupt","fadeInSeconds":0,"fadeOutTicks":-1,"chord":"arpeggio","wave":"square","unison":"none","envelopes":[]}},
{name: "triangle wave", midiProgram: 71, settings: {"type":"chip","eqFilter":[],"effects":[],"transition":"interrupt","fadeInSeconds":0,"fadeOutTicks":-1,"chord":"arpeggio","wave":"triangle","unison":"none","envelopes":[]}},
{name: "square lead", midiProgram: 80, generalMidi: true, settings: {"type":"chip","eqFilter":[{"type":"low-pass","cutoffHz":8000,"linearGain":0.3536}],"effects":[],"transition":"normal","fadeInSeconds":0,"fadeOutTicks":-3,"chord":"simultaneous","wave":"square","unison":"hum","envelopes":[]}},
{name: "sawtooth lead 1", midiProgram: 81, generalMidi: true, settings: {"type":"chip","eqFilter":[{"type":"low-pass","cutoffHz":4000,"linearGain":0.5}],"effects":[],"transition":"normal","fadeInSeconds":0,"fadeOutTicks":-3,"chord":"simultaneous","wave":"sawtooth","unison":"shimmer","envelopes":[]}},
{name: "sawtooth lead 2", midiProgram: 81, settings: {"type":"chip","eqFilter":[{"type":"low-pass","cutoffHz":6727.17,"linearGain":1}],"effects":["vibrato"],"vibrato":"light","transition":"normal","fadeInSeconds":0.0125,"fadeOutTicks":72,"chord":"simultaneous","wave":"sawtooth","unison":"hum","envelopes":[]}},
{name: "chip noise", midiProgram: 116, isNoise: true, settings: {"type":"noise","transition":"hard","effects":"none","chord":"arpeggio","filterCutoffHz":4000,"filterResonance":0,"filterEnvelope":"steady","wave":"retro"}},
{name: "FM twang", midiProgram: 32, settings: {"type":"FM","eqFilter":[],"effects":[],"transition":"normal","fadeInSeconds":0,"fadeOutTicks":-3,"chord":"simultaneous","algorithm":"1←(2 3 4)","feedbackType":"1⟲","feedbackAmplitude":0,"operators":[{"frequency":"1×","amplitude":15},{"frequency":"1×","amplitude":15},{"frequency":"1×","amplitude":0},{"frequency":"1×","amplitude":0}],"envelopes":[{"target":"operatorAmplitude","envelope":"twang 2","index":1}]}},
{name: "FM bass", midiProgram: 36, settings: {"type":"FM","eqFilter":[],"effects":[],"transition":"normal","fadeInSeconds":0,"fadeOutTicks":-3,"chord":"custom interval","algorithm":"1←(2 3←4)","feedbackType":"1⟲","feedbackAmplitude":0,"operators":[{"frequency":"2×","amplitude":11},{"frequency":"1×","amplitude":7},{"frequency":"1×","amplitude":9},{"frequency":"20×","amplitude":3}],"envelopes":[{"target":"operatorAmplitude","envelope":"twang 2","index":1},{"target":"operatorAmplitude","envelope":"twang 3","index":2},{"target":"operatorAmplitude","envelope":"twang 2","index":3}]}},
{name: "FM flute", midiProgram: 73, settings: {"type":"FM","eqFilter":[],"effects":[],"transition":"normal","fadeInSeconds":0.0263,"fadeOutTicks":-3,"chord":"simultaneous","algorithm":"1←(2 3 4)","feedbackType":"1⟲","feedbackAmplitude":0,"operators":[{"frequency":"1×","amplitude":15},{"frequency":"1×","amplitude":6},{"frequency":"1×","amplitude":0},{"frequency":"1×","amplitude":0}],"envelopes":[{"target":"operatorAmplitude","envelope":"twang 2","index":1}]}},
{name: "FM organ", midiProgram: 16, settings: {"type":"FM","eqFilter":[],"effects":["vibrato"],"vibrato":"delayed","transition":"normal","fadeInSeconds":0.0263,"fadeOutTicks":-3,"chord":"custom interval","algorithm":"1←3 2←4","feedbackType":"1⟲ 2⟲","feedbackAmplitude":0,"operators":[{"frequency":"1×","amplitude":14},{"frequency":"2×","amplitude":14},{"frequency":"1×","amplitude":11},{"frequency":"2×","amplitude":11}],"envelopes":[]}},
{name: "supersaw lead", midiProgram: 81, settings: {"type":"supersaw","eqFilter":[{"type":"low-pass","cutoffHz":6727.17,"linearGain":2}],"effects":["reverb"],"reverb":67,"fadeInSeconds":0,"fadeOutTicks":-6,"pulseWidth":50,"dynamism":100,"spread":58,"shape":0,"envelopes":[]}},
])},
{name: "Keyboard Presets", presets: <DictionaryArray<Preset>> toNameMap([
{name: "grand piano", midiProgram: 0, generalMidi: true, settings: {"type":"Picked String","eqFilter":[{"type":"high-pass","cutoffHz":148.65,"linearGain":0.7071},{"type":"peak","cutoffHz":1681.79,"linearGain":4},{"type":"low-pass","cutoffHz":8000,"linearGain":0.1768},{"type":"peak","cutoffHz":3363.59,"linearGain":4},{"type":"peak","cutoffHz":2378.41,"linearGain":0.25}],"effects":["note filter","reverb"],"noteFilter":[{"type":"low-pass","cutoffHz":4756.83,"linearGain":0.3536},{"type":"high-pass","cutoffHz":125,"linearGain":0.0884}],"reverb":67,"fadeInSeconds":0,"fadeOutTicks":48,"harmonics":[100,100,86,86,86,71,71,71,0,71,71,71,71,57,57,71,57,14,57,57,57,57,57,57,57,57,29,57],"unison":"piano","stringSustain":86,"stringSustainType":"acoustic","envelopes":[{"target":"noteFilterFreq","envelope":"note size","index":0},{"target":"noteFilterFreq","envelope":"twang 1","index":1},{"target":"noteFilterFreq","envelope":"twang 1","index":1}]}},
{name: "bright piano", midiProgram: 1, generalMidi: true, settings: {"type":"Picked String","eqFilter":[{"type":"low-pass","cutoffHz":1681.79,"linearGain":0.7071},{"type":"high-pass","cutoffHz":148.65,"linearGain":0.5},{"type":"peak","cutoffHz":3363.59,"linearGain":1.4142}],"effects":["reverb"],"reverb":33,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":24,"chord":"simultaneous","harmonics":[100,100,86,86,71,71,0,71,71,71,71,71,71,14,57,57,57,57,57,57,29,57,57,57,57,57,57,57],"unison":"piano","stringSustain":86,"envelopes":[]}},
{name: "electric grand", midiProgram: 2, generalMidi: true, settings: {"type":"chip","eqFilter":[],"effects":["note filter"],"noteFilter":[{"type":"low-pass","cutoffHz":2378.41,"linearGain":0.5}],"transition":"normal","fadeInSeconds":0,"fadeOutTicks":48,"chord":"simultaneous","wave":"1/8 pulse","unison":"shimmer","envelopes":[{"target":"noteFilterAllFreqs","envelope":"twang 3"}]}},
{name: "honky-tonk piano", midiProgram: 3, generalMidi: true, settings: {"type":"Picked String","eqFilter":[{"type":"low-pass","cutoffHz":5656.85,"linearGain":0.3536}],"effects":["reverb"],"reverb":33,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":48,"chord":"simultaneous","harmonics":[100,100,86,71,86,71,43,71,43,43,57,57,57,29,57,57,57,57,57,57,43,57,57,57,43,43,43,43],"unison":"honky tonk","stringSustain":71,"envelopes":[]}},
{name: "electric piano 1", midiProgram: 4, generalMidi: true, settings: {"type":"harmonics","eqFilter":[],"effects":["note filter"],"noteFilter":[{"type":"low-pass","cutoffHz":3363.59,"linearGain":0.5}],"transition":"normal","fadeInSeconds":0,"fadeOutTicks":-3,"chord":"simultaneous","harmonics":[86,100,100,71,71,57,57,43,43,43,29,29,29,14,14,14,0,0,0,0,0,57,0,0,0,0,0,0],"unison":"none","envelopes":[{"target":"noteFilterAllFreqs","envelope":"twang 2"}]}},
{name: "electric piano 2", midiProgram: 5, generalMidi: true, settings: {"type":"FM","eqFilter":[],"effects":["note filter"],"noteFilter":[{"type":"low-pass","cutoffHz":13454.34,"linearGain":0.25}],"transition":"normal","fadeInSeconds":0,"fadeOutTicks":48,"chord":"simultaneous","algorithm":"1←3 2←4","feedbackType":"1⟲ 2⟲","feedbackAmplitude":0,"operators":[{"frequency":"1×","amplitude":12},{"frequency":"1×","amplitude":6},{"frequency":"1×","amplitude":9},{"frequency":"16×","amplitude":6}],"envelopes":[{"target":"noteFilterAllFreqs","envelope":"twang 3"},{"target":"operatorAmplitude","envelope":"twang 3","index":3}]}},
{name: "harpsichord", midiProgram: 6, generalMidi: true, settings: {"type":"Picked String","eqFilter":[{"type":"high-pass","cutoffHz":250,"linearGain":0.3536},{"type":"peak","cutoffHz":11313.71,"linearGain":2.8284}],"effects":["reverb"],"reverb":33,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":24,"chord":"simultaneous","harmonics":[100,100,100,86,57,86,86,86,86,57,57,71,71,86,86,71,71,86,86,71,71,71,71,71,71,71,71,71],"unison":"none","stringSustain":79,"envelopes":[]}},
{name: "clavinet", midiProgram: 7, generalMidi: true, settings: {"type":"FM","eqFilter":[],"effects":["note filter"],"noteFilter":[{"type":"low-pass","cutoffHz":19027.31,"linearGain":0.3536}],"transition":"normal","fadeInSeconds":0,"fadeOutTicks":-3,"chord":"simultaneous","algorithm":"1←(2 3 4)","feedbackType":"3⟲","feedbackAmplitude":6,"operators":[{"frequency":"3×","amplitude":15},{"frequency":"~1×","amplitude":6},{"frequency":"8×","amplitude":4},{"frequency":"1×","amplitude":0}],"envelopes":[{"target":"noteFilterAllFreqs","envelope":"twang 2"},{"target":"feedbackAmplitude","envelope":"twang 2"}]}},
{name: "dulcimer", midiProgram: 15, generalMidi: true, settings: {"type":"Picked String","eqFilter":[{"type":"low-pass","cutoffHz":8000,"linearGain":0.3536}],"effects":["reverb"],"reverb":33,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":48,"chord":"strum","harmonics":[100,100,100,86,100,86,57,100,100,86,100,86,100,86,100,71,57,71,71,100,86,71,86,86,100,86,86,86],"unison":"piano","stringSustain":79,"envelopes":[]}},
])},
{name: "Idiophone Presets", presets: <DictionaryArray<Preset>> toNameMap([
{name: "celesta", midiProgram: 8, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"hard fade","chord":"strum","filterCutoffHz":5657,"filterResonance":14,"filterEnvelope":"twang 2","vibrato":"none","algorithm":"(1 2)←(3 4)","feedbackType":"1⟲ 2⟲","feedbackAmplitude":0,"feedbackEnvelope":"steady","operators":[{"frequency":"~1×","amplitude":11,"envelope":"custom"},{"frequency":"8×","amplitude":6,"envelope":"custom"},{"frequency":"20×","amplitude":3,"envelope":"twang 1"},{"frequency":"3×","amplitude":1,"envelope":"twang 2"}]}},
{name: "glockenspiel", midiProgram: 9, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"hard fade","chord":"strum","filterCutoffHz":5657,"filterResonance":14,"filterEnvelope":"twang 2","vibrato":"none","algorithm":"(1 2 3)←4","feedbackType":"1⟲ 2⟲ 3⟲","feedbackAmplitude":2,"feedbackEnvelope":"decay 1","operators":[{"frequency":"1×","amplitude":7,"envelope":"custom"},{"frequency":"5×","amplitude":11,"envelope":"custom"},{"frequency":"8×","amplitude":7,"envelope":"custom"},{"frequency":"20×","amplitude":2,"envelope":"twang 1"}]}},
{name: "music box 1", midiProgram: 10, generalMidi: true, settings: {"type":"Picked String","eqFilter":[{"type":"low-pass","cutoffHz":4756.83,"linearGain":0.5}],"effects":["reverb"],"reverb":33,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":48,"chord":"strum","harmonics":[100,0,0,100,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,86,0,0,0,0,0,0,71,0],"unison":"none","stringSustain":64,"envelopes":[]}},
{name: "music box 2", midiProgram: 10, settings: {"type":"Picked String","eqFilter":[{"type":"low-pass","cutoffHz":2828.43,"linearGain":0.7071}],"effects":["reverb"],"reverb":33,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":48,"chord":"strum","harmonics":[100,57,57,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0],"unison":"none","stringSustain":29,"envelopes":[]}},
{name: "vibraphone", midiProgram: 11, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"hard fade","chord":"harmony","filterCutoffHz":2828,"filterResonance":14,"filterEnvelope":"twang 2","vibrato":"none","algorithm":"1 2 3 4","feedbackType":"1→2→3→4","feedbackAmplitude":3,"feedbackEnvelope":"twang 1","operators":[{"frequency":"1×","amplitude":9,"envelope":"custom"},{"frequency":"~1×","amplitude":9,"envelope":"custom"},{"frequency":"9×","amplitude":3,"envelope":"custom"},{"frequency":"4×","amplitude":9,"envelope":"custom"}]}},
{name: "marimba", midiProgram: 12, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"hard fade","chord":"strum","filterCutoffHz":2000,"filterResonance":29,"filterEnvelope":"decay 1","vibrato":"none","algorithm":"1 2←(3 4)","feedbackType":"1⟲","feedbackAmplitude":0,"feedbackEnvelope":"steady","operators":[{"frequency":"1×","amplitude":10,"envelope":"custom"},{"frequency":"4×","amplitude":6,"envelope":"custom"},{"frequency":"13×","amplitude":6,"envelope":"twang 1"},{"frequency":"1×","amplitude":0,"envelope":"steady"}]}},
{name: "kalimba", midiProgram: 108, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"hard fade","chord":"strum","filterCutoffHz":2828,"filterResonance":14,"filterEnvelope":"decay 1","vibrato":"none","algorithm":"1←(2 3 4)","feedbackType":"1⟲","feedbackAmplitude":0,"feedbackEnvelope":"steady","operators":[{"frequency":"1×","amplitude":11,"envelope":"custom"},{"frequency":"5×","amplitude":3,"envelope":"twang 2"},{"frequency":"20×","amplitude":3,"envelope":"twang 1"},{"frequency":"1×","amplitude":0,"envelope":"steady"}]}},
{name: "xylophone", midiProgram: 13, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"hard","chord":"strum","filterCutoffHz":2000,"filterResonance":14,"filterEnvelope":"twang 1","vibrato":"none","algorithm":"(1 2 3)←4","feedbackType":"1⟲ 2⟲ 3⟲","feedbackAmplitude":0,"feedbackEnvelope":"steady","operators":[{"frequency":"1×","amplitude":9,"envelope":"custom"},{"frequency":"6×","amplitude":9,"envelope":"custom"},{"frequency":"11×","amplitude":9,"envelope":"custom"},{"frequency":"20×","amplitude":6,"envelope":"twang 1"}]}},
{name: "tubular bell", midiProgram: 14, generalMidi: true, midiSubharmonicOctaves: 1, settings: {"type":"Picked String","eqFilter":[{"type":"low-pass","cutoffHz":4000,"linearGain":0.5},{"type":"high-pass","cutoffHz":105.11,"linearGain":0.3536}],"effects":["reverb"],"reverb":33,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":96,"chord":"strum","harmonics":[43,71,0,100,0,100,0,86,0,0,86,0,14,71,14,14,57,14,14,43,14,14,43,14,14,43,14,14],"unison":"shimmer","stringSustain":86,"envelopes":[]}},
{name: "bell synth", midiProgram: 14, settings: {"type":"FM","effects":"reverb","transition":"hard fade","chord":"strum","filterCutoffHz":2000,"filterResonance":29,"filterEnvelope":"twang 3","vibrato":"none","algorithm":"1←(2 3 4)","feedbackType":"1⟲","feedbackAmplitude":0,"feedbackEnvelope":"steady","operators":[{"frequency":"~2×","amplitude":10,"envelope":"custom"},{"frequency":"7×","amplitude":6,"envelope":"twang 3"},{"frequency":"20×","amplitude":1,"envelope":"twang 1"},{"frequency":"1×","amplitude":0,"envelope":"steady"}]}},
{name: "rain drop", midiProgram: 96, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"hard fade","chord":"strum","filterCutoffHz":4000,"filterResonance":14,"filterEnvelope":"twang 1","vibrato":"none","algorithm":"(1 2)←(3 4)","feedbackType":"1⟲ 2⟲","feedbackAmplitude":0,"feedbackEnvelope":"steady","operators":[{"frequency":"1×","amplitude":12,"envelope":"custom"},{"frequency":"6×","amplitude":4,"envelope":"custom"},{"frequency":"20×","amplitude":3,"envelope":"twang 1"},{"frequency":"1×","amplitude":6,"envelope":"tremolo1"}]}},
{name: "crystal", midiProgram: 98, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"hard fade","chord":"harmony","filterCutoffHz":2828,"filterResonance":14,"filterEnvelope":"twang 2","vibrato":"delayed","algorithm":"1 2 3 4","feedbackType":"1⟲ 2⟲ 3⟲ 4⟲","feedbackAmplitude":4,"feedbackEnvelope":"twang 1","operators":[{"frequency":"1×","amplitude":10,"envelope":"custom"},{"frequency":"3×","amplitude":7,"envelope":"custom"},{"frequency":"6×","amplitude":4,"envelope":"custom"},{"frequency":"13×","amplitude":4,"envelope":"custom"}]}},
{name: "tinkle bell", midiProgram: 112, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"hard","chord":"strum","filterCutoffHz":2828,"filterResonance":14,"filterEnvelope":"twang 2","vibrato":"none","algorithm":"1 2 3 4","feedbackType":"1→2→3→4","feedbackAmplitude":5,"feedbackEnvelope":"twang 3","operators":[{"frequency":"~2×","amplitude":7,"envelope":"custom"},{"frequency":"5×","amplitude":7,"envelope":"custom"},{"frequency":"7×","amplitude":7,"envelope":"custom"},{"frequency":"16×","amplitude":7,"envelope":"custom"}]}},
{name: "agogo", midiProgram: 113, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"hard fade","chord":"strum","filterCutoffHz":4000,"filterResonance":14,"filterEnvelope":"decay 1","vibrato":"none","algorithm":"1 2 3 4","feedbackType":"1→4","feedbackAmplitude":15,"feedbackEnvelope":"decay 1","operators":[{"frequency":"2×","amplitude":9,"envelope":"custom"},{"frequency":"5×","amplitude":6,"envelope":"custom"},{"frequency":"8×","amplitude":9,"envelope":"custom"},{"frequency":"13×","amplitude":11,"envelope":"custom"}]}},
])},
{name: "Guitar Presets", presets: <DictionaryArray<Preset>> toNameMap([
{name: "nylon guitar", midiProgram: 24, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"hard fade","chord":"strum","filterCutoffHz":5657,"filterResonance":14,"filterEnvelope":"twang 1","vibrato":"none","algorithm":"1←2←3←4","feedbackType":"3⟲","feedbackAmplitude":6,"feedbackEnvelope":"twang 1","operators":[{"frequency":"1×","amplitude":15,"envelope":"custom"},{"frequency":"1×","amplitude":6,"envelope":"steady"},{"frequency":"5×","amplitude":2,"envelope":"steady"},{"frequency":"7×","amplitude":4,"envelope":"steady"}]}},
{name: "steel guitar", midiProgram: 25, generalMidi: true, settings: {"type":"Picked String","eqFilter":[],"effects":["reverb"],"reverb":33,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":48,"chord":"strum","harmonics":[100,100,86,71,71,71,86,86,71,57,43,43,43,57,57,57,57,57,43,43,43,43,43,43,43,43,43,43],"unison":"none","stringSustain":71,"envelopes":[]}},
{name: "jazz guitar", midiProgram: 26, generalMidi: true, settings: {"type":"harmonics","effects":"reverb","transition":"hard","chord":"strum","filterCutoffHz":2000,"filterResonance":14,"filterEnvelope":"twang 2","interval":"union","vibrato":"none","harmonics":[100,100,86,71,57,71,71,43,57,71,57,43,29,29,29,29,29,29,29,29,14,14,14,14,14,14,14,0]}},
{name: "clean guitar", midiProgram: 27, generalMidi: true, settings: {"type":"harmonics","effects":"reverb","transition":"hard","chord":"strum","filterCutoffHz":2828,"filterResonance":14,"filterEnvelope":"twang 2","interval":"union","vibrato":"none","harmonics":[86,100,100,100,86,57,86,100,100,100,71,57,43,71,86,71,57,57,71,71,71,71,57,57,57,57,57,43]}},
{name: "muted guitar", midiProgram: 28, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"hard","chord":"strum","filterCutoffHz":2000,"filterResonance":14,"filterEnvelope":"twang 1","vibrato":"none","algorithm":"1←(2 3←4)","feedbackType":"1⟲","feedbackAmplitude":7,"feedbackEnvelope":"twang 2","operators":[{"frequency":"1×","amplitude":13,"envelope":"custom"},{"frequency":"1×","amplitude":4,"envelope":"twang 3"},{"frequency":"4×","amplitude":4,"envelope":"twang 2"},{"frequency":"16×","amplitude":4,"envelope":"twang 1"}]}},
])},
{name: "Picked Bass Presets", presets: <DictionaryArray<Preset>> toNameMap([
{name: "acoustic bass", midiProgram: 32, generalMidi: true, settings: {"type":"harmonics","effects":"reverb","transition":"hard fade","chord":"strum","filterCutoffHz":4000,"filterResonance":14,"filterEnvelope":"twang 1","interval":"union","vibrato":"none","harmonics":[100,86,71,71,71,71,57,57,57,57,43,43,43,43,43,29,29,29,29,29,29,14,14,14,14,14,14,14]}},
{name: "fingered bass", midiProgram: 33, generalMidi: true, settings: {"type":"harmonics","effects":"reverb","transition":"hard fade","chord":"strum","filterCutoffHz":2828,"filterResonance":14,"filterEnvelope":"twang 1","interval":"union","vibrato":"none","harmonics":[100,86,71,57,71,43,57,29,29,29,29,29,29,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0]}},
{name: "picked bass", midiProgram: 34, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"hard fade","chord":"strum","filterCutoffHz":2828,"filterResonance":0,"filterEnvelope":"twang 1","vibrato":"none","algorithm":"1←(2 3←4)","feedbackType":"3⟲","feedbackAmplitude":4,"feedbackEnvelope":"twang 1","operators":[{"frequency":"1×","amplitude":15,"envelope":"custom"},{"frequency":"1×","amplitude":5,"envelope":"steady"},{"frequency":"11×","amplitude":1,"envelope":"twang 3"},{"frequency":"1×","amplitude":9,"envelope":"steady"}]}},
{name: "fretless bass", midiProgram: 35, generalMidi: true, settings: {"type":"harmonics","effects":"reverb","transition":"hard","chord":"strum","filterCutoffHz":1000,"filterResonance":14,"filterEnvelope":"flare 2","interval":"union","vibrato":"none","harmonics":[100,100,86,71,71,57,57,71,71,71,57,57,57,57,57,57,57,43,43,43,43,43,43,43,43,29,29,14]}},
{name: "slap bass 1", midiProgram: 36, generalMidi: true, settings: {"type":"harmonics","effects":"reverb","transition":"hard","chord":"strum","filterCutoffHz":4000,"filterResonance":0,"filterEnvelope":"twang 1","interval":"union","vibrato":"none","harmonics":[100,100,100,100,86,71,57,29,29,43,43,57,71,57,29,29,43,57,57,57,43,43,43,57,71,71,71,71]}},
{name: "slap bass 2", midiProgram: 37, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"hard","chord":"strum","filterCutoffHz":5657,"filterResonance":0,"filterEnvelope":"twang 1","vibrato":"none","algorithm":"1←2←3←4","feedbackType":"3⟲","feedbackAmplitude":4,"feedbackEnvelope":"steady","operators":[{"frequency":"3×","amplitude":13,"envelope":"custom"},{"frequency":"1×","amplitude":7,"envelope":"steady"},{"frequency":"13×","amplitude":3,"envelope":"steady"},{"frequency":"1×","amplitude":11,"envelope":"steady"}]}},
{name: "bass synth 1", midiProgram: 38, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"hard","chord":"strum","filterCutoffHz":4000,"filterResonance":43,"filterEnvelope":"twang 2","vibrato":"none","algorithm":"1←3 2←4","feedbackType":"3⟲ 4⟲","feedbackAmplitude":9,"feedbackEnvelope":"twang 2","operators":[{"frequency":"1×","amplitude":15,"envelope":"custom"},{"frequency":"1×","amplitude":10,"envelope":"custom"},{"frequency":"1×","amplitude":14,"envelope":"twang 1"},{"frequency":"~1×","amplitude":13,"envelope":"twang 2"}]}},
{name: "bass synth 2", midiProgram: 39, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"hard fade","chord":"strum","filterCutoffHz":1000,"filterResonance":57,"filterEnvelope":"punch","vibrato":"none","algorithm":"1←(2 3 4)","feedbackType":"1→2","feedbackAmplitude":4,"feedbackEnvelope":"twang 3","operators":[{"frequency":"1×","amplitude":9,"envelope":"custom"},{"frequency":"1×","amplitude":9,"envelope":"steady"},{"frequency":"3×","amplitude":0,"envelope":"steady"},{"frequency":"1×","amplitude":0,"envelope":"steady"}]}},
{name: "bass & lead", midiProgram: 87, generalMidi: true, settings: {"type":"chip","transition":"hard","effects":"reverb","chord":"harmony","filterCutoffHz":4000,"filterResonance":86,"filterEnvelope":"twang 2","wave":"sawtooth","interval":"shimmer","vibrato":"none"}},
{name: "dubstep yoi yoi", midiProgram: 87, settings: {"type":"chip","eqFilter":[{"type":"low-pass","cutoffHz":6727.17,"linearGain":0.7071}],"effects":["note filter","bitcrusher"],"noteFilter":[{"type":"low-pass","cutoffHz":594.6,"linearGain":11.3137}],"bitcrusherOctave":1.5,"bitcrusherQuantization":0,"transition":"slide","fadeInSeconds":0.0263,"fadeOutTicks":-3,"chord":"arpeggio","wave":"sawtooth","unison":"none","envelopes":[{"target":"noteFilterFreq","envelope":"flare 2","index":0}]}},
])},
{name: "Picked String Presets", presets: <DictionaryArray<Preset>> toNameMap([
{name: "pizzicato strings",midiProgram: 45, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"medium fade","chord":"harmony","filterCutoffHz":1000,"filterResonance":14,"filterEnvelope":"twang 1","vibrato":"none","algorithm":"(1 2 3)←4","feedbackType":"1⟲ 2⟲ 3⟲ 4⟲","feedbackAmplitude":7,"feedbackEnvelope":"twang 1","operators":[{"frequency":"1×","amplitude":14,"envelope":"custom"},{"frequency":"3×","amplitude":11,"envelope":"custom"},{"frequency":"6×","amplitude":9,"envelope":"custom"},{"frequency":"~1×","amplitude":10,"envelope":"steady"}]}},
{name: "harp", midiProgram: 46, generalMidi: true, settings: {"type":"FM","transition":"hard fade","effects":"reverb","chord":"strum","filterCutoffHz":2828,"filterResonance":0,"filterEnvelope":"twang 1","vibrato":"none","algorithm":"1←3 2←4","feedbackType":"3⟲","feedbackAmplitude":6,"feedbackEnvelope":"twang 2","operators":[{"frequency":"1×","amplitude":15,"envelope":"custom"},{"frequency":"4×","amplitude":6,"envelope":"custom"},{"frequency":"~2×","amplitude":3,"envelope":"steady"},{"frequency":"1×","amplitude":6,"envelope":"steady"}]}},
{name: "sitar", midiProgram: 104, generalMidi: true, settings: {"type":"FM","transition":"hard fade","effects":"reverb","chord":"strum","filterCutoffHz":8000,"filterResonance":57,"filterEnvelope":"twang 2","vibrato":"none","algorithm":"1←(2 3 4)","feedbackType":"1⟲","feedbackAmplitude":0,"feedbackEnvelope":"steady","operators":[{"frequency":"1×","amplitude":15,"envelope":"custom"},{"frequency":"1×","amplitude":14,"envelope":"twang 3"},{"frequency":"9×","amplitude":3,"envelope":"twang 3"},{"frequency":"16×","amplitude":9,"envelope":"swell 3"}]}},
{name: "banjo", midiProgram: 105, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"hard fade","chord":"strum","filterCutoffHz":2828,"filterResonance":14,"filterEnvelope":"twang 2","vibrato":"none","algorithm":"1←(2 3←4)","feedbackType":"2⟲","feedbackAmplitude":4,"feedbackEnvelope":"steady","operators":[{"frequency":"4×","amplitude":14,"envelope":"custom"},{"frequency":"1×","amplitude":10,"envelope":"steady"},{"frequency":"11×","amplitude":3,"envelope":"twang 3"},{"frequency":"1×","amplitude":11,"envelope":"steady"}]}},
{name: "ukulele", midiProgram: 105, settings: {"type":"FM","effects":"reverb","transition":"hard fade","chord":"strum","filterCutoffHz":2000,"filterResonance":0,"filterEnvelope":"twang 1","vibrato":"none","algorithm":"1←(2 3←4)","feedbackType":"3⟲","feedbackAmplitude":5,"feedbackEnvelope":"twang 1","operators":[{"frequency":"2×","amplitude":14,"envelope":"custom"},{"frequency":"1×","amplitude":6,"envelope":"steady"},{"frequency":"9×","amplitude":4,"envelope":"twang 2"},{"frequency":"1×","amplitude":11,"envelope":"steady"}]}},
{name: "shamisen", midiProgram: 106, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"hard fade","chord":"harmony","filterCutoffHz":8000,"filterResonance":14,"filterEnvelope":"twang 1","vibrato":"none","algorithm":"1←(2 3←4)","feedbackType":"3⟲","feedbackAmplitude":9,"feedbackEnvelope":"twang 3","operators":[{"frequency":"1×","amplitude":15,"envelope":"custom"},{"frequency":"1×","amplitude":12,"envelope":"steady"},{"frequency":"16×","amplitude":4,"envelope":"twang 3"},{"frequency":"1×","amplitude":7,"envelope":"steady"}]}},
{name: "koto", midiProgram: 107, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"hard fade","chord":"harmony","filterCutoffHz":4000,"filterResonance":14,"filterEnvelope":"twang 2","vibrato":"none","algorithm":"1←3 2←4","feedbackType":"1⟲ 2⟲","feedbackAmplitude":5,"feedbackEnvelope":"twang 2","operators":[{"frequency":"~1×","amplitude":12,"envelope":"custom"},{"frequency":"6×","amplitude":10,"envelope":"custom"},{"frequency":"4×","amplitude":8,"envelope":"twang 3"},{"frequency":"~2×","amplitude":8,"envelope":"twang 3"}]}},
])},
{name: "Distortion Presets", presets: <DictionaryArray<Preset>> toNameMap([
{name: "overdrive guitar", midiProgram: 29, generalMidi: true, settings: {"type":"Picked String","eqFilter":[{"type":"low-pass","cutoffHz":4756.83,"linearGain":0.7071},{"type":"high-pass","cutoffHz":210.22,"linearGain":1},{"type":"low-pass","cutoffHz":5656.85,"linearGain":1},{"type":"peak","cutoffHz":840.9,"linearGain":0.5}],"effects":["note filter","distortion"],"noteFilter":[{"type":"high-pass","cutoffHz":297.3,"linearGain":2},{"type":"low-pass","cutoffHz":2378.41,"linearGain":0.7071}],"distortion":71,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":12,"chord":"strum","harmonics":[86,100,100,86,86,86,86,71,71,71,71,71,71,71,71,71,71,57,57,57,57,57,57,57,57,57,57,57],"unison":"none","stringSustain":71,"envelopes":[{"target":"noteFilterFreq","envelope":"note size","index":1}]}},
{name: "distortion guitar",midiProgram: 30, generalMidi: true, settings: {"type":"Picked String","eqFilter":[{"type":"low-pass","cutoffHz":4756.83,"linearGain":0.7071},{"type":"high-pass","cutoffHz":210.22,"linearGain":1},{"type":"low-pass","cutoffHz":5656.85,"linearGain":1},{"type":"peak","cutoffHz":594.6,"linearGain":0.3536},{"type":"peak","cutoffHz":1000,"linearGain":0.25}],"effects":["note filter","distortion","reverb"],"noteFilter":[{"type":"high-pass","cutoffHz":353.55,"linearGain":2},{"type":"low-pass","cutoffHz":2000,"linearGain":1}],"distortion":86,"reverb":67,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":12,"chord":"strum","harmonics":[86,100,100,86,86,86,86,71,71,71,71,71,71,71,71,71,71,57,57,57,57,57,57,57,57,57,57,57],"unison":"none","stringSustain":71,"envelopes":[{"target":"noteFilterFreq","envelope":"note size","index":1}]}},
{name: "charango synth", midiProgram: 84, generalMidi: true, settings: {"type":"FM","eqFilter":[{"type":"low-pass","cutoffHz":11313.71,"linearGain":1}],"effects":[],"transition":"normal","fadeInSeconds":0,"fadeOutTicks":-3,"chord":"strum","algorithm":"1←(2 3←4)","feedbackType":"1→2→3→4","feedbackAmplitude":8,"operators":[{"frequency":"3×","amplitude":13},{"frequency":"~1×","amplitude":5},{"frequency":"4×","amplitude":6},{"frequency":"3×","amplitude":7}],"envelopes":[{"target":"feedbackAmplitude","envelope":"twang 3"}]}},
{name: "guitar harmonics", midiProgram: 31, generalMidi: true, settings: {"type":"FM","eqFilter":[{"type":"low-pass","cutoffHz":4000,"linearGain":2}],"effects":["reverb"],"reverb":33,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":-3,"chord":"strum","algorithm":"1←(2 3)←4","feedbackType":"1⟲","feedbackAmplitude":2,"operators":[{"frequency":"4×","amplitude":12},{"frequency":"16×","amplitude":5},{"frequency":"1×","amplitude":2},{"frequency":"~1×","amplitude":12}],"envelopes":[{"target":"operatorAmplitude","envelope":"swell 1","index":1},{"target":"operatorAmplitude","envelope":"punch","index":2},{"target":"operatorAmplitude","envelope":"twang 1","index":3}]}},
{name: "PWM overdrive", midiProgram: 29, settings: {"type":"PWM","eqFilter":[{"type":"low-pass","cutoffHz":5656.85,"linearGain":1.4142}],"effects":[],"transition":"normal","fadeInSeconds":0,"fadeOutTicks":-3,"chord":"strum","pulseWidth":17.67767,"envelopes":[{"target":"pulseWidth","envelope":"punch"}]}},
{name: "PWM distortion", midiProgram: 30, settings: {"type":"PWM","eqFilter":[{"type":"low-pass","cutoffHz":3363.59,"linearGain":2}],"effects":["vibrato"],"vibrato":"delayed","transition":"normal","fadeInSeconds":0,"fadeOutTicks":-3,"chord":"strum","pulseWidth":50,"envelopes":[{"target":"pulseWidth","envelope":"swell 1"}]}},
{name: "FM overdrive", midiProgram: 29, settings: {"type":"FM","eqFilter":[{"type":"low-pass","cutoffHz":4756.83,"linearGain":1}],"effects":["reverb"],"reverb":33,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":-3,"chord":"strum","algorithm":"1←(2 3←4)","feedbackType":"1→2","feedbackAmplitude":2,"operators":[{"frequency":"~1×","amplitude":15},{"frequency":"1×","amplitude":12},{"frequency":"~2×","amplitude":6},{"frequency":"1×","amplitude":12}],"envelopes":[{"target":"operatorAmplitude","envelope":"twang 1","index":2},{"target":"operatorAmplitude","envelope":"swell 3","index":3},{"target":"feedbackAmplitude","envelope":"punch"}]}},
{name: "FM distortion", midiProgram: 30, settings: {"type":"FM","eqFilter":[{"type":"low-pass","cutoffHz":4000,"linearGain":2}],"effects":["reverb"],"reverb":33,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":-3,"chord":"strum","algorithm":"1←(2 3←4)","feedbackType":"1→2","feedbackAmplitude":4,"operators":[{"frequency":"~1×","amplitude":15},{"frequency":"1×","amplitude":11},{"frequency":"1×","amplitude":9},{"frequency":"~2×","amplitude":4}],"envelopes":[{"target":"operatorAmplitude","envelope":"swell 1","index":2},{"target":"operatorAmplitude","envelope":"swell 3","index":3}]}},
])},
{name: "Bellows Presets", presets: <DictionaryArray<Preset>> toNameMap([
{name: "drawbar organ 1", midiProgram: 16, generalMidi: true, midiSubharmonicOctaves: 1, settings: {"type":"harmonics","effects":"reverb","transition":"hard","chord":"harmony","filterCutoffHz":2828,"filterResonance":14,"filterEnvelope":"steady","interval":"union","vibrato":"none","harmonics":[86,86,0,86,0,0,0,86,0,0,0,0,0,0,0,86,0,0,0,0,0,0,0,0,0,0,0,0]}},
{name: "drawbar organ 2", midiProgram: 16, midiSubharmonicOctaves: 1, settings: {"type":"harmonics","effects":"reverb","transition":"hard","chord":"harmony","filterCutoffHz":2828,"filterResonance":14,"filterEnvelope":"steady","interval":"union","vibrato":"none","harmonics":[86,29,71,86,71,14,0,100,0,0,0,86,0,0,0,71,0,0,0,57,0,0,0,29,0,0,0,0]}},
{name: "percussive organ", midiProgram: 17, generalMidi: true, midiSubharmonicOctaves: 1, settings: {"type":"FM","transition":"hard","effects":"reverb","chord":"harmony","filterCutoffHz":2000,"filterResonance":14,"filterEnvelope":"punch","vibrato":"light","algorithm":"1 2 3 4","feedbackType":"1→3 2→4","feedbackAmplitude":7,"feedbackEnvelope":"decay 1","operators":[{"frequency":"1×","amplitude":7,"envelope":"custom"},{"frequency":"2×","amplitude":7,"envelope":"custom"},{"frequency":"3×","amplitude":8,"envelope":"custom"},{"frequency":"4×","amplitude":8,"envelope":"custom"}]}},
{name: "rock organ", midiProgram: 18, generalMidi: true, midiSubharmonicOctaves: 1, settings: {"type":"FM","effects":"chorus & reverb","transition":"hard","chord":"harmony","filterCutoffHz":4000,"filterResonance":14,"filterEnvelope":"punch","vibrato":"delayed","algorithm":"(1 2 3)←4","feedbackType":"1⟲ 2⟲ 3⟲","feedbackAmplitude":2,"feedbackEnvelope":"flare 1","operators":[{"frequency":"1×","amplitude":9,"envelope":"custom"},{"frequency":"4×","amplitude":9,"envelope":"custom"},{"frequency":"6×","amplitude":9,"envelope":"custom"},{"frequency":"2×","amplitude":5,"envelope":"steady"}]}},
{name: "pipe organ", midiProgram: 19, generalMidi: true, midiSubharmonicOctaves: 1, settings: {"type":"FM","transition":"cross fade","effects":"reverb","chord":"harmony","filterCutoffHz":5657,"filterResonance":43,"filterEnvelope":"steady","vibrato":"none","algorithm":"1 2 3 4","feedbackType":"1⟲ 2⟲ 3⟲ 4⟲","feedbackAmplitude":5,"feedbackEnvelope":"steady","operators":[{"frequency":"1×","amplitude":8,"envelope":"custom"},{"frequency":"2×","amplitude":9,"envelope":"custom"},{"frequency":"4×","amplitude":9,"envelope":"custom"},{"frequency":"8×","amplitude":8,"envelope":"custom"}]}},
{name: "reed organ", midiProgram: 20, generalMidi: true, settings: {"type":"harmonics","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":2000,"filterResonance":29,"filterEnvelope":"steady","interval":"union","vibrato":"none","harmonics":[71,86,100,86,71,100,57,71,71,71,43,43,43,71,43,71,57,57,57,57,57,57,57,29,43,29,29,14]}},
{name: "accordion", midiProgram: 21, generalMidi: true, settings: {"type":"chip","effects":"reverb","transition":"cross fade","chord":"harmony","filterCutoffHz":5657,"filterResonance":0,"filterEnvelope":"swell 1","wave":"double saw","interval":"honky tonk","vibrato":"none"}},
{name: "bandoneon", midiProgram: 23, generalMidi: true, settings: {"type":"harmonics","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":4000,"filterResonance":29,"filterEnvelope":"swell 1","interval":"hum","vibrato":"none","harmonics":[86,86,86,57,71,86,57,71,71,71,57,43,57,43,71,43,71,57,57,43,43,43,57,43,43,29,29,29]}},
{name: "bagpipe", midiProgram: 109, generalMidi: true, settings: {"type":"harmonics","effects":"reverb","transition":"cross fade","chord":"harmony","filterCutoffHz":5657,"filterResonance":43,"filterEnvelope":"punch","interval":"hum","vibrato":"none","harmonics":[71,86,86,100,100,86,57,100,86,71,71,71,57,57,57,71,57,71,57,71,43,57,57,43,43,43,43,43]}},
])},
{name: "String Presets", presets: <DictionaryArray<Preset>> toNameMap([
{name: "violin", midiProgram: 40, generalMidi: true, settings: {"type":"FM","eqFilter":[{"type":"low-pass","cutoffHz":4000,"linearGain":1.4142},{"type":"high-pass","cutoffHz":105.11,"linearGain":0.3536}],"effects":["vibrato","reverb"],"vibrato":"delayed","reverb":67,"transition":"normal","fadeInSeconds":0.0413,"fadeOutTicks":6,"chord":"simultaneous","algorithm":"(1 2)←(3 4)","feedbackType":"1→2","feedbackAmplitude":5,"operators":[{"frequency":"4×","amplitude":9},{"frequency":"3×","amplitude":9},{"frequency":"2×","amplitude":7},{"frequency":"7×","amplitude":5}],"envelopes":[{"target":"operatorAmplitude","envelope":"swell 1","index":3},{"target":"feedbackAmplitude","envelope":"twang 3"}]}},
{name: "viola", midiProgram: 41, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"cross fade","chord":"harmony","filterCutoffHz":2000,"filterResonance":29,"filterEnvelope":"steady","vibrato":"delayed","algorithm":"(1 2 3)←4","feedbackType":"1⟲ 2⟲ 3⟲","feedbackAmplitude":8,"feedbackEnvelope":"swell 1","operators":[{"frequency":"2×","amplitude":11,"envelope":"custom"},{"frequency":"7×","amplitude":7,"envelope":"custom"},{"frequency":"13×","amplitude":4,"envelope":"custom"},{"frequency":"1×","amplitude":5,"envelope":"steady"}]}},
{name: "cello", midiProgram: 42, generalMidi: true, settings: {"type":"FM","eqFilter":[{"type":"low-pass","cutoffHz":4000,"linearGain":0.1768},{"type":"high-pass","cutoffHz":297.3,"linearGain":0.7071},{"type":"peak","cutoffHz":4756.83,"linearGain":5.6569}],"effects":["note filter","reverb"],"noteFilter":[{"type":"low-pass","cutoffHz":16000,"linearGain":0.0884}],"reverb":67,"transition":"normal","fadeInSeconds":0.0125,"fadeOutTicks":12,"chord":"simultaneous","algorithm":"(1 2)←3←4","feedbackType":"1⟲ 2⟲","feedbackAmplitude":3,"operators":[{"frequency":"16×","amplitude":5},{"frequency":"~1×","amplitude":10},{"frequency":"1×","amplitude":9},{"frequency":"6×","amplitude":3}],"envelopes":[{"target":"noteFilterAllFreqs","envelope":"swell 1"},{"target":"operatorAmplitude","envelope":"swell 1","index":3}]}},
{name: "contrabass", midiProgram: 43, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"cross fade","chord":"harmony","filterCutoffHz":2000,"filterResonance":29,"filterEnvelope":"steady","vibrato":"delayed","algorithm":"(1 2)←3←4","feedbackType":"1⟲ 2⟲","feedbackAmplitude":0,"feedbackEnvelope":"steady","operators":[{"frequency":"16×","amplitude":5,"envelope":"custom"},{"frequency":"1×","amplitude":10,"envelope":"custom"},{"frequency":"1×","amplitude":10,"envelope":"steady"},{"frequency":"6×","amplitude":3,"envelope":"swell 1"}]}},
{name: "fiddle", midiProgram: 110, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":2828,"filterResonance":29,"filterEnvelope":"steady","vibrato":"delayed","algorithm":"(1 2)←(3 4)","feedbackType":"3⟲ 4⟲","feedbackAmplitude":5,"feedbackEnvelope":"twang 1","operators":[{"frequency":"2×","amplitude":10,"envelope":"custom"},{"frequency":"8×","amplitude":8,"envelope":"custom"},{"frequency":"1×","amplitude":8,"envelope":"steady"},{"frequency":"16×","amplitude":3,"envelope":"steady"}]}},
{name: "tremolo strings", midiProgram: 44, generalMidi: true, settings: {"type":"FM","effects":"chorus & reverb","transition":"medium fade","chord":"harmony","filterCutoffHz":2000,"filterResonance":0,"filterEnvelope":"tremolo4","vibrato":"none","algorithm":"1 2 3 4","feedbackType":"1→2→3→4","feedbackAmplitude":12,"feedbackEnvelope":"steady","operators":[{"frequency":"1×","amplitude":8,"envelope":"custom"},{"frequency":"~2×","amplitude":8,"envelope":"custom"},{"frequency":"4×","amplitude":8,"envelope":"custom"},{"frequency":"7×","amplitude":8,"envelope":"custom"}]}},
{name: "strings", midiProgram: 48, generalMidi: true, settings: {"type":"FM","effects":"chorus & reverb","transition":"cross fade","chord":"harmony","filterCutoffHz":2828,"filterResonance":43,"filterEnvelope":"steady","vibrato":"none","algorithm":"(1 2)←(3 4)","feedbackType":"4⟲","feedbackAmplitude":5,"feedbackEnvelope":"twang 3","operators":[{"frequency":"4×","amplitude":9,"envelope":"custom"},{"frequency":"3×","amplitude":9,"envelope":"custom"},{"frequency":"2×","amplitude":7,"envelope":"steady"},{"frequency":"7×","amplitude":3,"envelope":"swell 1"}]}},
{name: "slow strings", midiProgram: 49, generalMidi: true, settings: {"type":"FM","effects":"chorus & reverb","transition":"soft fade","chord":"harmony","filterCutoffHz":1414,"filterResonance":0,"filterEnvelope":"swell 2","vibrato":"none","algorithm":"(1 2)←(3 4)","feedbackType":"4⟲","feedbackAmplitude":6,"feedbackEnvelope":"flare 3","operators":[{"frequency":"4×","amplitude":10,"envelope":"custom"},{"frequency":"3×","amplitude":10,"envelope":"custom"},{"frequency":"2×","amplitude":7,"envelope":"steady"},{"frequency":"7×","amplitude":4,"envelope":"swell 1"}]}},
{name: "strings synth 1", midiProgram: 50, generalMidi: true, settings: {"type":"chip","transition":"soft fade","effects":"chorus & reverb","chord":"harmony","filterCutoffHz":1414,"filterResonance":43,"filterEnvelope":"steady","wave":"sawtooth","interval":"hum","vibrato":"delayed"}},
{name: "strings synth 2", midiProgram: 51, generalMidi: true, settings: {"type":"FM","effects":"chorus & reverb","transition":"soft fade","chord":"harmony","filterCutoffHz":2000,"filterResonance":43,"filterEnvelope":"steady","vibrato":"none","algorithm":"1 2 3 4","feedbackType":"1⟲ 2⟲ 3⟲ 4⟲","feedbackAmplitude":12,"feedbackEnvelope":"swell 1","operators":[{"frequency":"3×","amplitude":6,"envelope":"custom"},{"frequency":"2×","amplitude":7,"envelope":"custom"},{"frequency":"1×","amplitude":8,"envelope":"custom"},{"frequency":"1×","amplitude":9,"envelope":"custom"}]}},
{name: "orchestra hit 1", midiProgram: 55, generalMidi: true, midiSubharmonicOctaves: 1, settings: {"type":"FM","effects":"chorus & reverb","transition":"hard fade","chord":"harmony","filterCutoffHz":8000,"filterResonance":14,"filterEnvelope":"custom","vibrato":"none","algorithm":"1 2 3 4","feedbackType":"1⟲ 2⟲ 3⟲ 4⟲","feedbackAmplitude":14,"feedbackEnvelope":"twang 3","operators":[{"frequency":"1×","amplitude":15,"envelope":"twang 3"},{"frequency":"2×","amplitude":15,"envelope":"flare 3"},{"frequency":"4×","amplitude":15,"envelope":"flare 2"},{"frequency":"8×","amplitude":15,"envelope":"flare 1"}]}},
{name: "orchestra hit 2", midiProgram: 55, midiSubharmonicOctaves: 1, settings: {"type":"FM","effects":"chorus & reverb","transition":"medium fade","chord":"harmony","filterCutoffHz":8000,"filterResonance":0,"filterEnvelope":"decay 1","vibrato":"delayed","algorithm":"1 2 3 4","feedbackType":"1⟲ 2⟲ 3⟲ 4⟲","feedbackAmplitude":14,"feedbackEnvelope":"steady","operators":[{"frequency":"1×","amplitude":12,"envelope":"custom"},{"frequency":"2×","amplitude":14,"envelope":"custom"},{"frequency":"3×","amplitude":12,"envelope":"custom"},{"frequency":"4×","amplitude":14,"envelope":"custom"}]}},
{name: "supersaw string", midiProgram: 41, settings: {"type":"supersaw","eqFilter":[{"type":"low-pass","cutoffHz":2828.43,"linearGain":1.4142},{"type":"low-pass","cutoffHz":3363.59,"linearGain":0.1768}],"effects":["note filter","reverb"],"noteFilter":[{"type":"high-pass","cutoffHz":500,"linearGain":0.1768}],"reverb":33,"fadeInSeconds":0.0263,"fadeOutTicks":6,"pulseWidth":35.35534,"dynamism":83,"spread":8,"shape":50,"envelopes":[{"target":"noteFilterFreq","envelope":"twang 1","index":0}]}},
])},
{name: "Vocal Presets", presets: <DictionaryArray<Preset>> toNameMap([
{name: "choir soprano", midiProgram: 94, generalMidi: true, settings: {"type":"harmonics","eqFilter":[{"type":"low-pass","cutoffHz":2828.43,"linearGain":2},{"type":"peak","cutoffHz":1189.21,"linearGain":5.6569},{"type":"high-pass","cutoffHz":707.11,"linearGain":2.8284},{"type":"peak","cutoffHz":2000,"linearGain":0.0884},{"type":"peak","cutoffHz":840.9,"linearGain":0.25},{"type":"low-pass","cutoffHz":6727.17,"linearGain":11.3137}],"effects":["vibrato","chorus","reverb"],"vibrato":"shaky","chorus":100,"reverb":33,"fadeInSeconds":0.0413,"fadeOutTicks":24,"harmonics":[100,100,86,57,29,29,57,71,57,29,14,14,14,29,43,57,43,29,14,14,14,14,14,14,0,0,0,0],"unison":"none","envelopes":[]}},
{name: "choir tenor", midiProgram: 52, generalMidi: true, settings: {"type":"harmonics","eqFilter":[{"type":"peak","cutoffHz":1000,"linearGain":11.3137},{"type":"peak","cutoffHz":707.11,"linearGain":5.6569},{"type":"peak","cutoffHz":840.9,"linearGain":0.0884},{"type":"peak","cutoffHz":1681.79,"linearGain":0.0884},{"type":"high-pass","cutoffHz":297.3,"linearGain":0.7071},{"type":"low-pass","cutoffHz":2828.43,"linearGain":11.3137}],"effects":["vibrato","chorus","reverb"],"vibrato":"shaky","chorus":100,"reverb":67,"transition":"normal","fadeInSeconds":0.0413,"fadeOutTicks":48,"chord":"simultaneous","harmonics":[86,100,100,86,71,57,43,29,29,29,29,43,43,43,29,29,29,29,29,29,29,29,29,14,14,14,14,14],"unison":"none","envelopes":[]}},
{name: "choir bass", midiProgram: 52, settings: {"type":"harmonics","eqFilter":[{"type":"low-pass","cutoffHz":2378.41,"linearGain":11.3137},{"type":"peak","cutoffHz":594.6,"linearGain":5.6569},{"type":"peak","cutoffHz":1681.79,"linearGain":0.0884},{"type":"peak","cutoffHz":707.11,"linearGain":0.0884},{"type":"peak","cutoffHz":840.9,"linearGain":11.3137}],"effects":["vibrato","chorus","reverb"],"vibrato":"shaky","chorus":100,"reverb":67,"transition":"normal","fadeInSeconds":0.0413,"fadeOutTicks":48,"chord":"simultaneous","harmonics":[71,86,100,100,86,86,57,43,29,29,29,29,29,29,43,43,43,43,43,29,29,29,29,14,14,14,14,14],"unison":"none","envelopes":[]}},
{name: "solo soprano", midiProgram: 85, settings: {"type":"harmonics","eqFilter":[{"type":"low-pass","cutoffHz":2828.43,"linearGain":2},{"type":"peak","cutoffHz":1189.21,"linearGain":5.6569},{"type":"high-pass","cutoffHz":707.11,"linearGain":2.8284},{"type":"peak","cutoffHz":2000,"linearGain":0.0884},{"type":"peak","cutoffHz":840.9,"linearGain":0.25}],"effects":["vibrato","reverb"],"vibrato":"shaky","reverb":33,"fadeInSeconds":0.0413,"fadeOutTicks":12,"harmonics":[86,100,86,43,14,14,57,71,57,14,14,14,14,14,43,57,43,14,14,14,14,14,14,14,0,0,0,0],"unison":"none","envelopes":[]}},
{name: "solo tenor", midiProgram: 85, settings: {"type":"harmonics","eqFilter":[{"type":"peak","cutoffHz":1000,"linearGain":11.3137},{"type":"peak","cutoffHz":707.11,"linearGain":5.6569},{"type":"peak","cutoffHz":840.9,"linearGain":0.0884},{"type":"peak","cutoffHz":1681.79,"linearGain":0.0884},{"type":"high-pass","cutoffHz":297.3,"linearGain":0.7071},{"type":"low-pass","cutoffHz":2828.43,"linearGain":11.3137}],"effects":["vibrato","reverb"],"vibrato":"shaky","reverb":33,"fadeInSeconds":0.0413,"fadeOutTicks":12,"harmonics":[86,100,100,86,71,57,43,29,29,29,29,43,43,43,29,29,29,29,29,29,29,29,29,14,14,14,14,14],"unison":"none","envelopes":[]}},
{name: "solo bass", midiProgram: 85, settings: {"type":"harmonics","eqFilter":[{"type":"low-pass","cutoffHz":2378.41,"linearGain":5.6569},{"type":"peak","cutoffHz":594.6,"linearGain":8},{"type":"peak","cutoffHz":1681.79,"linearGain":0.0884},{"type":"peak","cutoffHz":707.11,"linearGain":0.0884},{"type":"peak","cutoffHz":840.9,"linearGain":8},{"type":"high-pass","cutoffHz":210.22,"linearGain":1.4142}],"effects":["vibrato","reverb"],"vibrato":"shaky","reverb":33,"transition":"normal","fadeInSeconds":0.0263,"fadeOutTicks":12,"chord":"simultaneous","harmonics":[71,86,100,100,86,86,57,43,29,29,29,29,29,29,43,43,43,43,43,29,29,29,29,14,14,14,14,14],"unison":"none","envelopes":[]}},
{name: "voice ooh", midiProgram: 53, generalMidi: true, settings: {"type":"harmonics","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":1414,"filterResonance":57,"filterEnvelope":"steady","interval":"union","vibrato":"shaky","harmonics":[100,57,43,43,14,14,0,0,0,14,29,29,14,0,14,29,29,14,0,0,0,0,0,0,0,0,0,0]}},
{name: "voice synth", midiProgram: 54, generalMidi: true, settings: {"type":"chip","transition":"medium fade","effects":"chorus & reverb","chord":"harmony","filterCutoffHz":4000,"filterResonance":57,"filterEnvelope":"steady","wave":"rounded","interval":"union","vibrato":"light"}},
{name: "vox synth lead", midiProgram: 85, generalMidi: true, settings: {"type":"FM","effects":"chorus & reverb","transition":"cross fade","chord":"harmony","filterCutoffHz":2828,"filterResonance":14,"filterEnvelope":"steady","vibrato":"light","algorithm":"(1 2 3)←4","feedbackType":"1→2→3→4","feedbackAmplitude":2,"feedbackEnvelope":"punch","operators":[{"frequency":"2×","amplitude":10,"envelope":"custom"},{"frequency":"9×","amplitude":5,"envelope":"custom"},{"frequency":"20×","amplitude":1,"envelope":"custom"},{"frequency":"~1×","amplitude":4,"envelope":"steady"}]}},
{name: "tiny robot", midiProgram: 85, settings: {"type":"FM","eqFilter":[],"effects":["vibrato","reverb"],"vibrato":"delayed","reverb":33,"transition":"slide","fadeInSeconds":0.0263,"fadeOutTicks":-3,"chord":"simultaneous","algorithm":"1←(2 3 4)","feedbackType":"1⟲","feedbackAmplitude":2,"operators":[{"frequency":"2×","amplitude":15},{"frequency":"1×","amplitude":7},{"frequency":"~1×","amplitude":7},{"frequency":"1×","amplitude":0}],"envelopes":[{"target":"operatorAmplitude","envelope":"punch","index":1},{"target":"feedbackAmplitude","envelope":"twang 3"}]}},
{name: "yowie", midiProgram: 85, settings: {"type":"FM","effects":"reverb","transition":"cross fade","chord":"harmony","filterCutoffHz":2000,"filterResonance":86,"filterEnvelope":"tremolo5","vibrato":"none","algorithm":"1←2←(3 4)","feedbackType":"1⟲","feedbackAmplitude":12,"feedbackEnvelope":"tremolo3","operators":[{"frequency":"2×","amplitude":12,"envelope":"custom"},{"frequency":"16×","amplitude":5,"envelope":"steady"},{"frequency":"1×","amplitude":5,"envelope":"steady"},{"frequency":"1×","amplitude":0,"envelope":"steady"}]}},
{name: "mouse", midiProgram: 85, settings: {"type":"FM","eqFilter":[],"effects":["vibrato","reverb"],"vibrato":"light","reverb":33,"transition":"slide in pattern","fadeInSeconds":0.0263,"fadeOutTicks":-3,"chord":"simultaneous","algorithm":"1 2 3 4","feedbackType":"1⟲ 2⟲","feedbackAmplitude":5,"operators":[{"frequency":"2×","amplitude":13},{"frequency":"5×","amplitude":12},{"frequency":"1×","amplitude":0},{"frequency":"1×","amplitude":0}],"envelopes":[{"target":"noteVolume","envelope":"note size"},{"target":"feedbackAmplitude","envelope":"flare 2"}]}},
{name: "gumdrop", midiProgram: 85, settings: {"type":"FM","effects":"reverb","transition":"hard","chord":"harmony","filterCutoffHz":8000,"filterResonance":0,"filterEnvelope":"steady","vibrato":"none","algorithm":"(1 2 3)←4","feedbackType":"1⟲ 2⟲ 3⟲","feedbackAmplitude":0,"feedbackEnvelope":"steady","operators":[{"frequency":"2×","amplitude":15,"envelope":"punch"},{"frequency":"4×","amplitude":15,"envelope":"punch"},{"frequency":"7×","amplitude":15,"envelope":"punch"},{"frequency":"1×","amplitude":10,"envelope":"twang 1"}]}},
{name: "echo drop", midiProgram: 102, generalMidi: true, settings: {"type":"FM","effects":"chorus & reverb","transition":"hard","chord":"harmony","filterCutoffHz":2828,"filterResonance":14,"filterEnvelope":"punch","vibrato":"none","algorithm":"1←(2 3←4)","feedbackType":"1⟲","feedbackAmplitude":2,"feedbackEnvelope":"steady","operators":[{"frequency":"~2×","amplitude":11,"envelope":"custom"},{"frequency":"~1×","amplitude":5,"envelope":"steady"},{"frequency":"11×","amplitude":2,"envelope":"steady"},{"frequency":"16×","amplitude":5,"envelope":"swell 3"}]}},
{name: "dark choir", midiProgram: 85, settings: {"type":"spectrum","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":4000,"filterResonance":29,"filterEnvelope":"swell 1","spectrum":[43,14,14,14,14,14,14,100,14,14,14,57,14,14,100,14,43,14,43,14,14,43,14,29,14,29,14,14,29,0]}},
])},
{name: "Brass Presets", presets: <DictionaryArray<Preset>> toNameMap([
{name: "trumpet", midiProgram: 56, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":2828,"filterResonance":43,"filterEnvelope":"steady","vibrato":"none","algorithm":"1←(2 3 4)","feedbackType":"1⟲","feedbackAmplitude":9,"feedbackEnvelope":"swell 1","operators":[{"frequency":"1×","amplitude":14,"envelope":"custom"},{"frequency":"1×","amplitude":8,"envelope":"steady"},{"frequency":"1×","amplitude":5,"envelope":"flare 2"},{"frequency":"1×","amplitude":0,"envelope":"steady"}]}},
{name: "trombone", midiProgram: 57, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":2000,"filterResonance":43,"filterEnvelope":"steady","vibrato":"none","algorithm":"1←(2 3 4)","feedbackType":"2⟲","feedbackAmplitude":7,"feedbackEnvelope":"swell 1","operators":[{"frequency":"1×","amplitude":14,"envelope":"custom"},{"frequency":"1×","amplitude":8,"envelope":"steady"},{"frequency":"1×","amplitude":0,"envelope":"steady"},{"frequency":"1×","amplitude":0,"envelope":"steady"}]}},
{name: "tuba", midiProgram: 58, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":2000,"filterResonance":43,"filterEnvelope":"steady","vibrato":"none","algorithm":"1←(2 3 4)","feedbackType":"2⟲","feedbackAmplitude":8,"feedbackEnvelope":"swell 1","operators":[{"frequency":"1×","amplitude":14,"envelope":"custom"},{"frequency":"1×","amplitude":6,"envelope":"steady"},{"frequency":"1×","amplitude":0,"envelope":"steady"},{"frequency":"1×","amplitude":0,"envelope":"steady"}]}},
{name: "muted trumpet", midiProgram: 59, generalMidi: true, settings: {"type":"FM","eqFilter":[{"type":"low-pass","cutoffHz":8000,"linearGain":2.8284},{"type":"peak","cutoffHz":4000,"linearGain":2.8284}],"effects":["note filter","reverb"],"noteFilter":[{"type":"low-pass","cutoffHz":3363.59,"linearGain":1}],"reverb":33,"fadeInSeconds":0.0263,"fadeOutTicks":-3,"algorithm":"1←(2 3←4)","feedbackType":"1⟲","feedbackAmplitude":5,"operators":[{"frequency":"1×","amplitude":13},{"frequency":"1×","amplitude":5},{"frequency":"9×","amplitude":5},{"frequency":"13×","amplitude":7}],"envelopes":[{"target":"noteFilterAllFreqs","envelope":"swell 1"},{"target":"operatorAmplitude","envelope":"swell 1","index":3},{"target":"feedbackAmplitude","envelope":"flare 2"}]}},
{name: "french horn", midiProgram: 60, generalMidi: true, settings: {"type":"FM","eqFilter":[{"type":"low-pass","cutoffHz":4000,"linearGain":1},{"type":"peak","cutoffHz":2378.41,"linearGain":2.8284}],"effects":["reverb"],"reverb":33,"fadeInSeconds":0.0263,"fadeOutTicks":-3,"algorithm":"1←3 2←4","feedbackType":"1⟲ 2⟲","feedbackAmplitude":3,"operators":[{"frequency":"1×","amplitude":15},{"frequency":"1×","amplitude":12},{"frequency":"1×","amplitude":10},{"frequency":"~1×","amplitude":8}],"envelopes":[{"target":"operatorAmplitude","envelope":"swell 1","index":2},{"target":"operatorAmplitude","envelope":"flare 2","index":3},{"target":"feedbackAmplitude","envelope":"swell 1"}]}},
{name: "brass section", midiProgram: 61, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":2828,"filterResonance":14,"filterEnvelope":"punch","vibrato":"none","algorithm":"1←3 2←4","feedbackType":"1⟲ 2⟲","feedbackAmplitude":6,"feedbackEnvelope":"swell 1","operators":[{"frequency":"1×","amplitude":14,"envelope":"custom"},{"frequency":"1×","amplitude":12,"envelope":"custom"},{"frequency":"1×","amplitude":10,"envelope":"swell 1"},{"frequency":"~1×","amplitude":10,"envelope":"swell 1"}]}},
{name: "brass synth 1", midiProgram: 62, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":4000,"filterResonance":29,"filterEnvelope":"steady","vibrato":"none","algorithm":"1←3 2←4","feedbackType":"1⟲ 2⟲","feedbackAmplitude":11,"feedbackEnvelope":"swell 1","operators":[{"frequency":"1×","amplitude":14,"envelope":"custom"},{"frequency":"1×","amplitude":14,"envelope":"custom"},{"frequency":"1×","amplitude":12,"envelope":"flare 1"},{"frequency":"~1×","amplitude":8,"envelope":"flare 2"}]}},
{name: "brass synth 2", midiProgram: 63, generalMidi: true, settings: {"type":"FM","transition":"soft","effects":"reverb","chord":"harmony","filterCutoffHz":4000,"filterResonance":43,"filterEnvelope":"twang 3","vibrato":"none","algorithm":"1←3 2←4","feedbackType":"1⟲ 2⟲","feedbackAmplitude":9,"feedbackEnvelope":"swell 1","operators":[{"frequency":"1×","amplitude":15,"envelope":"custom"},{"frequency":"1×","amplitude":15,"envelope":"custom"},{"frequency":"1×","amplitude":10,"envelope":"flare 1"},{"frequency":"~1×","amplitude":7,"envelope":"flare 1"}]}},
{name: "pulse brass", midiProgram: 62, settings: {"type":"PWM","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":4000,"filterResonance":29,"filterEnvelope":"swell 1","pulseWidth":50,"pulseEnvelope":"flare 3","vibrato":"none"}},
])},
{name: "Reed Presets", presets: <DictionaryArray<Preset>> toNameMap([
{name: "soprano sax", midiProgram: 64, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":2000,"filterResonance":29,"filterEnvelope":"steady","vibrato":"none","algorithm":"1←2←3←4","feedbackType":"4⟲","feedbackAmplitude":5,"feedbackEnvelope":"swell 1","operators":[{"frequency":"1×","amplitude":13,"envelope":"custom"},{"frequency":"4×","amplitude":4,"envelope":"swell 1"},{"frequency":"1×","amplitude":7,"envelope":"steady"},{"frequency":"5×","amplitude":4,"envelope":"punch"}]}},
{name: "alto sax", midiProgram: 65, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":2000,"filterResonance":43,"filterEnvelope":"steady","vibrato":"none","algorithm":"1←(2 3←4)","feedbackType":"1⟲","feedbackAmplitude":4,"feedbackEnvelope":"punch","operators":[{"frequency":"1×","amplitude":13,"envelope":"custom"},{"frequency":"1×","amplitude":6,"envelope":"steady"},{"frequency":"4×","amplitude":6,"envelope":"swell 1"},{"frequency":"1×","amplitude":12,"envelope":"steady"}]}},
{name: "tenor sax", midiProgram: 66, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":2828,"filterResonance":29,"filterEnvelope":"steady","vibrato":"none","algorithm":"1←2←3←4","feedbackType":"1⟲","feedbackAmplitude":6,"feedbackEnvelope":"swell 1","operators":[{"frequency":"2×","amplitude":12,"envelope":"custom"},{"frequency":"3×","amplitude":7,"envelope":"steady"},{"frequency":"1×","amplitude":3,"envelope":"steady"},{"frequency":"8×","amplitude":3,"envelope":"steady"}]}},
{name: "baritone sax", midiProgram: 67, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":2828,"filterResonance":0,"filterEnvelope":"steady","vibrato":"none","algorithm":"1←(2 3←4)","feedbackType":"1⟲","feedbackAmplitude":2,"feedbackEnvelope":"swell 2","operators":[{"frequency":"1×","amplitude":12,"envelope":"custom"},{"frequency":"8×","amplitude":4,"envelope":"steady"},{"frequency":"4×","amplitude":5,"envelope":"steady"},{"frequency":"1×","amplitude":4,"envelope":"punch"}]}},
{name: "sax synth", midiProgram: 64, settings: {"type":"FM","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":8000,"filterResonance":0,"filterEnvelope":"steady","vibrato":"light","algorithm":"1←(2 3 4)","feedbackType":"1⟲ 2⟲","feedbackAmplitude":4,"feedbackEnvelope":"steady","operators":[{"frequency":"4×","amplitude":15,"envelope":"custom"},{"frequency":"1×","amplitude":15,"envelope":"steady"},{"frequency":"1×","amplitude":0,"envelope":"steady"},{"frequency":"1×","amplitude":0,"envelope":"steady"}]}},
{name: "shehnai", midiProgram: 111, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":8000,"filterResonance":0,"filterEnvelope":"steady","vibrato":"light","algorithm":"1←(2 3 4)","feedbackType":"1⟲","feedbackAmplitude":3,"feedbackEnvelope":"steady","operators":[{"frequency":"4×","amplitude":15,"envelope":"custom"},{"frequency":"1×","amplitude":8,"envelope":"steady"},{"frequency":"1×","amplitude":0,"envelope":"steady"},{"frequency":"1×","amplitude":0,"envelope":"steady"}]}},
{name: "oboe", midiProgram: 68, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"cross fade","chord":"harmony","filterCutoffHz":4000,"filterResonance":14,"filterEnvelope":"swell 1","vibrato":"none","algorithm":"1 2←(3 4)","feedbackType":"2⟲","feedbackAmplitude":2,"feedbackEnvelope":"tremolo5","operators":[{"frequency":"1×","amplitude":7,"envelope":"custom"},{"frequency":"4×","amplitude":12,"envelope":"custom"},{"frequency":"1×","amplitude":6,"envelope":"steady"},{"frequency":"6×","amplitude":2,"envelope":"steady"}]}},
{name: "english horn", midiProgram: 69, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"cross fade","chord":"harmony","filterCutoffHz":2000,"filterResonance":14,"filterEnvelope":"steady","vibrato":"none","algorithm":"1 2←(3 4)","feedbackType":"2⟲","feedbackAmplitude":2,"feedbackEnvelope":"steady","operators":[{"frequency":"4×","amplitude":12,"envelope":"custom"},{"frequency":"2×","amplitude":10,"envelope":"custom"},{"frequency":"1×","amplitude":8,"envelope":"punch"},{"frequency":"8×","amplitude":4,"envelope":"steady"}]}},
{name: "bassoon", midiProgram: 70, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":707,"filterResonance":57,"filterEnvelope":"steady","vibrato":"none","algorithm":"1←(2 3←4)","feedbackType":"1⟲","feedbackAmplitude":2,"feedbackEnvelope":"steady","operators":[{"frequency":"2×","amplitude":11,"envelope":"custom"},{"frequency":"1×","amplitude":6,"envelope":"steady"},{"frequency":"6×","amplitude":6,"envelope":"swell 1"},{"frequency":"1×","amplitude":0,"envelope":"steady"}]}},
{name: "clarinet", midiProgram: 71, generalMidi: true, settings: {"type":"harmonics","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":1414,"filterResonance":14,"filterEnvelope":"steady","interval":"union","vibrato":"none","harmonics":[100,43,86,57,86,71,86,71,71,71,71,71,71,43,71,71,57,57,57,57,57,57,43,43,43,29,14,0]}},
{name: "harmonica", midiProgram: 22, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":5657,"filterResonance":29,"filterEnvelope":"swell 1","vibrato":"none","algorithm":"1←(2 3←4)","feedbackType":"1⟲","feedbackAmplitude":9,"feedbackEnvelope":"tremolo5","operators":[{"frequency":"2×","amplitude":14,"envelope":"custom"},{"frequency":"1×","amplitude":15,"envelope":"steady"},{"frequency":"~2×","amplitude":2,"envelope":"twang 3"},{"frequency":"1×","amplitude":0,"envelope":"steady"}]}},
])},
{name: "Flute Presets", presets: <DictionaryArray<Preset>> toNameMap([
{name: "flute", midiProgram: 73, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":5657,"filterResonance":14,"filterEnvelope":"steady","vibrato":"none","algorithm":"1←(2 3 4)","feedbackType":"4⟲","feedbackAmplitude":7,"feedbackEnvelope":"decay 2","operators":[{"frequency":"1×","amplitude":15,"envelope":"custom"},{"frequency":"2×","amplitude":4,"envelope":"steady"},{"frequency":"1×","amplitude":3,"envelope":"steady"},{"frequency":"~1×","amplitude":1,"envelope":"punch"}]}},
{name: "recorder", midiProgram: 74, generalMidi: true, settings: {"type":"harmonics","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":4000,"filterResonance":29,"filterEnvelope":"swell 2","interval":"union","vibrato":"none","harmonics":[100,43,57,43,57,43,43,43,43,43,43,43,43,29,29,29,29,29,29,29,14,14,14,14,14,14,14,0]}},
{name: "whistle", midiProgram: 78, generalMidi: true, settings: {"type":"harmonics","effects":"chorus & reverb","transition":"soft","chord":"harmony","filterCutoffHz":2000,"filterResonance":43,"filterEnvelope":"steady","interval":"union","vibrato":"delayed","harmonics":[100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},
{name: "ocarina", midiProgram: 79, generalMidi: true, settings: {"type":"harmonics","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":2828,"filterResonance":43,"filterEnvelope":"steady","interval":"union","vibrato":"none","harmonics":[100,14,57,14,29,14,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},
{name: "piccolo", midiProgram: 72, generalMidi: true, settings: {"type":"FM","effects":"reverb","transition":"soft","chord":"harmony","filterCutoffHz":5657,"filterResonance":43,"filterEnvelope":"steady","vibrato":"none","algorithm":"1←3 2←4","feedbackType":"4⟲","feedbackAmplitude":15,"feedbackEnvelope":"twang 1","operators":[{"frequency":"1×","amplitude":15,"envelope":"custom"},{"frequency":"1×","amplitude":10,"envelope":"custom"},{"frequency":"~2×","amplitude":3,"envelope":"punch"},{"frequency":"~1×","amplitude":5,"envelope":"punch"}]}},
{name: "shakuhachi", midiProgram: 77, generalMidi: true, settings: {"type":"FM","effects":"chorus & reverb","transition":"soft","chord":"harmony","filterCutoffHz":4000,"filterResonance":14,"filterEnvelope":"steady","vibrato":"delayed","algorithm":"1←(2 3←4)","feedbackType":"3→4","feedbackAmplitude":15,"feedbackEnvelope":"steady","operators":[{"frequency":"1×","amplitude":15,"envelope":"custom"},{"frequency":"2×","amplitude":3,"envelope":"punch"},{"frequency":"~1×","amplitude":4,"envelope":"twang 1"},{"frequency":"20×","amplitude":15,"envelope":"steady"}]}},
{name: "pan flute", midiProgram: 75, generalMidi: true, settings: {"type":"spectrum","eqFilter":[{"type":"low-pass","cutoffHz":9513.66,"linearGain":5.6569}],"effects":["note filter","reverb"],"noteFilter":[{"type":"high-pass","cutoffHz":4756.83,"linearGain":0.7071}],"reverb":33,"fadeInSeconds":0.0125,"fadeOutTicks":-3,"spectrum":[100,0,0,0,0,0,0,14,0,0,0,71,0,0,14,0,57,0,29,14,29,14,14,29,14,29,14,14,29,14],"envelopes":[{"target":"noteFilterFreq","envelope":"twang 1","index":0},{"target":"noteVolume","envelope":"punch"}]}},
{name: "blown bottle", midiProgram: 76, generalMidi: true, settings: {"type":"FM","effects":"chorus & reverb","transition":"cross fade","chord":"harmony","filterCutoffHz":5657,"filterResonance":57,"filterEnvelope":"steady","vibrato":"none","algorithm":"1 2 3 4","feedbackType":"1⟲ 2⟲ 3⟲ 4⟲","feedbackAmplitude":7,"feedbackEnvelope":"twang 1","operators":[{"frequency":"1×","amplitude":15,"envelope":"custom"},{"frequency":"3×","amplitude":4,"envelope":"custom"},{"frequency":"6×","amplitude":2,"envelope":"custom"},{"frequency":"11×","amplitude":2,"envelope":"custom"}]}},
{name: "calliope", midiProgram: 82, generalMidi: true, settings: {"type":"spectrum","transition":"cross fade","effects":"reverb","chord":"harmony","filterCutoffHz":5657,"filterResonance":14,"filterEnvelope":"steady","spectrum":[100,0,0,0,0,0,0,86,0,0,0,71,0,0,57,0,43,0,29,14,14,29,14,14,14,14,14,14,14,14]}},
{name: "chiffer", midiProgram: 83, generalMidi: true, settings: {"type":"spectrum","effects":"reverb","transition":"hard","chord":"harmony","filterCutoffHz":2000,"filterResonance":14,"filterEnvelope":"punch","spectrum":[86,0,0,0,0,0,0,71,0,0,0,71,0,0,57,0,57,0,43,14,14,43,14,29,14,29,29,29,29,14]}},
{name: "breath noise", midiProgram: 121, generalMidi: true, settings: {"type":"spectrum","eqFilter":[],"effects":["chord type","note filter","reverb"],"chord":"strum","noteFilter":[{"type":"high-pass","cutoffHz":840.9,"linearGain":0.3536},{"type":"low-pass","cutoffHz":16000,"linearGain":0.3536}],"reverb":33,"fadeInSeconds":0.0413,"fadeOutTicks":12,"spectrum":[71,0,0,0,0,0,0,29,0,0,0,71,0,0,29,0,100,29,14,29,100,29,100,14,14,71,0,29,0,0],"envelopes":[{"target":"noteFilterAllFreqs","envelope":"twang 1"}]}},
])},
{name: "Pad Presets", presets: <DictionaryArray<Preset>> toNameMap([
{name: "new age pad", midiProgram: 88, generalMidi: true, settings: {"type":"FM","eqFilter":[],"effects":["chorus"],"chorus":100,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":48,"chord":"simultaneous","algorithm":"1←(2 3←4)","feedbackType":"1⟲ 2⟲","feedbackAmplitude":3,"operators":[{"frequency":"2×","amplitude":14},{"frequency":"~1×","amplitude":4},{"frequency":"6×","amplitude":3},{"frequency":"13×","amplitude":3}],"envelopes":[{"target":"operatorAmplitude","envelope":"swell 2","index":1},{"target":"operatorAmplitude","envelope":"twang 3","index":2},{"target":"feedbackAmplitude","envelope":"swell 3"}]}},
{name: "warm pad", midiProgram: 89, generalMidi: true, settings: {"type":"FM","eqFilter":[],"effects":["note filter","chorus"],"noteFilter":[{"type":"low-pass","cutoffHz":3363.59,"linearGain":1}],"chorus":100,"transition":"normal","fadeInSeconds":0.0575,"fadeOutTicks":96,"chord":"simultaneous","algorithm":"1←(2 3 4)","feedbackType":"1⟲","feedbackAmplitude":7,"operators":[{"frequency":"1×","amplitude":14},{"frequency":"1×","amplitude":6},{"frequency":"1×","amplitude":0},{"frequency":"1×","amplitude":0}],"envelopes":[{"target":"noteFilterAllFreqs","envelope":"swell 3"},{"target":"operatorAmplitude","envelope":"swell 1","index":1}]}},
{name: "polysynth pad", midiProgram: 90, generalMidi: true, settings: {"type":"chip","eqFilter":[],"effects":["vibrato","note filter","chorus"],"vibrato":"delayed","noteFilter":[{"type":"low-pass","cutoffHz":2828.43,"linearGain":1}],"chorus":100,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":48,"chord":"simultaneous","wave":"sawtooth","unison":"honky tonk","envelopes":[{"target":"noteFilterAllFreqs","envelope":"twang 3"}]}},
{name: "space voice pad", midiProgram: 91, generalMidi: true, settings: {"type":"FM","eqFilter":[{"type":"low-pass","cutoffHz":6727.17,"linearGain":5.6569},{"type":"peak","cutoffHz":2828.43,"linearGain":5.6569},{"type":"peak","cutoffHz":1414.21,"linearGain":0.1768}],"effects":["chorus"],"chorus":100,"transition":"normal","fadeInSeconds":0.0125,"fadeOutTicks":72,"chord":"simultaneous","algorithm":"(1 2 3)←4","feedbackType":"1⟲ 2⟲ 3⟲ 4⟲","feedbackAmplitude":5,"operators":[{"frequency":"1×","amplitude":10},{"frequency":"2×","amplitude":8},{"frequency":"3×","amplitude":7},{"frequency":"11×","amplitude":2}],"envelopes":[{"target":"operatorAmplitude","envelope":"punch","index":3},{"target":"feedbackAmplitude","envelope":"swell 2"}]}},
{name: "bowed glass pad", midiProgram: 92, generalMidi: true, settings: {"type":"FM","eqFilter":[],"effects":["note filter"],"noteFilter":[{"type":"low-pass","cutoffHz":4756.83,"linearGain":0.5}],"transition":"normal","fadeInSeconds":0.0575,"fadeOutTicks":96,"chord":"simultaneous","algorithm":"1←3 2←4","feedbackType":"1⟲ 2⟲","feedbackAmplitude":0,"operators":[{"frequency":"1×","amplitude":10},{"frequency":"2×","amplitude":12},{"frequency":"3×","amplitude":7},{"frequency":"7×","amplitude":4}],"envelopes":[{"target":"noteFilterAllFreqs","envelope":"twang 3"},{"target":"operatorAmplitude","envelope":"twang 3","index":2},{"target":"operatorAmplitude","envelope":"flare 3","index":3}]}},
{name: "metallic pad", midiProgram: 93, generalMidi: true, settings: {"type":"FM","eqFilter":[],"effects":["note filter"],"noteFilter":[{"type":"low-pass","cutoffHz":6727.17,"linearGain":0.5}],"transition":"normal","fadeInSeconds":0.0125,"fadeOutTicks":72,"chord":"simultaneous","algorithm":"1←3 2←4","feedbackType":"1⟲ 2⟲","feedbackAmplitude":13,"operators":[{"frequency":"1×","amplitude":15},{"frequency":"~1×","amplitude":9},{"frequency":"1×","amplitude":7},{"frequency":"11×","amplitude":7}],"envelopes":[{"target":"noteFilterAllFreqs","envelope":"twang 3"},{"target":"operatorAmplitude","envelope":"swell 2","index":2},{"target":"feedbackAmplitude","envelope":"twang 3"}]}},
{name: "sweep pad", midiProgram: 95, generalMidi: true, settings: {"type":"chip","eqFilter":[],"effects":["note filter","chorus"],"noteFilter":[{"type":"low-pass","cutoffHz":4000,"linearGain":4}],"chorus":100,"transition":"normal","fadeInSeconds":0.0575,"fadeOutTicks":96,"chord":"simultaneous","wave":"sawtooth","unison":"hum","envelopes":[{"target":"noteFilterAllFreqs","envelope":"flare 3"}]}},
{name: "atmosphere", midiProgram: 99, generalMidi: true, settings: {"type":"FM","eqFilter":[{"type":"low-pass","cutoffHz":4756.83,"linearGain":1}],"effects":["chorus","reverb"],"chorus":100,"reverb":33,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":48,"chord":"strum","algorithm":"1←(2 3 4)","feedbackType":"3⟲ 4⟲","feedbackAmplitude":3,"operators":[{"frequency":"1×","amplitude":14},{"frequency":"~1×","amplitude":10},{"frequency":"3×","amplitude":7},{"frequency":"1×","amplitude":7}],"envelopes":[{"target":"operatorAmplitude","envelope":"swell 3","index":1},{"target":"operatorAmplitude","envelope":"twang 2","index":2},{"target":"operatorAmplitude","envelope":"twang 3","index":3}]}},
{name: "brightness", midiProgram: 100, generalMidi: true, settings: {"type":"Picked String","eqFilter":[{"type":"low-pass","cutoffHz":4756.83,"linearGain":2}],"effects":["chorus"],"chorus":100,"transition":"normal","fadeInSeconds":0.0125,"fadeOutTicks":72,"chord":"simultaneous","harmonics":[100,86,86,86,43,57,43,71,43,43,43,57,43,43,57,71,57,43,29,43,57,57,43,29,29,29,29,14],"unison":"octave","stringSustain":86,"envelopes":[]}},
{name: "goblins", midiProgram: 101, generalMidi: true, settings: {"type":"FM","eqFilter":[{"type":"peak","cutoffHz":2828.43,"linearGain":11.3137}],"effects":["note filter","chorus"],"noteFilter":[{"type":"low-pass","cutoffHz":1681.79,"linearGain":0.5}],"chorus":100,"transition":"normal","fadeInSeconds":0.0575,"fadeOutTicks":96,"chord":"simultaneous","algorithm":"1←2←3←4","feedbackType":"1⟲","feedbackAmplitude":10,"operators":[{"frequency":"1×","amplitude":15},{"frequency":"4×","amplitude":5},{"frequency":"1×","amplitude":10},{"frequency":"1×","amplitude":0}],"envelopes":[{"target":"noteFilterAllFreqs","envelope":"swell 2"},{"target":"operatorAmplitude","envelope":"swell 3","index":1},{"target":"operatorAmplitude","envelope":"tremolo1","index":2},{"target":"feedbackAmplitude","envelope":"flare 3"}]}},
{name: "sci-fi", midiProgram: 103, generalMidi: true, settings: {"type":"FM","eqFilter":[{"type":"peak","cutoffHz":9513.66,"linearGain":2.8284}],"effects":["note filter","chorus"],"noteFilter":[{"type":"low-pass","cutoffHz":6727.17,"linearGain":0.5}],"chorus":100,"transition":"normal","fadeInSeconds":0.0125,"fadeOutTicks":48,"chord":"simultaneous","algorithm":"(1 2)←3←4","feedbackType":"1⟲ 2⟲ 3⟲ 4⟲","feedbackAmplitude":8,"operators":[{"frequency":"~1×","amplitude":13},{"frequency":"2×","amplitude":10},{"frequency":"5×","amplitude":5},{"frequency":"11×","amplitude":8}],"envelopes":[{"target":"noteFilterAllFreqs","envelope":"twang 3"},{"target":"operatorAmplitude","envelope":"twang 3","index":2},{"target":"operatorAmplitude","envelope":"tremolo5","index":3},{"target":"feedbackAmplitude","envelope":"twang 3"}]}},
{name: "flutter pad", midiProgram: 90, settings: {"type":"FM","eqFilter":[],"effects":["vibrato","note filter","chorus"],"vibrato":"delayed","noteFilter":[{"type":"low-pass","cutoffHz":4000,"linearGain":4}],"chorus":100,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":48,"chord":"simultaneous","algorithm":"(1 2)←(3 4)","feedbackType":"1⟲ 2⟲ 3⟲","feedbackAmplitude":9,"operators":[{"frequency":"1×","amplitude":13},{"frequency":"5×","amplitude":7},{"frequency":"7×","amplitude":5},{"frequency":"~1×","amplitude":6}],"envelopes":[{"target":"noteFilterAllFreqs","envelope":"twang 3"},{"target":"operatorAmplitude","envelope":"tremolo1","index":2},{"target":"operatorAmplitude","envelope":"punch","index":3}]}},
{name: "feedback pad", midiProgram: 89, settings: {"type":"FM","eqFilter":[{"type":"peak","cutoffHz":2378.41,"linearGain":8}],"effects":[],"transition":"normal","fadeInSeconds":0.0575,"fadeOutTicks":96,"chord":"custom interval","algorithm":"1 2 3 4","feedbackType":"1⟲ 2⟲ 3⟲ 4⟲","feedbackAmplitude":8,"operators":[{"frequency":"1×","amplitude":15},{"frequency":"1×","amplitude":15},{"frequency":"1×","amplitude":15},{"frequency":"~1×","amplitude":15}],"envelopes":[{"target":"feedbackAmplitude","envelope":"swell 2"}]}},
{name: "supersaw pad", midiProgram: 93, settings: {"type":"supersaw","eqFilter":[{"type":"low-pass","cutoffHz":8000,"linearGain":0.1768}],"effects":["reverb"],"reverb":100,"fadeInSeconds":0.0263,"fadeOutTicks":24,"pulseWidth":50,"dynamism":100,"spread":58,"shape":0,"envelopes":[]}},
])},
{name: "Drum Presets", presets: <DictionaryArray<Preset>> toNameMap([
{name: "standard drumset", midiProgram: 116, isNoise: true, settings: {"type":"drumset","effects":"reverb","drums":[{"filterEnvelope":"twang 1","spectrum":[57,71,71,86,86,86,71,71,71,71,57,57,57,57,43,43,43,43,29,29,29,29,29,29,29,29,29,29,29,29]},{"filterEnvelope":"twang 1","spectrum":[0,0,0,100,71,71,57,86,57,57,57,71,43,43,57,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43]},{"filterEnvelope":"twang 1","spectrum":[0,0,0,0,100,57,43,43,29,57,43,29,71,43,43,43,43,57,43,43,43,43,43,43,43,43,29,43,43,43]},{"filterEnvelope":"twang 1","spectrum":[0,0,0,0,0,71,57,43,43,43,57,57,43,29,57,43,43,43,29,43,57,43,43,43,43,43,43,29,43,43]},{"filterEnvelope":"decay 2","spectrum":[0,14,29,43,86,71,29,43,43,43,43,29,71,29,71,29,43,43,43,43,57,43,43,57,43,43,43,57,57,57]},{"filterEnvelope":"decay 1","spectrum":[0,0,14,14,14,14,29,29,29,43,43,43,57,57,57,71,71,71,71,71,71,71,71,57,57,57,57,43,43,43]},{"filterEnvelope":"twang 3","spectrum":[43,43,43,71,29,29,43,43,43,29,43,43,43,29,29,43,43,29,29,29,57,14,57,43,43,57,43,43,57,57]},{"filterEnvelope":"decay 3","spectrum":[29,43,43,43,43,29,29,43,29,29,43,29,14,29,43,29,43,29,57,29,43,57,43,71,43,71,57,57,71,71]},{"filterEnvelope":"twang 3","spectrum":[43,29,29,43,29,29,29,57,29,29,29,57,43,43,29,29,57,43,43,43,71,43,43,71,57,71,71,71,71,71]},{"filterEnvelope":"decay 3","spectrum":[57,57,57,43,57,57,43,43,57,43,43,43,71,57,43,57,86,71,57,86,71,57,86,100,71,86,86,86,86,86]},{"filterEnvelope":"flare 1","spectrum":[0,0,14,14,14,14,29,29,29,43,43,43,57,57,71,71,86,86,100,100,100,100,100,100,100,100,86,57,29,0]},{"filterEnvelope":"decay 2","spectrum":[14,14,14,14,29,14,14,29,14,43,14,43,57,86,57,57,100,57,43,43,57,100,57,43,29,14,0,0,0,0]}]}},
{name: "steel pan", midiProgram: 114, generalMidi: true, settings: {"type":"FM","eqFilter":[{"type":"high-pass","cutoffHz":62.5,"linearGain":0.1768}],"effects":["note filter","chorus","reverb"],"noteFilter":[{"type":"low-pass","cutoffHz":13454.34,"linearGain":0.25}],"chorus":67,"reverb":33,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":24,"chord":"simultaneous","algorithm":"1←(2 3←4)","feedbackType":"1⟲","feedbackAmplitude":0,"operators":[{"frequency":"~1×","amplitude":14},{"frequency":"7×","amplitude":3},{"frequency":"3×","amplitude":5},{"frequency":"4×","amplitude":4}],"envelopes":[{"target":"noteFilterAllFreqs","envelope":"decay 2"},{"target":"operatorAmplitude","envelope":"flare 1","index":1},{"target":"operatorAmplitude","envelope":"flare 2","index":2},{"target":"operatorAmplitude","envelope":"swell 2","index":3}]}},
{name: "steel pan synth", midiProgram: 114, settings: {"type":"FM","eqFilter":[],"effects":["note filter"],"noteFilter":[{"type":"low-pass","cutoffHz":13454.34,"linearGain":0.25}],"transition":"normal","fadeInSeconds":0,"fadeOutTicks":-3,"chord":"simultaneous","algorithm":"1 2 3←4","feedbackType":"1⟲","feedbackAmplitude":5,"operators":[{"frequency":"~1×","amplitude":12},{"frequency":"2×","amplitude":15},{"frequency":"4×","amplitude":14},{"frequency":"~1×","amplitude":3}],"envelopes":[{"target":"noteFilterAllFreqs","envelope":"twang 1"},{"target":"operatorAmplitude","envelope":"note size","index":0},{"target":"operatorAmplitude","envelope":"note size","index":1},{"target":"operatorAmplitude","envelope":"flare 1","index":2},{"target":"operatorAmplitude","envelope":"flare 2","index":3},{"target":"feedbackAmplitude","envelope":"flare 1"}]}},
{name: "timpani", midiProgram: 47, generalMidi: true, settings: {"type":"spectrum","eqFilter":[{"type":"peak","cutoffHz":6727.17,"linearGain":5.6569}],"effects":["pitch shift","note filter","reverb"],"pitchShiftSemitones":15,"noteFilter":[{"type":"low-pass","cutoffHz":19027.31,"linearGain":0.5}],"reverb":33,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":48,"chord":"simultaneous","spectrum":[100,0,0,0,86,0,0,71,0,14,43,14,43,43,0,29,43,29,29,29,43,29,43,29,43,43,43,43,43,43],"envelopes":[{"target":"noteFilterAllFreqs","envelope":"twang 1"},{"target":"pitchShift","envelope":"twang 1"}]}},
{name: "dark strike", midiProgram: 47, settings: {"type":"spectrum","eqFilter":[],"effects":["note filter","reverb"],"noteFilter":[{"type":"low-pass","cutoffHz":4756.83,"linearGain":0.7071}],"reverb":33,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":48,"chord":"simultaneous","spectrum":[0,0,14,14,14,29,29,43,43,86,43,43,43,29,86,29,29,29,86,29,14,14,14,14,0,0,0,0,0,0],"envelopes":[{"target":"noteFilterAllFreqs","envelope":"twang 2"}]}},
{name: "woodblock", midiProgram: 115, generalMidi: true, isNoise: true, midiSubharmonicOctaves: -2.5, settings: {"type":"spectrum","effects":"reverb","transition":"hard fade","chord":"strum","filterCutoffHz":2828,"filterResonance":14,"filterEnvelope":"twang 1","spectrum":[0,14,29,43,43,57,86,86,71,57,57,43,43,57,86,86,43,43,71,57,57,57,57,57,86,86,71,71,71,71]}},
{name: "taiko drum", midiProgram: 116, generalMidi: true, isNoise: true, midiSubharmonicOctaves: -0.5, settings: {"type":"spectrum","effects":"reverb","transition":"hard fade","chord":"strum","filterCutoffHz":2828,"filterResonance":29,"filterEnvelope":"twang 1","spectrum":[71,100,100,43,43,71,71,43,43,43,43,43,43,57,29,57,43,57,43,43,57,43,43,43,43,43,43,43,43,43]}},
{name: "melodic drum", midiProgram: 117, generalMidi: true, isNoise: true, midiSubharmonicOctaves: -1.5, settings: {"type":"spectrum","effects":"reverb","transition":"hard fade","chord":"strum","filterCutoffHz":2828,"filterResonance":43,"filterEnvelope":"twang 1","spectrum":[100,71,71,57,57,43,43,71,43,43,43,57,43,43,57,43,43,43,43,29,29,29,29,29,29,29,29,29,29,29]}},
{name: "drum synth", midiProgram: 118, generalMidi: true, isNoise: true, midiSubharmonicOctaves: -2, settings: {"type":"spectrum","effects":"reverb","transition":"hard fade","chord":"harmony","filterCutoffHz":4000,"filterResonance":43,"filterEnvelope":"decay 1","spectrum":[100,86,71,57,43,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29]}},
{name: "tom-tom", midiProgram: 116, isNoise: true, midiSubharmonicOctaves: -1, settings: {"type":"spectrum","effects":"reverb","transition":"hard fade","chord":"strum","filterCutoffHz":2000,"filterResonance":14,"filterEnvelope":"twang 1","spectrum":[100,29,14,0,0,86,14,43,29,86,29,14,29,57,43,43,43,43,57,43,43,43,29,57,43,43,43,43,43,43]}},
{name: "metal pipe", midiProgram: 117, isNoise: true, midiSubharmonicOctaves: -1.5, settings: {"type":"spectrum","effects":"reverb","transition":"hard fade","chord":"strum","filterCutoffHz":8000,"filterResonance":14,"filterEnvelope":"twang 2","spectrum":[29,43,86,43,43,43,43,43,100,29,14,14,100,14,14,0,0,0,0,0,14,29,29,14,0,0,14,29,0,0]}},
{name: "synth kick", midiProgram: 47, settings: {"type":"FM","eqFilter":[],"effects":[],"transition":"normal","fadeInSeconds":0,"fadeOutTicks":-6,"chord":"simultaneous","algorithm":"1←(2 3 4)","feedbackType":"1⟲","feedbackAmplitude":0,"operators":[{"frequency":"8×","amplitude":15},{"frequency":"1×","amplitude":0},{"frequency":"1×","amplitude":0},{"frequency":"1×","amplitude":0}],"envelopes":[{"target":"operatorFrequency","envelope":"twang 1","index":0},{"target":"noteVolume","envelope":"twang 2"}]}},
])},
{name: "Novelty Presets", presets: <DictionaryArray<Preset>> toNameMap([
{name: "guitar fret noise",midiProgram: 120, generalMidi: true, settings: {"type":"spectrum","eqFilter":[{"type":"high-pass","cutoffHz":1000,"linearGain":0.1768}],"effects":["note filter"],"noteFilter":[{"type":"low-pass","cutoffHz":6727.17,"linearGain":5.6569}],"transition":"normal","fadeInSeconds":0.0125,"fadeOutTicks":-3,"chord":"simultaneous","spectrum":[0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,29,14,0,0,43,0,43,0,71,43,0,57,0],"envelopes":[{"target":"noteFilterAllFreqs","envelope":"flare 1"},{"target":"noteVolume","envelope":"twang 2"}]}},
{name: "fifth saw lead", midiProgram: 86, generalMidi: true, midiSubharmonicOctaves: 1, settings: {"type":"chip","eqFilter":[],"effects":["note filter","chorus"],"noteFilter":[{"type":"low-pass","cutoffHz":2828.43,"linearGain":1.4142}],"chorus":67,"transition":"normal","fadeInSeconds":0,"fadeOutTicks":48,"chord":"simultaneous","wave":"sawtooth","unison":"fifth","envelopes":[{"target":"noteFilterAllFreqs","envelope":"twang 3"}]}},
{name: "fifth swell", midiProgram: 86, midiSubharmonicOctaves: 1, settings: {"type":"chip","eqFilter":[],"effects":["note filter","chorus"],"noteFilter":[{"type":"low-pass","cutoffHz":2000,"linearGain":2}],"chorus":100,"transition":"normal","fadeInSeconds":0.0125,"fadeOutTicks":72,"chord":"simultaneous","wave":"sawtooth","unison":"fifth","envelopes":[{"target":"noteFilterAllFreqs","envelope":"swell 3"}]}},
{name: "soundtrack", midiProgram: 97, generalMidi: true, settings: {"type":"chip","eqFilter":[],"effects":["note filter","chorus"],"noteFilter":[{"type":"low-pass","cutoffHz":2378.41,"linearGain":0.5}],"chorus":67,"transition":"normal","fadeInSeconds":0.0413,"fadeOutTicks":72,"chord":"simultaneous","wave":"sawtooth","unison":"fifth","envelopes":[{"target":"noteFilterAllFreqs","envelope":"flare 3"}]}},
{name: "reverse cymbal", midiProgram: 119, generalMidi: true, isNoise: true, midiSubharmonicOctaves: -3, settings: {"type":"spectrum","effects":"none","transition":"soft","chord":"harmony","filterCutoffHz":4000,"filterResonance":14,"filterEnvelope":"swell 3","spectrum":[29,57,57,29,57,57,29,29,43,29,29,43,29,29,57,57,14,57,14,57,71,71,57,86,57,100,86,86,86,86]}},
{name: "seashore", midiProgram: 122, generalMidi: true, isNoise: true, midiSubharmonicOctaves: -3, settings: {"type":"spectrum","transition":"soft fade","effects":"reverb","chord":"harmony","filterCutoffHz":2828,"filterResonance":0,"filterEnvelope":"swell 3","spectrum":[14,14,29,29,43,43,43,57,57,57,57,57,57,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,57]}},
{name: "bird tweet", midiProgram: 123, generalMidi: true, settings: {"type":"harmonics","eqFilter":[],"effects":["chord type","vibrato","reverb"],"chord":"strum","vibrato":"heavy","reverb":67,"fadeInSeconds":0.0575,"fadeOutTicks":-6,"harmonics":[0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"unison":"hum","envelopes":[{"target":"noteVolume","envelope":"decay 1"}]}},
{name: "telephone ring", midiProgram: 124, generalMidi: true, settings: {"type":"FM","eqFilter":[],"effects":["note filter"],"noteFilter":[{"type":"low-pass","cutoffHz":5656.85,"linearGain":1}],"transition":"normal","fadeInSeconds":0.0125,"fadeOutTicks":-3,"chord":"arpeggio","algorithm":"1←(2 3 4)","feedbackType":"1⟲","feedbackAmplitude":0,"operators":[{"frequency":"2×","amplitude":12},{"frequency":"1×","amplitude":4},{"frequency":"20×","amplitude":1},{"frequency":"1×","amplitude":0}],"envelopes":[{"target":"noteFilterAllFreqs","envelope":"tremolo4"},{"target":"operatorAmplitude","envelope":"tremolo1","index":1}]}},
{name: "helicopter", midiProgram: 125, generalMidi: true, isNoise: true, midiSubharmonicOctaves: -0.5, settings: {"type":"spectrum","effects":"reverb","transition":"seamless","chord":"arpeggio","filterCutoffHz":1414,"filterResonance":14,"filterEnvelope":"tremolo4","spectrum":[14,43,43,57,57,57,71,71,71,71,86,86,86,86,86,86,86,86,86,86,86,71,71,71,71,71,71,71,57,57]}},
{name: "applause", midiProgram: 126, generalMidi: true, isNoise: true, midiSubharmonicOctaves: -3, settings: {"type":"spectrum","effects":"reverb","transition":"soft fade","chord":"harmony","filterCutoffHz":2000,"filterResonance":14,"filterEnvelope":"swell 3","spectrum":[14,14,29,29,29,43,43,57,71,71,86,86,86,71,71,57,57,57,71,86,86,86,86,86,71,71,57,57,57,57]}},
{name: "gunshot", midiProgram: 127, generalMidi: true, isNoise: true, midiSubharmonicOctaves: -2, settings: {"type":"spectrum","effects":"reverb","transition":"hard fade","chord":"strum","filterCutoffHz":1414,"filterResonance":29,"filterEnvelope":"twang 1","spectrum":[14,29,43,43,57,57,57,71,71,71,86,86,86,86,86,86,86,86,86,86,86,71,71,71,71,57,57,57,57,43]}},
{name: "scoot", midiProgram: 92, settings: {"type":"chip","eqFilter":[],"effects":["note filter"],"noteFilter":[{"type":"low-pass","cutoffHz":707.11,"linearGain":4}],"transition":"normal","fadeInSeconds":0.0125,"fadeOutTicks":-3,"chord":"simultaneous","wave":"double saw","unison":"shimmer","envelopes":[{"target":"noteFilterAllFreqs","envelope":"flare 1"}]}},
{name: "buzz saw", midiProgram: 30, settings: {"type":"FM","eqFilter":[{"type":"low-pass","cutoffHz":9513.66,"linearGain":0.5}],"effects":[],"transition":"normal","fadeInSeconds":0.0263,"fadeOutTicks":-3,"chord":"custom interval","algorithm":"1←2←3←4","feedbackType":"1⟲","feedbackAmplitude":4,"operators":[{"frequency":"5×","amplitude":13},{"frequency":"1×","amplitude":10},{"frequency":"~1×","amplitude":6},{"frequency":"11×","amplitude":12}],"envelopes":[]}},
{name: "mosquito", midiProgram: 93, settings: {"type":"PWM","eqFilter":[{"type":"low-pass","cutoffHz":2828.43,"linearGain":2}],"effects":["vibrato"],"vibrato":"shaky","transition":"normal","fadeInSeconds":0.0575,"fadeOutTicks":-6,"chord":"simultaneous","pulseWidth":4.41942,"envelopes":[{"target":"pulseWidth","envelope":"tremolo6"}]}},
{name: "breathing", midiProgram: 126, isNoise: true, midiSubharmonicOctaves: -1, settings: {"type":"spectrum","effects":"reverb","transition":"hard fade","chord":"harmony","filterCutoffHz":2000,"filterResonance":14,"filterEnvelope":"swell 2","spectrum":[14,14,14,29,29,29,29,29,43,29,29,43,43,43,29,29,71,43,86,86,57,100,86,86,86,86,71,86,71,57]}},
{name: "klaxon synth", midiProgram: 125, isNoise: true, midiSubharmonicOctaves: -1, settings: {"type":"noise","effects":"reverb","transition":"slide","chord":"harmony","filterCutoffHz":2000,"filterResonance":86,"filterEnvelope":"steady","wave":"buzz"}},
{name: "theremin", midiProgram: 40, settings: {"type":"harmonics","eqFilter":[{"type":"low-pass","cutoffHz":8000,"linearGain":0.7071}],"effects":["vibrato","reverb"],"vibrato":"heavy","reverb":33,"transition":"slide in pattern","fadeInSeconds":0.0263,"fadeOutTicks":-6,"chord":"simultaneous","harmonics":[100,71,57,43,29,29,14,14,14,14,14,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"unison":"none","envelopes":[]}},
{name: "sonar ping", midiProgram: 121, settings: {"type":"spectrum","eqFilter":[],"effects":["note filter","reverb"],"noteFilter":[{"type":"low-pass","cutoffHz":1681.79,"linearGain":0.5}],"reverb":33,"transition":"normal","fadeInSeconds":0.0125,"fadeOutTicks":72,"chord":"simultaneous","spectrum":[100,43,29,29,14,14,14,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"envelopes":[{"target":"noteFilterAllFreqs","envelope":"twang 2"}]}},
])},
]);
public static valueToPreset(presetValue: number): Preset | null {
const categoryIndex: number = presetValue >> 6;
const presetIndex: number = presetValue & 0x3F;
return EditorConfig.presetCategories[categoryIndex].presets[presetIndex];
}
public static midiProgramToPresetValue(program: number): number | null {
for (let categoryIndex: number = 0; categoryIndex < EditorConfig.presetCategories.length; categoryIndex++) {
const category: PresetCategory = EditorConfig.presetCategories[categoryIndex];
for (let presetIndex: number = 0; presetIndex < category.presets.length; presetIndex++) {
const preset: Preset = category.presets[presetIndex];
if (preset.generalMidi && preset.midiProgram == program) return (categoryIndex << 6) + presetIndex;
}
}
return null;
}
public static nameToPresetValue(presetName: string): number | null {
for (let categoryIndex: number = 0; categoryIndex < EditorConfig.presetCategories.length; categoryIndex++) {
const category: PresetCategory = EditorConfig.presetCategories[categoryIndex];
for (let presetIndex: number = 0; presetIndex < category.presets.length; presetIndex++) {
const preset: Preset = category.presets[presetIndex];
if (preset.name == presetName) return (categoryIndex << 6) + presetIndex;
}
}
return null;
}
}