-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpresets.js
133 lines (122 loc) · 4.36 KB
/
presets.js
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
const fs = require('fs')
const path = require('path')
const { plugins } = require('fluid-music')
const zebraletteCPopFilename = path.join(__dirname, 'presets', 'zebralette-cpop.fxp')
const zebraletteCPopFxpB64 = fs.readFileSync(zebraletteCPopFilename).toString('base64')
const zebraletteCPop2Filename = path.join(__dirname, 'presets', 'zebralette-cpop2.fxp')
const zebraletteCPop2FxpB64 = fs.readFileSync(zebraletteCPop2Filename).toString('base64')
const zebraletteCMonoFilename = path.join(__dirname, 'presets', 'zebralette-cmono.FXP')
const zebraletteCMonoFxpB64 = fs.readFileSync(zebraletteCMonoFilename).toString('base64')
const zebraletteCMonoSyncFilename = path.join(__dirname, 'presets', 'zebralette-cmono-sync.FXP')
const zebraletteCMonoSyncFxpB64 = fs.readFileSync(zebraletteCMonoSyncFilename).toString('base64')
const teq128Filename = path.join(__dirname, 'presets', 'teq-128.FXP')
const teq128B64 = fs.readFileSync(teq128Filename).toString('base64')
const teq12678Filename = path.join(__dirname, 'presets', 'teq-12678.FXP')
const teq12678B64 = fs.readFileSync(teq12678Filename).toString('base64')
const dfHallLong = path.join(__dirname, 'presets', 'dfhall-long.FXP')
const dfHallLongFxpB64 = fs.readFileSync(dfHallLong)
const dfHallShort = path.join(__dirname, 'presets', 'dfhall-short.FXP')
const dfHallShortFxpB64 = fs.readFileSync(dfHallShort)
module.exports = {
zebralette: {
/** @param params {import('fluid-music').plugins.ZebraletteVst2Parameters} */
cPop(params) {
const zebralette = new plugins.ZebraletteVst2()
zebralette.vst2.presetBase64 = zebraletteCPopFxpB64
if (params) zebralette.parameters = params
return zebralette
},
/** @param params {import('fluid-music').plugins.ZebraletteVst2Parameters} */
cPop2(params) {
const zebralette = new plugins.ZebraletteVst2()
zebralette.vst2.presetBase64 = zebraletteCPop2FxpB64
if (params) zebralette.parameters = params
return zebralette
},
cMono(params) {
const zebralette = new plugins.ZebraletteVst2()
zebralette.vst2.presetBase64 = zebraletteCMonoFxpB64
if (params) zebralette.parameters = params
return zebralette
},
cMonoSync(params) {
const zebralette = new plugins.ZebraletteVst2()
zebralette.vst2.presetBase64 = zebraletteCMonoSyncFxpB64
if (params) zebralette.parameters = params
return zebralette
},
automationTechnique: {
cMonoSyncBase() {
return [
plugins.ZebraletteVst2.makeAutomation.osc1SpectraFX2ValPercent(-85),
plugins.ZebraletteVst2.makeAutomation.osc1SyncTune(12.82),
]
}
},
},
dragonflyHall: {
long(params) {
const plugin = new plugins.DragonflyHallVst2(params)
plugin.vst2.presetBase64 = dfHallLongFxpB64
return plugin
},
short(params) {
const plugin = new plugins.DragonflyHallVst2(params)
plugin.vst2.presetBase64 = dfHallShortFxpB64
return plugin
},
},
tStereoDelay: {
sixteenth(bpm) {
const plugin = new plugins.TStereoDelayVst2({ ...tStereoDelayBase })
plugin.parameters.lDelayMs = 60000 / bpm / 4
plugin.parameters.rDelayMs = (60000 / bpm / 4) + 1.5
return plugin
},
stereo8and16(bpm) {
const plugin = new plugins.TStereoDelayVst2({ ...tStereoDelayBase })
plugin.parameters.lDelayMs = 60000 / bpm / 2
plugin.parameters.rDelayMs = 60000 / bpm / 4
return plugin
}
},
tEqualizer: {
/**
* A zeroed equalizer plugin with three bands enabled
* - Band 1: 80 hz low shelf
* - Band 2: 300 hz peak notch
* - Band 8: 4000 hz high shelf
*/
zero128() {
const plugin = new plugins.TEqualizerVst2()
plugin.vst2.presetBase64 = teq128B64
return plugin
},
/**
* A zeroed equalizer plugin with five bands enabled
* - Band 1: 80 hz low shelf
* - Band 2: 300 hz peak notch
* - Band 6: 1000 hz peak notch
* - Band 7: 2500 hz peak notch
* - Band 8: 4000 hz high shelf
*/
zero12678() {
const plugin = new plugins.TEqualizerVst2()
plugin.vst2.presetBase64 = teq12678B64
return plugin
},
}
}
const tStereoDelayBase = {
dryDb: -50,
wetDb: 0,
sync: 0,
lFeedbackPercent: 54,
rFeedbackPercent: 54,
lCrossFbPercent: 12,
rCrossFbPercent: 12,
lLowCutHz: 200,
rLowCutHz: 200,
lHighCutHz: 9000,
rHighCutHz: 11000,
}