@libraz/libsonare 1.2.0 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -4
- package/dist/index.d.ts +728 -284
- package/dist/index.js +712 -122
- package/dist/index.js.map +1 -1
- package/dist/sonare-rt.wasm +0 -0
- package/dist/sonare.js +1 -1
- package/dist/sonare.wasm +0 -0
- package/dist/worklet.d.ts +61 -2
- package/dist/worklet.js +371 -9
- package/dist/worklet.js.map +1 -1
- package/package.json +6 -6
- package/src/index.ts +1666 -305
- package/src/public_types.ts +71 -0
- package/src/sonare.js.d.ts +508 -78
- package/src/worklet.ts +295 -9
- package/src/wasm_types.ts +0 -1248
package/src/sonare.js.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Type declarations for the Emscripten-generated WASM module with embind
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
interface SonareModuleOptions {
|
|
5
|
+
export interface SonareModuleOptions {
|
|
6
6
|
locateFile?: (path: string, prefix: string) => string;
|
|
7
7
|
onRuntimeInitialized?: () => void;
|
|
8
8
|
print?: (text: string) => void;
|
|
@@ -10,7 +10,7 @@ interface SonareModuleOptions {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
// Result types
|
|
13
|
-
interface WasmKeyResult {
|
|
13
|
+
export interface WasmKeyResult {
|
|
14
14
|
root: number;
|
|
15
15
|
mode: number;
|
|
16
16
|
confidence: number;
|
|
@@ -18,17 +18,56 @@ interface WasmKeyResult {
|
|
|
18
18
|
shortName: string;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
interface WasmKeyCandidateResult {
|
|
21
|
+
export interface WasmKeyCandidateResult {
|
|
22
22
|
key: WasmKeyResult;
|
|
23
23
|
correlation: number;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
// Flat POD mirror of SonareRealtimeVoiceChangerConfig. Field names match the
|
|
27
|
+
// C ABI / Python POD exactly (snake_case).
|
|
28
|
+
export interface WasmRealtimeVoiceChangerPodConfig {
|
|
29
|
+
input_gain_db: number;
|
|
30
|
+
output_gain_db: number;
|
|
31
|
+
wet_mix: number;
|
|
32
|
+
retune_semitones: number;
|
|
33
|
+
retune_mix: number;
|
|
34
|
+
retune_grain_size: number;
|
|
35
|
+
formant_factor: number;
|
|
36
|
+
formant_amount: number;
|
|
37
|
+
formant_body: number;
|
|
38
|
+
formant_brightness: number;
|
|
39
|
+
formant_nasal: number;
|
|
40
|
+
eq_highpass_hz: number;
|
|
41
|
+
eq_body_db: number;
|
|
42
|
+
eq_presence_db: number;
|
|
43
|
+
eq_air_db: number;
|
|
44
|
+
gate_threshold_db: number;
|
|
45
|
+
gate_attack_ms: number;
|
|
46
|
+
gate_release_ms: number;
|
|
47
|
+
gate_range_db: number;
|
|
48
|
+
compressor_threshold_db: number;
|
|
49
|
+
compressor_ratio: number;
|
|
50
|
+
compressor_attack_ms: number;
|
|
51
|
+
compressor_release_ms: number;
|
|
52
|
+
compressor_makeup_gain_db: number;
|
|
53
|
+
deesser_frequency_hz: number;
|
|
54
|
+
deesser_threshold_db: number;
|
|
55
|
+
deesser_ratio: number;
|
|
56
|
+
deesser_range_db: number;
|
|
57
|
+
reverb_mix: number;
|
|
58
|
+
reverb_time_ms: number;
|
|
59
|
+
reverb_damping: number;
|
|
60
|
+
reverb_seed: number;
|
|
61
|
+
limiter_ceiling_db: number;
|
|
62
|
+
limiter_release_ms: number;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export interface WasmBeatResult {
|
|
27
66
|
time: number;
|
|
28
67
|
strength: number;
|
|
29
68
|
}
|
|
30
69
|
|
|
31
|
-
interface WasmChordResult {
|
|
70
|
+
export interface WasmChordResult {
|
|
32
71
|
root: number;
|
|
33
72
|
bass: number;
|
|
34
73
|
quality: number;
|
|
@@ -38,7 +77,7 @@ interface WasmChordResult {
|
|
|
38
77
|
name: string;
|
|
39
78
|
}
|
|
40
79
|
|
|
41
|
-
interface WasmSectionResult {
|
|
80
|
+
export interface WasmSectionResult {
|
|
42
81
|
type: number;
|
|
43
82
|
start: number;
|
|
44
83
|
end: number;
|
|
@@ -47,7 +86,7 @@ interface WasmSectionResult {
|
|
|
47
86
|
name: string;
|
|
48
87
|
}
|
|
49
88
|
|
|
50
|
-
interface WasmTimbreResult {
|
|
89
|
+
export interface WasmTimbreResult {
|
|
51
90
|
brightness: number;
|
|
52
91
|
warmth: number;
|
|
53
92
|
density: number;
|
|
@@ -55,26 +94,26 @@ interface WasmTimbreResult {
|
|
|
55
94
|
complexity: number;
|
|
56
95
|
}
|
|
57
96
|
|
|
58
|
-
interface WasmDynamicsResult {
|
|
97
|
+
export interface WasmDynamicsResult {
|
|
59
98
|
dynamicRangeDb: number;
|
|
60
99
|
loudnessRangeDb: number;
|
|
61
100
|
crestFactor: number;
|
|
62
101
|
isCompressed: boolean;
|
|
63
102
|
}
|
|
64
103
|
|
|
65
|
-
interface WasmRhythmResult {
|
|
104
|
+
export interface WasmRhythmResult {
|
|
66
105
|
syncopation: number;
|
|
67
106
|
grooveType: string;
|
|
68
107
|
patternRegularity: number;
|
|
69
108
|
}
|
|
70
109
|
|
|
71
|
-
interface WasmTimeSignatureResult {
|
|
110
|
+
export interface WasmTimeSignatureResult {
|
|
72
111
|
numerator: number;
|
|
73
112
|
denominator: number;
|
|
74
113
|
confidence: number;
|
|
75
114
|
}
|
|
76
115
|
|
|
77
|
-
interface WasmAnalysisResult {
|
|
116
|
+
export interface WasmAnalysisResult {
|
|
78
117
|
bpm: number;
|
|
79
118
|
bpmConfidence: number;
|
|
80
119
|
key: WasmKeyResult;
|
|
@@ -88,11 +127,65 @@ interface WasmAnalysisResult {
|
|
|
88
127
|
form: string;
|
|
89
128
|
}
|
|
90
129
|
|
|
91
|
-
interface
|
|
130
|
+
export interface WasmBpmCandidate {
|
|
131
|
+
bpm: number;
|
|
132
|
+
confidence: number;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export interface WasmBpmAnalysisResult {
|
|
136
|
+
bpm: number;
|
|
137
|
+
confidence: number;
|
|
138
|
+
candidates: WasmBpmCandidate[];
|
|
139
|
+
autocorrelation: Float32Array;
|
|
140
|
+
tempogram: Float32Array;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export interface WasmRhythmAnalysisResult {
|
|
144
|
+
timeSignature: WasmTimeSignatureResult;
|
|
145
|
+
syncopation: number;
|
|
146
|
+
grooveType: string;
|
|
147
|
+
patternRegularity: number;
|
|
148
|
+
tempoStability: number;
|
|
149
|
+
bpm: number;
|
|
150
|
+
beatIntervals: Float32Array;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export interface WasmDynamicsAnalysisResult {
|
|
154
|
+
dynamicRangeDb: number;
|
|
155
|
+
peakDb: number;
|
|
156
|
+
rmsDb: number;
|
|
157
|
+
crestFactor: number;
|
|
158
|
+
loudnessRangeDb: number;
|
|
159
|
+
isCompressed: boolean;
|
|
160
|
+
loudnessTimes: Float32Array;
|
|
161
|
+
loudnessRmsDb: Float32Array;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export interface WasmTimbreFrameResult {
|
|
165
|
+
brightness: number;
|
|
166
|
+
warmth: number;
|
|
167
|
+
density: number;
|
|
168
|
+
roughness: number;
|
|
169
|
+
complexity: number;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
export interface WasmTimbreAnalysisResult {
|
|
173
|
+
brightness: number;
|
|
174
|
+
warmth: number;
|
|
175
|
+
density: number;
|
|
176
|
+
roughness: number;
|
|
177
|
+
complexity: number;
|
|
178
|
+
spectralCentroid: Float32Array;
|
|
179
|
+
spectralFlatness: Float32Array;
|
|
180
|
+
spectralRolloff: Float32Array;
|
|
181
|
+
timbreOverTime: WasmTimbreFrameResult[];
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
export interface WasmChordAnalysisResult {
|
|
92
185
|
chords: WasmChordResult[];
|
|
93
186
|
}
|
|
94
187
|
|
|
95
|
-
interface WasmAcousticResult {
|
|
188
|
+
export interface WasmAcousticResult {
|
|
96
189
|
rt60: number;
|
|
97
190
|
edt: number;
|
|
98
191
|
c50: number;
|
|
@@ -106,13 +199,32 @@ interface WasmAcousticResult {
|
|
|
106
199
|
isBlind: boolean;
|
|
107
200
|
}
|
|
108
201
|
|
|
109
|
-
interface WasmHpssResult {
|
|
202
|
+
export interface WasmHpssResult {
|
|
203
|
+
harmonic: Float32Array;
|
|
204
|
+
percussive: Float32Array;
|
|
205
|
+
sampleRate: number;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
export interface WasmHpssWithResidualResult {
|
|
110
209
|
harmonic: Float32Array;
|
|
111
210
|
percussive: Float32Array;
|
|
211
|
+
residual: Float32Array;
|
|
112
212
|
sampleRate: number;
|
|
113
213
|
}
|
|
114
214
|
|
|
115
|
-
|
|
215
|
+
/** Row-major 2-D matrix as a flat buffer plus its dimensions. */
|
|
216
|
+
export interface WasmMatrix2dResult {
|
|
217
|
+
data: Float32Array;
|
|
218
|
+
rows: number;
|
|
219
|
+
cols: number;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
export interface WasmDecomposeResult {
|
|
223
|
+
w: Float32Array;
|
|
224
|
+
h: Float32Array;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
export interface WasmStftResult {
|
|
116
228
|
nBins: number;
|
|
117
229
|
nFrames: number;
|
|
118
230
|
nFft: number;
|
|
@@ -122,13 +234,13 @@ interface WasmStftResult {
|
|
|
122
234
|
power: Float32Array;
|
|
123
235
|
}
|
|
124
236
|
|
|
125
|
-
interface WasmStftDbResult {
|
|
237
|
+
export interface WasmStftDbResult {
|
|
126
238
|
nBins: number;
|
|
127
239
|
nFrames: number;
|
|
128
240
|
db: Float32Array;
|
|
129
241
|
}
|
|
130
242
|
|
|
131
|
-
interface WasmMelResult {
|
|
243
|
+
export interface WasmMelResult {
|
|
132
244
|
nMels: number;
|
|
133
245
|
nFrames: number;
|
|
134
246
|
sampleRate: number;
|
|
@@ -137,25 +249,25 @@ interface WasmMelResult {
|
|
|
137
249
|
db: Float32Array;
|
|
138
250
|
}
|
|
139
251
|
|
|
140
|
-
interface WasmMfccResult {
|
|
252
|
+
export interface WasmMfccResult {
|
|
141
253
|
nMfcc: number;
|
|
142
254
|
nFrames: number;
|
|
143
255
|
coefficients: Float32Array;
|
|
144
256
|
}
|
|
145
257
|
|
|
146
|
-
interface WasmStftPowerResult {
|
|
258
|
+
export interface WasmStftPowerResult {
|
|
147
259
|
nBins: number;
|
|
148
260
|
nFrames: number;
|
|
149
261
|
power: Float32Array;
|
|
150
262
|
}
|
|
151
263
|
|
|
152
|
-
interface WasmMelPowerResult {
|
|
264
|
+
export interface WasmMelPowerResult {
|
|
153
265
|
nMels: number;
|
|
154
266
|
nFrames: number;
|
|
155
267
|
power: Float32Array;
|
|
156
268
|
}
|
|
157
269
|
|
|
158
|
-
interface WasmChromaResult {
|
|
270
|
+
export interface WasmChromaResult {
|
|
159
271
|
nChroma: number;
|
|
160
272
|
nFrames: number;
|
|
161
273
|
sampleRate: number;
|
|
@@ -164,7 +276,7 @@ interface WasmChromaResult {
|
|
|
164
276
|
meanEnergy: number[];
|
|
165
277
|
}
|
|
166
278
|
|
|
167
|
-
interface WasmPitchResult {
|
|
279
|
+
export interface WasmPitchResult {
|
|
168
280
|
f0: Float32Array;
|
|
169
281
|
voicedProb: Float32Array;
|
|
170
282
|
voicedFlag: boolean[];
|
|
@@ -173,48 +285,48 @@ interface WasmPitchResult {
|
|
|
173
285
|
meanF0: number;
|
|
174
286
|
}
|
|
175
287
|
|
|
176
|
-
interface WasmTrimResult {
|
|
288
|
+
export interface WasmTrimResult {
|
|
177
289
|
audio: Float32Array;
|
|
178
290
|
startSample: number;
|
|
179
291
|
endSample: number;
|
|
180
292
|
}
|
|
181
293
|
|
|
182
|
-
interface WasmFrameResult {
|
|
294
|
+
export interface WasmFrameResult {
|
|
183
295
|
nFrames: number;
|
|
184
296
|
frames: Float32Array;
|
|
185
297
|
}
|
|
186
298
|
|
|
187
|
-
interface WasmTempogramResult {
|
|
299
|
+
export interface WasmTempogramResult {
|
|
188
300
|
nFrames: number;
|
|
189
301
|
winLength: number;
|
|
190
302
|
data: Float32Array;
|
|
191
303
|
}
|
|
192
304
|
|
|
193
|
-
interface WasmCyclicTempogramResult {
|
|
305
|
+
export interface WasmCyclicTempogramResult {
|
|
194
306
|
nFrames: number;
|
|
195
307
|
nBins: number;
|
|
196
308
|
data: Float32Array;
|
|
197
309
|
}
|
|
198
310
|
|
|
199
|
-
interface WasmFourierTempogramResult {
|
|
311
|
+
export interface WasmFourierTempogramResult {
|
|
200
312
|
nBins: number;
|
|
201
313
|
nFrames: number;
|
|
202
314
|
data: Float32Array;
|
|
203
315
|
}
|
|
204
316
|
|
|
205
|
-
interface WasmNnlsChromaResult {
|
|
317
|
+
export interface WasmNnlsChromaResult {
|
|
206
318
|
nChroma: number;
|
|
207
319
|
nFrames: number;
|
|
208
320
|
data: Float32Array;
|
|
209
321
|
}
|
|
210
322
|
|
|
211
|
-
interface WasmMelodyPoint {
|
|
323
|
+
export interface WasmMelodyPoint {
|
|
212
324
|
time: number;
|
|
213
325
|
frequency: number;
|
|
214
326
|
confidence: number;
|
|
215
327
|
}
|
|
216
328
|
|
|
217
|
-
interface WasmMelodyResult {
|
|
329
|
+
export interface WasmMelodyResult {
|
|
218
330
|
points: WasmMelodyPoint[];
|
|
219
331
|
pitchRangeOctaves: number;
|
|
220
332
|
pitchStability: number;
|
|
@@ -222,7 +334,7 @@ interface WasmMelodyResult {
|
|
|
222
334
|
vibratoRate: number;
|
|
223
335
|
}
|
|
224
336
|
|
|
225
|
-
interface WasmCqtResult {
|
|
337
|
+
export interface WasmCqtResult {
|
|
226
338
|
nBins: number;
|
|
227
339
|
nFrames: number;
|
|
228
340
|
hopLength: number;
|
|
@@ -231,14 +343,14 @@ interface WasmCqtResult {
|
|
|
231
343
|
frequencies: Float32Array;
|
|
232
344
|
}
|
|
233
345
|
|
|
234
|
-
interface WasmLufsResult {
|
|
346
|
+
export interface WasmLufsResult {
|
|
235
347
|
integratedLufs: number;
|
|
236
348
|
momentaryLufs: number;
|
|
237
349
|
shortTermLufs: number;
|
|
238
350
|
loudnessRange: number;
|
|
239
351
|
}
|
|
240
352
|
|
|
241
|
-
interface WasmMasteringResult {
|
|
353
|
+
export interface WasmMasteringResult {
|
|
242
354
|
samples: Float32Array;
|
|
243
355
|
sampleRate: number;
|
|
244
356
|
inputLufs: number;
|
|
@@ -247,11 +359,11 @@ interface WasmMasteringResult {
|
|
|
247
359
|
latencySamples?: number;
|
|
248
360
|
}
|
|
249
361
|
|
|
250
|
-
interface WasmMasteringChainResult extends WasmMasteringResult {
|
|
362
|
+
export interface WasmMasteringChainResult extends WasmMasteringResult {
|
|
251
363
|
stages: string[];
|
|
252
364
|
}
|
|
253
365
|
|
|
254
|
-
interface WasmMasteringStereoChainResult {
|
|
366
|
+
export interface WasmMasteringStereoChainResult {
|
|
255
367
|
left: Float32Array;
|
|
256
368
|
right: Float32Array;
|
|
257
369
|
sampleRate: number;
|
|
@@ -261,7 +373,7 @@ interface WasmMasteringStereoChainResult {
|
|
|
261
373
|
stages: string[];
|
|
262
374
|
}
|
|
263
375
|
|
|
264
|
-
interface WasmMasteringStereoResult {
|
|
376
|
+
export interface WasmMasteringStereoResult {
|
|
265
377
|
left: Float32Array;
|
|
266
378
|
right: Float32Array;
|
|
267
379
|
sampleRate: number;
|
|
@@ -271,7 +383,7 @@ interface WasmMasteringStereoResult {
|
|
|
271
383
|
latencySamples: number;
|
|
272
384
|
}
|
|
273
385
|
|
|
274
|
-
interface WasmMixMeterSnapshot {
|
|
386
|
+
export interface WasmMixMeterSnapshot {
|
|
275
387
|
peakDbL: number;
|
|
276
388
|
peakDbR: number;
|
|
277
389
|
rmsDbL: number;
|
|
@@ -291,14 +403,14 @@ interface WasmMixMeterSnapshot {
|
|
|
291
403
|
seq: number;
|
|
292
404
|
}
|
|
293
405
|
|
|
294
|
-
interface WasmMixResult {
|
|
406
|
+
export interface WasmMixResult {
|
|
295
407
|
left: Float32Array;
|
|
296
408
|
right: Float32Array;
|
|
297
409
|
sampleRate: number;
|
|
298
410
|
meters: WasmMixMeterSnapshot[];
|
|
299
411
|
}
|
|
300
412
|
|
|
301
|
-
interface WasmEngineClip {
|
|
413
|
+
export interface WasmEngineClip {
|
|
302
414
|
id?: number;
|
|
303
415
|
channels: Float32Array[];
|
|
304
416
|
startPpq: number;
|
|
@@ -310,7 +422,7 @@ interface WasmEngineClip {
|
|
|
310
422
|
fadeOutSamples?: number;
|
|
311
423
|
}
|
|
312
424
|
|
|
313
|
-
interface WasmEngineParameterInfo {
|
|
425
|
+
export interface WasmEngineParameterInfo {
|
|
314
426
|
id: number;
|
|
315
427
|
name: string;
|
|
316
428
|
unit: string;
|
|
@@ -321,33 +433,33 @@ interface WasmEngineParameterInfo {
|
|
|
321
433
|
defaultCurve: number;
|
|
322
434
|
}
|
|
323
435
|
|
|
324
|
-
interface WasmEngineAutomationPoint {
|
|
436
|
+
export interface WasmEngineAutomationPoint {
|
|
325
437
|
ppq: number;
|
|
326
438
|
value: number;
|
|
327
439
|
curveToNext?: number;
|
|
328
440
|
}
|
|
329
441
|
|
|
330
|
-
interface WasmEngineMarker {
|
|
442
|
+
export interface WasmEngineMarker {
|
|
331
443
|
id: number;
|
|
332
444
|
ppq: number;
|
|
333
445
|
name?: string;
|
|
334
446
|
}
|
|
335
447
|
|
|
336
|
-
interface WasmEngineMetronomeConfig {
|
|
448
|
+
export interface WasmEngineMetronomeConfig {
|
|
337
449
|
enabled: boolean;
|
|
338
450
|
beatGain?: number;
|
|
339
451
|
accentGain?: number;
|
|
340
452
|
clickSamples?: number;
|
|
341
453
|
}
|
|
342
454
|
|
|
343
|
-
interface WasmEngineGraphNode {
|
|
455
|
+
export interface WasmEngineGraphNode {
|
|
344
456
|
id: string;
|
|
345
457
|
type?: number;
|
|
346
458
|
gainDb?: number;
|
|
347
459
|
numPorts?: number;
|
|
348
460
|
}
|
|
349
461
|
|
|
350
|
-
interface WasmEngineGraphConnection {
|
|
462
|
+
export interface WasmEngineGraphConnection {
|
|
351
463
|
sourceNode: string;
|
|
352
464
|
sourcePort: number;
|
|
353
465
|
destNode: string;
|
|
@@ -355,12 +467,12 @@ interface WasmEngineGraphConnection {
|
|
|
355
467
|
mix?: number;
|
|
356
468
|
}
|
|
357
469
|
|
|
358
|
-
interface WasmEngineGraphParameterBinding {
|
|
470
|
+
export interface WasmEngineGraphParameterBinding {
|
|
359
471
|
paramId: number;
|
|
360
472
|
nodeId: string;
|
|
361
473
|
}
|
|
362
474
|
|
|
363
|
-
interface WasmEngineGraphSpec {
|
|
475
|
+
export interface WasmEngineGraphSpec {
|
|
364
476
|
nodes: WasmEngineGraphNode[];
|
|
365
477
|
connections: WasmEngineGraphConnection[];
|
|
366
478
|
inputNode: string;
|
|
@@ -369,7 +481,7 @@ interface WasmEngineGraphSpec {
|
|
|
369
481
|
parameterBindings?: WasmEngineGraphParameterBinding[];
|
|
370
482
|
}
|
|
371
483
|
|
|
372
|
-
interface WasmEngineTelemetry {
|
|
484
|
+
export interface WasmEngineTelemetry {
|
|
373
485
|
type: number;
|
|
374
486
|
error: number;
|
|
375
487
|
renderFrame: number;
|
|
@@ -379,7 +491,7 @@ interface WasmEngineTelemetry {
|
|
|
379
491
|
value: number;
|
|
380
492
|
}
|
|
381
493
|
|
|
382
|
-
interface WasmEngineMeterTelemetry {
|
|
494
|
+
export interface WasmEngineMeterTelemetry {
|
|
383
495
|
targetId: number;
|
|
384
496
|
renderFrame: number;
|
|
385
497
|
seq: number;
|
|
@@ -399,14 +511,14 @@ interface WasmEngineMeterTelemetry {
|
|
|
399
511
|
droppedRecords: number;
|
|
400
512
|
}
|
|
401
513
|
|
|
402
|
-
interface WasmEngineCaptureStatus {
|
|
514
|
+
export interface WasmEngineCaptureStatus {
|
|
403
515
|
capturedFrames: number;
|
|
404
516
|
overflowCount: number;
|
|
405
517
|
armed: boolean;
|
|
406
518
|
punchEnabled: boolean;
|
|
407
519
|
}
|
|
408
520
|
|
|
409
|
-
interface WasmEngineTransportState {
|
|
521
|
+
export interface WasmEngineTransportState {
|
|
410
522
|
playing: boolean;
|
|
411
523
|
looping: boolean;
|
|
412
524
|
renderFrame: number;
|
|
@@ -418,7 +530,7 @@ interface WasmEngineTransportState {
|
|
|
418
530
|
sampleRate: number;
|
|
419
531
|
}
|
|
420
532
|
|
|
421
|
-
interface WasmEngineBounceOptions {
|
|
533
|
+
export interface WasmEngineBounceOptions {
|
|
422
534
|
totalFrames: number;
|
|
423
535
|
blockSize?: number;
|
|
424
536
|
numChannels?: number;
|
|
@@ -431,7 +543,7 @@ interface WasmEngineBounceOptions {
|
|
|
431
543
|
ditherSeed?: number;
|
|
432
544
|
}
|
|
433
545
|
|
|
434
|
-
interface WasmEngineBounceResult {
|
|
546
|
+
export interface WasmEngineBounceResult {
|
|
435
547
|
interleaved: Float32Array;
|
|
436
548
|
frames: number;
|
|
437
549
|
numChannels: number;
|
|
@@ -439,7 +551,7 @@ interface WasmEngineBounceResult {
|
|
|
439
551
|
integratedLufs: number;
|
|
440
552
|
}
|
|
441
553
|
|
|
442
|
-
interface WasmEngineFreezeOptions {
|
|
554
|
+
export interface WasmEngineFreezeOptions {
|
|
443
555
|
totalFrames: number;
|
|
444
556
|
blockSize?: number;
|
|
445
557
|
numChannels?: number;
|
|
@@ -448,18 +560,18 @@ interface WasmEngineFreezeOptions {
|
|
|
448
560
|
gain?: number;
|
|
449
561
|
}
|
|
450
562
|
|
|
451
|
-
interface WasmEngineFreezeResult {
|
|
563
|
+
export interface WasmEngineFreezeResult {
|
|
452
564
|
clipId: number;
|
|
453
565
|
frames: number;
|
|
454
566
|
numChannels: number;
|
|
455
567
|
}
|
|
456
568
|
|
|
457
|
-
interface WasmEngineProcessWithMonitorResult {
|
|
569
|
+
export interface WasmEngineProcessWithMonitorResult {
|
|
458
570
|
output: Float32Array[];
|
|
459
571
|
monitor: Float32Array[];
|
|
460
572
|
}
|
|
461
573
|
|
|
462
|
-
interface WasmRealtimeEngine {
|
|
574
|
+
export interface WasmRealtimeEngine {
|
|
463
575
|
prepare: (
|
|
464
576
|
sampleRate: number,
|
|
465
577
|
maxBlockSize: number,
|
|
@@ -512,10 +624,10 @@ interface WasmRealtimeEngine {
|
|
|
512
624
|
delete: () => void;
|
|
513
625
|
}
|
|
514
626
|
|
|
515
|
-
type ProgressCallback = (progress: number, stage: string) => void;
|
|
516
|
-
type TempogramMode = 'autocorrelation' | 'auto' | 'ac' | 'cosine' | 0 | 1;
|
|
627
|
+
export type ProgressCallback = (progress: number, stage: string) => void;
|
|
628
|
+
export type TempogramMode = 'autocorrelation' | 'auto' | 'ac' | 'cosine' | 0 | 1;
|
|
517
629
|
|
|
518
|
-
interface SonareModule {
|
|
630
|
+
export interface SonareModule {
|
|
519
631
|
// Quick API (high-level)
|
|
520
632
|
detectBpm: (samples: Float32Array, sampleRate: number) => number;
|
|
521
633
|
detectKey: (samples: Float32Array, sampleRate: number) => WasmKeyResult;
|
|
@@ -583,8 +695,139 @@ interface SonareModule {
|
|
|
583
695
|
sampleRate: number,
|
|
584
696
|
progressCallback: ProgressCallback | null,
|
|
585
697
|
) => WasmAnalysisResult;
|
|
698
|
+
analyzeBpm: (
|
|
699
|
+
samples: Float32Array,
|
|
700
|
+
sampleRate: number,
|
|
701
|
+
bpmMin: number,
|
|
702
|
+
bpmMax: number,
|
|
703
|
+
startBpm: number,
|
|
704
|
+
nFft: number,
|
|
705
|
+
hopLength: number,
|
|
706
|
+
maxCandidates: number,
|
|
707
|
+
) => WasmBpmAnalysisResult;
|
|
708
|
+
analyzeRhythm: (
|
|
709
|
+
samples: Float32Array,
|
|
710
|
+
sampleRate: number,
|
|
711
|
+
bpmMin: number,
|
|
712
|
+
bpmMax: number,
|
|
713
|
+
startBpm: number,
|
|
714
|
+
nFft: number,
|
|
715
|
+
hopLength: number,
|
|
716
|
+
) => WasmRhythmAnalysisResult;
|
|
717
|
+
analyzeDynamics: (
|
|
718
|
+
samples: Float32Array,
|
|
719
|
+
sampleRate: number,
|
|
720
|
+
windowSec: number,
|
|
721
|
+
hopLength: number,
|
|
722
|
+
compressionThreshold: number,
|
|
723
|
+
) => WasmDynamicsAnalysisResult;
|
|
724
|
+
analyzeTimbre: (
|
|
725
|
+
samples: Float32Array,
|
|
726
|
+
sampleRate: number,
|
|
727
|
+
nFft: number,
|
|
728
|
+
hopLength: number,
|
|
729
|
+
nMels: number,
|
|
730
|
+
nMfcc: number,
|
|
731
|
+
windowSec: number,
|
|
732
|
+
) => WasmTimbreAnalysisResult;
|
|
733
|
+
detectKeyCandidates: (samples: Float32Array, sampleRate: number) => WasmKeyCandidateResult[];
|
|
734
|
+
hasFfmpegSupport: () => boolean;
|
|
586
735
|
version: () => string;
|
|
587
736
|
engineAbiVersion: () => number;
|
|
737
|
+
voiceChangerAbiVersion: () => number;
|
|
738
|
+
voiceCharacterPresetId: (preset: number) => string | null;
|
|
739
|
+
realtimeVoiceChangerPresetConfig: (preset: number) => WasmRealtimeVoiceChangerPodConfig | null;
|
|
740
|
+
|
|
741
|
+
meteringPeakDb: (samples: Float32Array, sampleRate: number) => number;
|
|
742
|
+
meteringRmsDb: (samples: Float32Array, sampleRate: number) => number;
|
|
743
|
+
meteringCrestFactorDb: (samples: Float32Array, sampleRate: number) => number;
|
|
744
|
+
meteringDcOffset: (samples: Float32Array, sampleRate: number) => number;
|
|
745
|
+
meteringTruePeakDb: (
|
|
746
|
+
samples: Float32Array,
|
|
747
|
+
sampleRate: number,
|
|
748
|
+
oversampleFactor: number,
|
|
749
|
+
) => number;
|
|
750
|
+
meteringDetectClipping: (
|
|
751
|
+
samples: Float32Array,
|
|
752
|
+
sampleRate: number,
|
|
753
|
+
threshold: number,
|
|
754
|
+
minRegionSamples: number,
|
|
755
|
+
) => {
|
|
756
|
+
clippedSamples: number;
|
|
757
|
+
clippingRatio: number;
|
|
758
|
+
maxClippedPeak: number;
|
|
759
|
+
regions: Array<{ startSample: number; endSample: number; length: number; peak: number }>;
|
|
760
|
+
};
|
|
761
|
+
meteringDynamicRange: (
|
|
762
|
+
samples: Float32Array,
|
|
763
|
+
sampleRate: number,
|
|
764
|
+
windowSec: number,
|
|
765
|
+
hopSec: number,
|
|
766
|
+
lowPercentile: number,
|
|
767
|
+
highPercentile: number,
|
|
768
|
+
) => {
|
|
769
|
+
dynamicRangeDb: number;
|
|
770
|
+
lowPercentileDb: number;
|
|
771
|
+
highPercentileDb: number;
|
|
772
|
+
windowRmsDb: Float32Array;
|
|
773
|
+
};
|
|
774
|
+
|
|
775
|
+
meteringStereoCorrelation: (
|
|
776
|
+
left: Float32Array,
|
|
777
|
+
right: Float32Array,
|
|
778
|
+
sampleRate: number,
|
|
779
|
+
) => number;
|
|
780
|
+
meteringStereoWidth: (left: Float32Array, right: Float32Array, sampleRate: number) => number;
|
|
781
|
+
meteringVectorscope: (
|
|
782
|
+
left: Float32Array,
|
|
783
|
+
right: Float32Array,
|
|
784
|
+
sampleRate: number,
|
|
785
|
+
) => { mid: Float32Array; side: Float32Array };
|
|
786
|
+
meteringPhaseScope: (
|
|
787
|
+
left: Float32Array,
|
|
788
|
+
right: Float32Array,
|
|
789
|
+
sampleRate: number,
|
|
790
|
+
) => {
|
|
791
|
+
mid: Float32Array;
|
|
792
|
+
side: Float32Array;
|
|
793
|
+
radius: Float32Array;
|
|
794
|
+
angleRad: Float32Array;
|
|
795
|
+
correlation: number;
|
|
796
|
+
averageAbsAngleRad: number;
|
|
797
|
+
maxRadius: number;
|
|
798
|
+
};
|
|
799
|
+
meteringSpectrum: (
|
|
800
|
+
samples: Float32Array,
|
|
801
|
+
sampleRate: number,
|
|
802
|
+
options: {
|
|
803
|
+
nFft?: number;
|
|
804
|
+
applyOctaveSmoothing?: boolean;
|
|
805
|
+
octaveFraction?: number;
|
|
806
|
+
dbRef?: number;
|
|
807
|
+
dbAmin?: number;
|
|
808
|
+
},
|
|
809
|
+
) => {
|
|
810
|
+
frequencies: Float32Array;
|
|
811
|
+
magnitude: Float32Array;
|
|
812
|
+
power: Float32Array;
|
|
813
|
+
db: Float32Array;
|
|
814
|
+
nFft: number;
|
|
815
|
+
sampleRate: number;
|
|
816
|
+
};
|
|
817
|
+
|
|
818
|
+
scaleQuantizeMidi: (
|
|
819
|
+
root: number,
|
|
820
|
+
modeMask: number,
|
|
821
|
+
midi: number,
|
|
822
|
+
referenceMidi: number,
|
|
823
|
+
) => number;
|
|
824
|
+
scaleCorrectionSemitones: (
|
|
825
|
+
root: number,
|
|
826
|
+
modeMask: number,
|
|
827
|
+
midi: number,
|
|
828
|
+
referenceMidi: number,
|
|
829
|
+
) => number;
|
|
830
|
+
scalePitchClassEnabled: (root: number, modeMask: number, pitchClass: number) => boolean;
|
|
588
831
|
|
|
589
832
|
// Effects
|
|
590
833
|
hpss: (
|
|
@@ -593,6 +836,41 @@ interface SonareModule {
|
|
|
593
836
|
kernelHarmonic: number,
|
|
594
837
|
kernelPercussive: number,
|
|
595
838
|
) => WasmHpssResult;
|
|
839
|
+
hpssWithResidual: (
|
|
840
|
+
samples: Float32Array,
|
|
841
|
+
sampleRate: number,
|
|
842
|
+
kernelHarmonic: number,
|
|
843
|
+
kernelPercussive: number,
|
|
844
|
+
) => WasmHpssWithResidualResult;
|
|
845
|
+
decompose: (
|
|
846
|
+
s: Float32Array,
|
|
847
|
+
nFeatures: number,
|
|
848
|
+
nFrames: number,
|
|
849
|
+
nComponents: number,
|
|
850
|
+
nIter: number,
|
|
851
|
+
beta: number,
|
|
852
|
+
) => WasmDecomposeResult;
|
|
853
|
+
nnFilter: (
|
|
854
|
+
s: Float32Array,
|
|
855
|
+
nFeatures: number,
|
|
856
|
+
nFrames: number,
|
|
857
|
+
aggregate: string,
|
|
858
|
+
k: number,
|
|
859
|
+
width: number,
|
|
860
|
+
) => WasmMatrix2dResult;
|
|
861
|
+
remix: (
|
|
862
|
+
samples: Float32Array,
|
|
863
|
+
intervals: Int32Array,
|
|
864
|
+
sampleRate: number,
|
|
865
|
+
alignZeros: boolean,
|
|
866
|
+
) => Float32Array;
|
|
867
|
+
phaseVocoder: (
|
|
868
|
+
samples: Float32Array,
|
|
869
|
+
sampleRate: number,
|
|
870
|
+
rate: number,
|
|
871
|
+
nFft: number,
|
|
872
|
+
hopLength: number,
|
|
873
|
+
) => Float32Array;
|
|
596
874
|
harmonic: (samples: Float32Array, sampleRate: number) => Float32Array;
|
|
597
875
|
percussive: (samples: Float32Array, sampleRate: number) => Float32Array;
|
|
598
876
|
timeStretch: (samples: Float32Array, sampleRate: number, rate: number) => Float32Array;
|
|
@@ -677,6 +955,56 @@ interface SonareModule {
|
|
|
677
955
|
sampleRate: number,
|
|
678
956
|
platforms: Array<{ name: string; targetLufs: number; ceilingDb: number }>,
|
|
679
957
|
) => string;
|
|
958
|
+
masteringRepairDeclick: (
|
|
959
|
+
samples: Float32Array,
|
|
960
|
+
sampleRate: number,
|
|
961
|
+
options: object,
|
|
962
|
+
) => Float32Array;
|
|
963
|
+
masteringRepairDenoiseClassical: (
|
|
964
|
+
samples: Float32Array,
|
|
965
|
+
sampleRate: number,
|
|
966
|
+
options: object,
|
|
967
|
+
) => Float32Array;
|
|
968
|
+
masteringRepairDeclip: (
|
|
969
|
+
samples: Float32Array,
|
|
970
|
+
sampleRate: number,
|
|
971
|
+
options: object,
|
|
972
|
+
) => Float32Array;
|
|
973
|
+
masteringRepairDecrackle: (
|
|
974
|
+
samples: Float32Array,
|
|
975
|
+
sampleRate: number,
|
|
976
|
+
options: object,
|
|
977
|
+
) => Float32Array;
|
|
978
|
+
masteringRepairDehum: (
|
|
979
|
+
samples: Float32Array,
|
|
980
|
+
sampleRate: number,
|
|
981
|
+
options: object,
|
|
982
|
+
) => Float32Array;
|
|
983
|
+
masteringRepairDereverbClassical: (
|
|
984
|
+
samples: Float32Array,
|
|
985
|
+
sampleRate: number,
|
|
986
|
+
options: object,
|
|
987
|
+
) => Float32Array;
|
|
988
|
+
masteringRepairTrimSilence: (
|
|
989
|
+
samples: Float32Array,
|
|
990
|
+
sampleRate: number,
|
|
991
|
+
options: object,
|
|
992
|
+
) => Float32Array;
|
|
993
|
+
masteringDynamicsCompressor: (
|
|
994
|
+
samples: Float32Array,
|
|
995
|
+
sampleRate: number,
|
|
996
|
+
options: object,
|
|
997
|
+
) => { samples: Float32Array; latencySamples: number };
|
|
998
|
+
masteringDynamicsGate: (
|
|
999
|
+
samples: Float32Array,
|
|
1000
|
+
sampleRate: number,
|
|
1001
|
+
options: object,
|
|
1002
|
+
) => { samples: Float32Array; latencySamples: number };
|
|
1003
|
+
masteringDynamicsTransientShaper: (
|
|
1004
|
+
samples: Float32Array,
|
|
1005
|
+
sampleRate: number,
|
|
1006
|
+
options: object,
|
|
1007
|
+
) => { samples: Float32Array; latencySamples: number };
|
|
680
1008
|
masteringChain: (
|
|
681
1009
|
samples: Float32Array,
|
|
682
1010
|
sampleRate: number,
|
|
@@ -715,6 +1043,21 @@ interface SonareModule {
|
|
|
715
1043
|
sampleRate: number,
|
|
716
1044
|
overrides: Record<string, number | boolean> | null,
|
|
717
1045
|
) => WasmMasteringStereoChainResult;
|
|
1046
|
+
masterAudioWithProgress: (
|
|
1047
|
+
presetName: string,
|
|
1048
|
+
samples: Float32Array,
|
|
1049
|
+
sampleRate: number,
|
|
1050
|
+
overrides: Record<string, number | boolean> | null,
|
|
1051
|
+
progressCallback: ProgressCallback | null,
|
|
1052
|
+
) => WasmMasteringChainResult;
|
|
1053
|
+
masterAudioStereoWithProgress: (
|
|
1054
|
+
presetName: string,
|
|
1055
|
+
left: Float32Array,
|
|
1056
|
+
right: Float32Array,
|
|
1057
|
+
sampleRate: number,
|
|
1058
|
+
overrides: Record<string, number | boolean> | null,
|
|
1059
|
+
progressCallback: ProgressCallback | null,
|
|
1060
|
+
) => WasmMasteringStereoChainResult;
|
|
718
1061
|
mixingScenePresetNames: () => string[];
|
|
719
1062
|
mixingScenePresetJson: (presetName: string) => string;
|
|
720
1063
|
mixStereo: (
|
|
@@ -763,7 +1106,6 @@ interface SonareModule {
|
|
|
763
1106
|
nFrames: number,
|
|
764
1107
|
sampleRate: number,
|
|
765
1108
|
nFft: number,
|
|
766
|
-
hopLength: number,
|
|
767
1109
|
fmin: number,
|
|
768
1110
|
fmax: number,
|
|
769
1111
|
) => WasmStftPowerResult;
|
|
@@ -774,9 +1116,9 @@ interface SonareModule {
|
|
|
774
1116
|
sampleRate: number,
|
|
775
1117
|
nFft: number,
|
|
776
1118
|
hopLength: number,
|
|
777
|
-
nIter: number,
|
|
778
1119
|
fmin: number,
|
|
779
1120
|
fmax: number,
|
|
1121
|
+
nIter: number,
|
|
780
1122
|
) => Float32Array;
|
|
781
1123
|
mfccToMel: (
|
|
782
1124
|
mfcc: Float32Array,
|
|
@@ -792,9 +1134,9 @@ interface SonareModule {
|
|
|
792
1134
|
sampleRate: number,
|
|
793
1135
|
nFft: number,
|
|
794
1136
|
hopLength: number,
|
|
795
|
-
nIter: number,
|
|
796
1137
|
fmin: number,
|
|
797
1138
|
fmax: number,
|
|
1139
|
+
nIter: number,
|
|
798
1140
|
) => Float32Array;
|
|
799
1141
|
|
|
800
1142
|
// Features - Chroma
|
|
@@ -843,6 +1185,38 @@ interface SonareModule {
|
|
|
843
1185
|
frameLength: number,
|
|
844
1186
|
hopLength: number,
|
|
845
1187
|
) => Float32Array;
|
|
1188
|
+
spectralContrast: (
|
|
1189
|
+
samples: Float32Array,
|
|
1190
|
+
sampleRate: number,
|
|
1191
|
+
nFft: number,
|
|
1192
|
+
hopLength: number,
|
|
1193
|
+
nBands: number,
|
|
1194
|
+
fmin: number,
|
|
1195
|
+
quantile: number,
|
|
1196
|
+
) => WasmMatrix2dResult;
|
|
1197
|
+
polyFeatures: (
|
|
1198
|
+
samples: Float32Array,
|
|
1199
|
+
sampleRate: number,
|
|
1200
|
+
nFft: number,
|
|
1201
|
+
hopLength: number,
|
|
1202
|
+
order: number,
|
|
1203
|
+
) => WasmMatrix2dResult;
|
|
1204
|
+
zeroCrossings: (
|
|
1205
|
+
samples: Float32Array,
|
|
1206
|
+
threshold: number,
|
|
1207
|
+
refMagnitude: boolean,
|
|
1208
|
+
pad: boolean,
|
|
1209
|
+
zeroPos: boolean,
|
|
1210
|
+
) => Int32Array;
|
|
1211
|
+
pitchTuning: (frequencies: Float32Array, resolution: number, binsPerOctave: number) => number;
|
|
1212
|
+
estimateTuning: (
|
|
1213
|
+
samples: Float32Array,
|
|
1214
|
+
sampleRate: number,
|
|
1215
|
+
nFft: number,
|
|
1216
|
+
hopLength: number,
|
|
1217
|
+
resolution: number,
|
|
1218
|
+
binsPerOctave: number,
|
|
1219
|
+
) => number;
|
|
846
1220
|
|
|
847
1221
|
// Features - Pitch
|
|
848
1222
|
pitchYin: (
|
|
@@ -853,6 +1227,7 @@ interface SonareModule {
|
|
|
853
1227
|
fmin: number,
|
|
854
1228
|
fmax: number,
|
|
855
1229
|
threshold: number,
|
|
1230
|
+
fillNa: boolean,
|
|
856
1231
|
) => WasmPitchResult;
|
|
857
1232
|
pitchPyin: (
|
|
858
1233
|
samples: Float32Array,
|
|
@@ -862,6 +1237,7 @@ interface SonareModule {
|
|
|
862
1237
|
fmin: number,
|
|
863
1238
|
fmax: number,
|
|
864
1239
|
threshold: number,
|
|
1240
|
+
fillNa: boolean,
|
|
865
1241
|
) => WasmPitchResult;
|
|
866
1242
|
|
|
867
1243
|
// Core - Conversion
|
|
@@ -993,6 +1369,8 @@ interface SonareModule {
|
|
|
993
1369
|
lufs: (samples: Float32Array, sampleRate: number) => WasmLufsResult;
|
|
994
1370
|
momentaryLufs: (samples: Float32Array, sampleRate: number) => Float32Array;
|
|
995
1371
|
shortTermLufs: (samples: Float32Array, sampleRate: number) => Float32Array;
|
|
1372
|
+
lufsInterleaved: (samples: Float32Array, channels: number, sampleRate: number) => WasmLufsResult;
|
|
1373
|
+
ebur128LoudnessRange: (samples: Float32Array, sampleRate: number) => number;
|
|
996
1374
|
|
|
997
1375
|
// Core - Resample
|
|
998
1376
|
resample: (samples: Float32Array, srcSr: number, targetSr: number) => Float32Array;
|
|
@@ -1081,12 +1459,24 @@ interface SonareModule {
|
|
|
1081
1459
|
// Streaming - StreamingEqualizer
|
|
1082
1460
|
createEqualizer: (config: Record<string, unknown>) => WasmStreamingEqualizer;
|
|
1083
1461
|
|
|
1462
|
+
// Streaming - StreamingRetune
|
|
1463
|
+
createStreamingRetune: (config: Record<string, unknown>) => WasmStreamingRetune;
|
|
1464
|
+
createRealtimeVoiceChanger: (
|
|
1465
|
+
config: Record<string, unknown> | string,
|
|
1466
|
+
) => WasmRealtimeVoiceChanger;
|
|
1467
|
+
realtimeVoiceChangerPresetNames: () => string[];
|
|
1468
|
+
realtimeVoiceChangerPresetJson: (id: string) => string;
|
|
1469
|
+
validateRealtimeVoiceChangerPresetJson: (json: string) => {
|
|
1470
|
+
ok: boolean;
|
|
1471
|
+
normalizedJson?: string;
|
|
1472
|
+
error?: string;
|
|
1473
|
+
};
|
|
1474
|
+
|
|
1084
1475
|
// Mixing - scene-based Mixer
|
|
1085
1476
|
createMixerFromSceneJson: (json: string, sampleRate: number, blockSize: number) => WasmMixer;
|
|
1086
|
-
mixerPresetJson: (presetName: string) => string;
|
|
1087
1477
|
}
|
|
1088
1478
|
|
|
1089
|
-
interface WasmStreamingMasteringChain {
|
|
1479
|
+
export interface WasmStreamingMasteringChain {
|
|
1090
1480
|
prepare: (sampleRate: number, maxBlockSize: number, numChannels: number) => void;
|
|
1091
1481
|
processMono: (samples: Float32Array) => Float32Array;
|
|
1092
1482
|
processStereo: (
|
|
@@ -1099,7 +1489,7 @@ interface WasmStreamingMasteringChain {
|
|
|
1099
1489
|
delete: () => void;
|
|
1100
1490
|
}
|
|
1101
1491
|
|
|
1102
|
-
interface WasmEqSpectrumSnapshot {
|
|
1492
|
+
export interface WasmEqSpectrumSnapshot {
|
|
1103
1493
|
preLeft: Float32Array;
|
|
1104
1494
|
preRight: Float32Array;
|
|
1105
1495
|
postLeft: Float32Array;
|
|
@@ -1110,7 +1500,7 @@ interface WasmEqSpectrumSnapshot {
|
|
|
1110
1500
|
seq: number;
|
|
1111
1501
|
}
|
|
1112
1502
|
|
|
1113
|
-
interface WasmStreamingEqualizer {
|
|
1503
|
+
export interface WasmStreamingEqualizer {
|
|
1114
1504
|
setBand: (index: number, band: Record<string, unknown>) => void;
|
|
1115
1505
|
clear: () => void;
|
|
1116
1506
|
setPhaseMode: (mode: number) => void;
|
|
@@ -1133,7 +1523,42 @@ interface WasmStreamingEqualizer {
|
|
|
1133
1523
|
delete: () => void;
|
|
1134
1524
|
}
|
|
1135
1525
|
|
|
1136
|
-
interface
|
|
1526
|
+
export interface WasmStreamingRetune {
|
|
1527
|
+
prepare: (sampleRate: number, maxBlockSize: number) => void;
|
|
1528
|
+
reset: () => void;
|
|
1529
|
+
setConfig: (config: Record<string, unknown>) => void;
|
|
1530
|
+
config: () => { semitones: number; mix: number; grainSize: number };
|
|
1531
|
+
grainSize: () => number;
|
|
1532
|
+
processMono: (samples: Float32Array) => Float32Array;
|
|
1533
|
+
delete: () => void;
|
|
1534
|
+
}
|
|
1535
|
+
|
|
1536
|
+
export interface WasmRealtimeVoiceChanger {
|
|
1537
|
+
prepare: (sampleRate: number, maxBlockSize: number, channels: number) => void;
|
|
1538
|
+
reset: () => void;
|
|
1539
|
+
setConfig: (config: Record<string, unknown> | string) => void;
|
|
1540
|
+
configJson: () => string;
|
|
1541
|
+
latencySamples: () => number;
|
|
1542
|
+
processMono: (samples: Float32Array) => Float32Array;
|
|
1543
|
+
processMonoInto: (samples: Float32Array, output: Float32Array) => void;
|
|
1544
|
+
processInterleaved: (samples: Float32Array, channels: number) => Float32Array;
|
|
1545
|
+
processInterleavedInto: (samples: Float32Array, channels: number, output: Float32Array) => void;
|
|
1546
|
+
// Zero-copy "prepared" path. The returned Float32Array is a typed_memory_view
|
|
1547
|
+
// backed by the WASM heap; it is only valid until the next call to a method
|
|
1548
|
+
// that may grow the underlying scratch buffer (i.e. another get*Buffer with a
|
|
1549
|
+
// larger length) or until delete().
|
|
1550
|
+
getMonoInputBuffer: (numSamples: number) => Float32Array;
|
|
1551
|
+
getMonoOutputBuffer: (numSamples: number) => Float32Array;
|
|
1552
|
+
processPreparedMono: (numSamples: number) => void;
|
|
1553
|
+
getInterleavedInputBuffer: (numFrames: number, numChannels: number) => Float32Array;
|
|
1554
|
+
getInterleavedOutputBuffer: (numFrames: number, numChannels: number) => Float32Array;
|
|
1555
|
+
processPreparedInterleaved: (numFrames: number, numChannels: number) => void;
|
|
1556
|
+
getPlanarChannelBuffer: (channel: number, numFrames: number) => Float32Array;
|
|
1557
|
+
processPreparedPlanar: (numFrames: number) => void;
|
|
1558
|
+
delete: () => void;
|
|
1559
|
+
}
|
|
1560
|
+
|
|
1561
|
+
export interface WasmMixer {
|
|
1137
1562
|
compile: () => void;
|
|
1138
1563
|
processStereo: (
|
|
1139
1564
|
leftChannels: Float32Array[],
|
|
@@ -1160,6 +1585,11 @@ interface WasmMixer {
|
|
|
1160
1585
|
curve: number,
|
|
1161
1586
|
) => void;
|
|
1162
1587
|
stripById: (id: string) => number;
|
|
1588
|
+
setInputTrimDb: (stripIndex: number, db: number) => void;
|
|
1589
|
+
setFaderDb: (stripIndex: number, db: number) => void;
|
|
1590
|
+
setPan: (stripIndex: number, pan: number, panMode: number) => void;
|
|
1591
|
+
setWidth: (stripIndex: number, width: number) => void;
|
|
1592
|
+
setMuted: (stripIndex: number, muted: boolean) => void;
|
|
1163
1593
|
setSoloed: (stripIndex: number, soloed: boolean) => void;
|
|
1164
1594
|
setSoloSafe: (stripIndex: number, soloSafe: boolean) => void;
|
|
1165
1595
|
setPolarityInvert: (stripIndex: number, invertLeft: boolean, invertRight: boolean) => void;
|
|
@@ -1213,20 +1643,20 @@ interface WasmMixer {
|
|
|
1213
1643
|
delete: () => void;
|
|
1214
1644
|
}
|
|
1215
1645
|
|
|
1216
|
-
interface WasmGoniometerPoint {
|
|
1646
|
+
export interface WasmGoniometerPoint {
|
|
1217
1647
|
left: number;
|
|
1218
1648
|
right: number;
|
|
1219
1649
|
}
|
|
1220
1650
|
|
|
1221
1651
|
// Streaming types for StreamAnalyzer
|
|
1222
|
-
interface WasmChordChange {
|
|
1652
|
+
export interface WasmChordChange {
|
|
1223
1653
|
root: number;
|
|
1224
1654
|
quality: number;
|
|
1225
1655
|
startTime: number;
|
|
1226
1656
|
confidence: number;
|
|
1227
1657
|
}
|
|
1228
1658
|
|
|
1229
|
-
interface WasmBarChord {
|
|
1659
|
+
export interface WasmBarChord {
|
|
1230
1660
|
barIndex: number;
|
|
1231
1661
|
root: number;
|
|
1232
1662
|
quality: number;
|
|
@@ -1234,12 +1664,12 @@ interface WasmBarChord {
|
|
|
1234
1664
|
confidence: number;
|
|
1235
1665
|
}
|
|
1236
1666
|
|
|
1237
|
-
interface WasmPatternScore {
|
|
1667
|
+
export interface WasmPatternScore {
|
|
1238
1668
|
name: string;
|
|
1239
1669
|
score: number;
|
|
1240
1670
|
}
|
|
1241
1671
|
|
|
1242
|
-
interface WasmProgressiveEstimate {
|
|
1672
|
+
export interface WasmProgressiveEstimate {
|
|
1243
1673
|
bpm: number;
|
|
1244
1674
|
bpmConfidence: number;
|
|
1245
1675
|
bpmCandidateCount: number;
|
|
@@ -1264,14 +1694,14 @@ interface WasmProgressiveEstimate {
|
|
|
1264
1694
|
updated: boolean;
|
|
1265
1695
|
}
|
|
1266
1696
|
|
|
1267
|
-
interface WasmAnalyzerStats {
|
|
1697
|
+
export interface WasmAnalyzerStats {
|
|
1268
1698
|
totalFrames: number;
|
|
1269
1699
|
totalSamples: number;
|
|
1270
1700
|
durationSeconds: number;
|
|
1271
1701
|
estimate: WasmProgressiveEstimate;
|
|
1272
1702
|
}
|
|
1273
1703
|
|
|
1274
|
-
interface WasmFrameBuffer {
|
|
1704
|
+
export interface WasmFrameBuffer {
|
|
1275
1705
|
nFrames: number;
|
|
1276
1706
|
timestamps: Float32Array;
|
|
1277
1707
|
mel: Float32Array;
|
|
@@ -1285,7 +1715,7 @@ interface WasmFrameBuffer {
|
|
|
1285
1715
|
chordConfidence: Float32Array;
|
|
1286
1716
|
}
|
|
1287
1717
|
|
|
1288
|
-
interface WasmStreamFramesU8 {
|
|
1718
|
+
export interface WasmStreamFramesU8 {
|
|
1289
1719
|
nFrames: number;
|
|
1290
1720
|
nMels: number;
|
|
1291
1721
|
timestamps: Float32Array;
|
|
@@ -1297,7 +1727,7 @@ interface WasmStreamFramesU8 {
|
|
|
1297
1727
|
spectralFlatness: Uint8Array;
|
|
1298
1728
|
}
|
|
1299
1729
|
|
|
1300
|
-
interface WasmStreamFramesI16 {
|
|
1730
|
+
export interface WasmStreamFramesI16 {
|
|
1301
1731
|
nFrames: number;
|
|
1302
1732
|
nMels: number;
|
|
1303
1733
|
timestamps: Float32Array;
|
|
@@ -1309,7 +1739,7 @@ interface WasmStreamFramesI16 {
|
|
|
1309
1739
|
spectralFlatness: Int16Array;
|
|
1310
1740
|
}
|
|
1311
1741
|
|
|
1312
|
-
interface WasmStreamAnalyzer {
|
|
1742
|
+
export interface WasmStreamAnalyzer {
|
|
1313
1743
|
process: (samples: Float32Array) => void;
|
|
1314
1744
|
processWithOffset: (samples: Float32Array, sampleOffset: number) => void;
|
|
1315
1745
|
availableFrames: () => number;
|