@libraz/libsonare 1.2.1 → 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/src/wasm_types.ts DELETED
@@ -1,1259 +0,0 @@
1
- export type ProgressCallback = (progress: number, stage: string) => void;
2
- export type TempogramMode = 'autocorrelation' | 'auto' | 'ac' | 'cosine' | 0 | 1;
3
-
4
- export interface WasmKeyResult {
5
- root: number;
6
- mode: number;
7
- confidence: number;
8
- name: string;
9
- shortName: string;
10
- }
11
-
12
- export interface WasmKeyCandidateResult {
13
- key: WasmKeyResult;
14
- correlation: number;
15
- }
16
-
17
- export interface WasmBeatResult {
18
- time: number;
19
- strength: number;
20
- }
21
-
22
- export interface WasmChordResult {
23
- root: number;
24
- bass: number;
25
- quality: number;
26
- start: number;
27
- end: number;
28
- confidence: number;
29
- name: string;
30
- }
31
-
32
- export interface WasmSectionResult {
33
- type: number;
34
- start: number;
35
- end: number;
36
- energyLevel: number;
37
- confidence: number;
38
- name: string;
39
- }
40
-
41
- export interface WasmTimbreResult {
42
- brightness: number;
43
- warmth: number;
44
- density: number;
45
- roughness: number;
46
- complexity: number;
47
- }
48
-
49
- export interface WasmDynamicsResult {
50
- dynamicRangeDb: number;
51
- loudnessRangeDb: number;
52
- crestFactor: number;
53
- isCompressed: boolean;
54
- }
55
-
56
- export interface WasmRhythmResult {
57
- syncopation: number;
58
- grooveType: string;
59
- patternRegularity: number;
60
- }
61
-
62
- export interface WasmTimeSignatureResult {
63
- numerator: number;
64
- denominator: number;
65
- confidence: number;
66
- }
67
-
68
- export interface WasmAnalysisResult {
69
- bpm: number;
70
- bpmConfidence: number;
71
- key: WasmKeyResult;
72
- timeSignature: WasmTimeSignatureResult;
73
- beats: WasmBeatResult[];
74
- chords: WasmChordResult[];
75
- sections: WasmSectionResult[];
76
- timbre: WasmTimbreResult;
77
- dynamics: WasmDynamicsResult;
78
- rhythm: WasmRhythmResult;
79
- form: string;
80
- }
81
-
82
- export interface WasmChordAnalysisResult {
83
- chords: WasmChordResult[];
84
- }
85
-
86
- export interface WasmAcousticResult {
87
- rt60: number;
88
- edt: number;
89
- c50: number;
90
- c80: number;
91
- d50: number;
92
- rt60Bands: Float32Array;
93
- edtBands: Float32Array;
94
- c50Bands: Float32Array;
95
- c80Bands: Float32Array;
96
- confidence: number;
97
- isBlind: boolean;
98
- }
99
-
100
- export interface WasmHpssResult {
101
- harmonic: Float32Array;
102
- percussive: Float32Array;
103
- sampleRate: number;
104
- }
105
-
106
- export interface WasmMasteringResult {
107
- samples: Float32Array;
108
- sampleRate: number;
109
- inputLufs: number;
110
- outputLufs: number;
111
- appliedGainDb: number;
112
- latencySamples?: number;
113
- }
114
-
115
- export interface WasmMasteringChainResult extends WasmMasteringResult {
116
- stages: string[];
117
- }
118
-
119
- export interface WasmMasteringStereoResult {
120
- left: Float32Array;
121
- right: Float32Array;
122
- sampleRate: number;
123
- inputLufs: number;
124
- outputLufs: number;
125
- appliedGainDb: number;
126
- latencySamples: number;
127
- }
128
-
129
- export interface WasmMasteringStereoChainResult {
130
- left: Float32Array;
131
- right: Float32Array;
132
- sampleRate: number;
133
- inputLufs: number;
134
- outputLufs: number;
135
- appliedGainDb: number;
136
- stages: string[];
137
- }
138
-
139
- export interface WasmMixMeterSnapshot {
140
- peakDbL: number;
141
- peakDbR: number;
142
- rmsDbL: number;
143
- rmsDbR: number;
144
- correlation: number;
145
- monoCompatWidth: number;
146
- monoCompatPeak: number;
147
- monoCompatSideRms: number;
148
- likelyMonoCompatible: boolean;
149
- momentaryLufs: number;
150
- shortTermLufs: number;
151
- integratedLufs: number;
152
- gainReductionDb: number;
153
- truePeakDbL: number;
154
- truePeakDbR: number;
155
- maxTruePeakDb: number;
156
- seq: number;
157
- }
158
-
159
- export interface WasmMixResult {
160
- left: Float32Array;
161
- right: Float32Array;
162
- sampleRate: number;
163
- meters: WasmMixMeterSnapshot[];
164
- }
165
-
166
- export interface WasmStftResult {
167
- nBins: number;
168
- nFrames: number;
169
- nFft: number;
170
- hopLength: number;
171
- sampleRate: number;
172
- magnitude: Float32Array;
173
- power: Float32Array;
174
- }
175
-
176
- export interface WasmStftDbResult {
177
- nBins: number;
178
- nFrames: number;
179
- db: Float32Array;
180
- }
181
-
182
- export interface WasmMelResult {
183
- nMels: number;
184
- nFrames: number;
185
- sampleRate: number;
186
- hopLength: number;
187
- power: Float32Array;
188
- db: Float32Array;
189
- }
190
-
191
- export interface WasmMfccResult {
192
- nMfcc: number;
193
- nFrames: number;
194
- coefficients: Float32Array;
195
- }
196
-
197
- export interface WasmStftPowerResult {
198
- nBins: number;
199
- nFrames: number;
200
- power: Float32Array;
201
- }
202
-
203
- export interface WasmMelPowerResult {
204
- nMels: number;
205
- nFrames: number;
206
- power: Float32Array;
207
- }
208
-
209
- export interface WasmChromaResult {
210
- nChroma: number;
211
- nFrames: number;
212
- sampleRate: number;
213
- hopLength: number;
214
- features: Float32Array;
215
- meanEnergy: number[];
216
- }
217
-
218
- export interface WasmPitchResult {
219
- f0: Float32Array;
220
- voicedProb: Float32Array;
221
- voicedFlag: boolean[];
222
- nFrames: number;
223
- medianF0: number;
224
- meanF0: number;
225
- }
226
-
227
- export interface WasmTrimResult {
228
- audio: Float32Array;
229
- startSample: number;
230
- endSample: number;
231
- }
232
-
233
- export interface WasmFrameResult {
234
- nFrames: number;
235
- frames: Float32Array;
236
- }
237
-
238
- export interface WasmTempogramResult {
239
- nFrames: number;
240
- winLength: number;
241
- data: Float32Array;
242
- }
243
-
244
- export interface WasmCyclicTempogramResult {
245
- nFrames: number;
246
- nBins: number;
247
- data: Float32Array;
248
- }
249
-
250
- export interface WasmFourierTempogramResult {
251
- nBins: number;
252
- nFrames: number;
253
- data: Float32Array;
254
- }
255
-
256
- export interface WasmNnlsChromaResult {
257
- nChroma: number;
258
- nFrames: number;
259
- data: Float32Array;
260
- }
261
-
262
- export interface WasmMelodyPoint {
263
- time: number;
264
- frequency: number;
265
- confidence: number;
266
- }
267
-
268
- export interface WasmMelodyResult {
269
- points: WasmMelodyPoint[];
270
- pitchRangeOctaves: number;
271
- pitchStability: number;
272
- meanFrequency: number;
273
- vibratoRate: number;
274
- }
275
-
276
- export interface WasmCqtResult {
277
- nBins: number;
278
- nFrames: number;
279
- hopLength: number;
280
- sampleRate: number;
281
- magnitude: Float32Array;
282
- frequencies: Float32Array;
283
- }
284
-
285
- export interface WasmLufsResult {
286
- integratedLufs: number;
287
- momentaryLufs: number;
288
- shortTermLufs: number;
289
- loudnessRange: number;
290
- }
291
-
292
- export interface WasmChordChange {
293
- root: number;
294
- quality: number;
295
- startTime: number;
296
- confidence: number;
297
- }
298
-
299
- export interface WasmBarChord {
300
- barIndex: number;
301
- root: number;
302
- quality: number;
303
- startTime: number;
304
- confidence: number;
305
- }
306
-
307
- export interface WasmPatternScore {
308
- name: string;
309
- score: number;
310
- }
311
-
312
- export interface WasmProgressiveEstimate {
313
- bpm: number;
314
- bpmConfidence: number;
315
- bpmCandidateCount: number;
316
- key: number;
317
- keyMinor: boolean;
318
- keyConfidence: number;
319
- chordRoot: number;
320
- chordQuality: number;
321
- chordConfidence: number;
322
- chordStartTime: number;
323
- chordProgression: WasmChordChange[];
324
- barChordProgression: WasmBarChord[];
325
- currentBar: number;
326
- barDuration: number;
327
- votedPattern: WasmBarChord[];
328
- patternLength: number;
329
- detectedPatternName: string;
330
- detectedPatternScore: number;
331
- allPatternScores: WasmPatternScore[];
332
- accumulatedSeconds: number;
333
- usedFrames: number;
334
- updated: boolean;
335
- }
336
-
337
- export interface WasmAnalyzerStats {
338
- totalFrames: number;
339
- totalSamples: number;
340
- durationSeconds: number;
341
- estimate: WasmProgressiveEstimate;
342
- }
343
-
344
- export interface WasmFrameBuffer {
345
- nFrames: number;
346
- timestamps: Float32Array;
347
- mel: Float32Array;
348
- chroma: Float32Array;
349
- onsetStrength: Float32Array;
350
- rmsEnergy: Float32Array;
351
- spectralCentroid: Float32Array;
352
- spectralFlatness: Float32Array;
353
- chordRoot: Int32Array;
354
- chordQuality: Int32Array;
355
- chordConfidence: Float32Array;
356
- }
357
-
358
- export interface WasmStreamFramesU8 {
359
- nFrames: number;
360
- nMels: number;
361
- timestamps: Float32Array;
362
- mel: Uint8Array;
363
- chroma: Uint8Array;
364
- onsetStrength: Uint8Array;
365
- rmsEnergy: Uint8Array;
366
- spectralCentroid: Uint8Array;
367
- spectralFlatness: Uint8Array;
368
- }
369
-
370
- export interface WasmStreamFramesI16 {
371
- nFrames: number;
372
- nMels: number;
373
- timestamps: Float32Array;
374
- mel: Int16Array;
375
- chroma: Int16Array;
376
- onsetStrength: Int16Array;
377
- rmsEnergy: Int16Array;
378
- spectralCentroid: Int16Array;
379
- spectralFlatness: Int16Array;
380
- }
381
-
382
- export interface WasmStreamingMasteringChain {
383
- prepare: (sampleRate: number, maxBlockSize: number, numChannels: number) => void;
384
- processMono: (samples: Float32Array) => Float32Array;
385
- processStereo: (
386
- left: Float32Array,
387
- right: Float32Array,
388
- ) => { left: Float32Array; right: Float32Array };
389
- reset: () => void;
390
- latencySamples: () => number;
391
- stageNames: () => string[];
392
- delete: () => void;
393
- }
394
-
395
- export interface WasmEqSpectrumSnapshot {
396
- preLeft: Float32Array;
397
- preRight: Float32Array;
398
- postLeft: Float32Array;
399
- postRight: Float32Array;
400
- bandGainDb: Float32Array;
401
- profileDb: Float32Array;
402
- lastAutoGainDb: number;
403
- seq: number;
404
- }
405
-
406
- export interface WasmStreamingEqualizer {
407
- setBand: (index: number, band: Record<string, unknown>) => void;
408
- clear: () => void;
409
- setPhaseMode: (mode: number) => void;
410
- setAutoGain: (enabled: boolean) => void;
411
- setGainScale: (scale: number) => void;
412
- setOutputGainDb: (gainDb: number) => void;
413
- setOutputPan: (pan: number) => void;
414
- setSidechainMono: (samples: Float32Array) => void;
415
- setSidechainStereo: (left: Float32Array, right: Float32Array) => void;
416
- clearSidechain: () => void;
417
- lastAutoGainDb: () => number;
418
- latencySamples: () => number;
419
- processMono: (samples: Float32Array) => Float32Array;
420
- processStereo: (
421
- left: Float32Array,
422
- right: Float32Array,
423
- ) => { left: Float32Array; right: Float32Array };
424
- spectrum: () => WasmEqSpectrumSnapshot;
425
- match: (source: Float32Array, reference: Float32Array, options: Record<string, unknown>) => void;
426
- delete: () => void;
427
- }
428
-
429
- export interface WasmStreamingRetune {
430
- prepare: (sampleRate: number, maxBlockSize: number) => void;
431
- reset: () => void;
432
- setConfig: (config: Record<string, unknown>) => void;
433
- config: () => { semitones: number; mix: number; grainSize: number };
434
- grainSize: () => number;
435
- processMono: (samples: Float32Array) => Float32Array;
436
- delete: () => void;
437
- }
438
-
439
- export interface WasmEngineClip {
440
- id?: number;
441
- channels: Float32Array[];
442
- startPpq: number;
443
- lengthSamples?: number;
444
- clipOffsetSamples?: number;
445
- loop?: boolean;
446
- gain?: number;
447
- fadeInSamples?: number;
448
- fadeOutSamples?: number;
449
- }
450
-
451
- export interface WasmEngineParameterInfo {
452
- id: number;
453
- name: string;
454
- unit: string;
455
- minValue: number;
456
- maxValue: number;
457
- defaultValue: number;
458
- rtSafe: boolean;
459
- defaultCurve: number;
460
- }
461
-
462
- export interface WasmEngineAutomationPoint {
463
- ppq: number;
464
- value: number;
465
- curveToNext?: number;
466
- }
467
-
468
- export interface WasmEngineMarker {
469
- id: number;
470
- ppq: number;
471
- name?: string;
472
- }
473
-
474
- export interface WasmEngineMetronomeConfig {
475
- enabled: boolean;
476
- beatGain?: number;
477
- accentGain?: number;
478
- clickSamples?: number;
479
- }
480
-
481
- export interface WasmEngineGraphNode {
482
- id: string;
483
- type?: number;
484
- gainDb?: number;
485
- numPorts?: number;
486
- }
487
-
488
- export interface WasmEngineGraphConnection {
489
- sourceNode: string;
490
- sourcePort: number;
491
- destNode: string;
492
- destPort: number;
493
- mix?: number;
494
- }
495
-
496
- export interface WasmEngineGraphParameterBinding {
497
- paramId: number;
498
- nodeId: string;
499
- }
500
-
501
- export interface WasmEngineGraphSpec {
502
- nodes: WasmEngineGraphNode[];
503
- connections: WasmEngineGraphConnection[];
504
- inputNode: string;
505
- outputNode: string;
506
- numChannels: number;
507
- parameterBindings?: WasmEngineGraphParameterBinding[];
508
- }
509
-
510
- export interface WasmEngineTelemetry {
511
- type: number;
512
- error: number;
513
- renderFrame: number;
514
- timelineSample: number;
515
- audibleTimelineSample: number;
516
- graphLatencySamplesQ8: number;
517
- value: number;
518
- }
519
-
520
- export interface WasmEngineMeterTelemetry {
521
- targetId: number;
522
- renderFrame: number;
523
- seq: number;
524
- peakDbL: number;
525
- peakDbR: number;
526
- rmsDbL: number;
527
- rmsDbR: number;
528
- truePeakDbL: number;
529
- truePeakDbR: number;
530
- maxTruePeakDb: number;
531
- correlation: number;
532
- monoCompatWidth: number;
533
- momentaryLufs: number;
534
- shortTermLufs: number;
535
- integratedLufs: number;
536
- gainReductionDb: number;
537
- droppedRecords: number;
538
- }
539
-
540
- export interface WasmEngineCaptureStatus {
541
- capturedFrames: number;
542
- overflowCount: number;
543
- armed: boolean;
544
- punchEnabled: boolean;
545
- }
546
-
547
- export interface WasmEngineTransportState {
548
- playing: boolean;
549
- looping: boolean;
550
- renderFrame: number;
551
- samplePosition: number;
552
- ppq: number;
553
- bpm: number;
554
- loopStartPpq: number;
555
- loopEndPpq: number;
556
- sampleRate: number;
557
- }
558
-
559
- export interface WasmEngineBounceOptions {
560
- totalFrames: number;
561
- blockSize?: number;
562
- numChannels?: number;
563
- targetSampleRate?: number;
564
- sourceSampleRate?: number;
565
- normalizeLufs?: boolean;
566
- targetLufs?: number;
567
- dither?: 0 | 1 | 2 | 3;
568
- ditherBits?: number;
569
- ditherSeed?: number;
570
- }
571
-
572
- export interface WasmEngineBounceResult {
573
- interleaved: Float32Array;
574
- frames: number;
575
- numChannels: number;
576
- sampleRate: number;
577
- integratedLufs: number;
578
- }
579
-
580
- export interface WasmEngineFreezeOptions {
581
- totalFrames: number;
582
- blockSize?: number;
583
- numChannels?: number;
584
- clipId?: number;
585
- startPpq?: number;
586
- gain?: number;
587
- }
588
-
589
- export interface WasmEngineFreezeResult {
590
- clipId: number;
591
- frames: number;
592
- numChannels: number;
593
- }
594
-
595
- export interface WasmEngineProcessWithMonitorResult {
596
- output: Float32Array[];
597
- monitor: Float32Array[];
598
- }
599
-
600
- export interface WasmRealtimeEngine {
601
- prepare: (
602
- sampleRate: number,
603
- maxBlockSize: number,
604
- commandCapacity: number,
605
- telemetryCapacity: number,
606
- ) => void;
607
- setParameter: (paramId: number, value: number, renderFrame: number) => void;
608
- setParameterSmoothed: (paramId: number, value: number, renderFrame: number) => void;
609
- getTransportState: () => WasmEngineTransportState;
610
- play: (renderFrame: number) => void;
611
- stop: (renderFrame: number) => void;
612
- seekSample: (timelineSample: number, renderFrame: number) => void;
613
- seekPpq: (ppq: number, renderFrame: number) => void;
614
- setTempo: (bpm: number) => void;
615
- setTimeSignature: (numerator: number, denominator: number) => void;
616
- setLoop: (startPpq: number, endPpq: number, enabled: boolean) => void;
617
- addParameter: (info: WasmEngineParameterInfo) => void;
618
- parameterCount: () => number;
619
- parameterInfoByIndex: (index: number) => WasmEngineParameterInfo;
620
- parameterInfo: (id: number) => WasmEngineParameterInfo;
621
- setAutomationLane: (paramId: number, points: WasmEngineAutomationPoint[]) => void;
622
- automationLaneCount: () => number;
623
- setMarkers: (markers: WasmEngineMarker[]) => void;
624
- markerCount: () => number;
625
- markerByIndex: (index: number) => WasmEngineMarker;
626
- marker: (id: number) => WasmEngineMarker;
627
- seekMarker: (id: number, renderFrame: number) => void;
628
- setLoopFromMarkers: (startMarkerId: number, endMarkerId: number) => void;
629
- setMetronome: (config: WasmEngineMetronomeConfig) => void;
630
- metronome: () => Required<WasmEngineMetronomeConfig>;
631
- countInEndSample: (startSample: number, bars: number) => number;
632
- setGraph: (spec: WasmEngineGraphSpec) => void;
633
- graphNodeCount: () => number;
634
- graphConnectionCount: () => number;
635
- setClips: (clips: WasmEngineClip[]) => void;
636
- clipCount: () => number;
637
- setCaptureBuffer: (numChannels: number, capacityFrames: number) => void;
638
- armCapture: (armed: boolean) => void;
639
- setCapturePunch: (startSample: number, endSample: number, enabled: boolean) => void;
640
- resetCapture: () => void;
641
- captureStatus: () => WasmEngineCaptureStatus;
642
- capturedAudio: () => Float32Array[];
643
- process: (channels: Float32Array[]) => Float32Array[];
644
- processWithMonitor: (channels: Float32Array[]) => WasmEngineProcessWithMonitorResult;
645
- renderOffline: (channels: Float32Array[], blockSize: number) => Float32Array[];
646
- bounceOffline: (options: WasmEngineBounceOptions) => WasmEngineBounceResult;
647
- freezeOffline: (options: WasmEngineFreezeOptions) => WasmEngineFreezeResult;
648
- drainTelemetry: (maxRecords: number) => WasmEngineTelemetry[];
649
- drainMeterTelemetry: (maxRecords: number) => WasmEngineMeterTelemetry[];
650
- delete: () => void;
651
- }
652
-
653
- export interface WasmMixer {
654
- compile: () => void;
655
- processStereo: (
656
- leftChannels: Float32Array[],
657
- rightChannels: Float32Array[],
658
- ) => { left: Float32Array; right: Float32Array; sampleRate: number };
659
- processStereoInto: (
660
- leftChannels: Float32Array[],
661
- rightChannels: Float32Array[],
662
- outLeft: Float32Array,
663
- outRight: Float32Array,
664
- ) => void;
665
- inputLeftView: (index: number) => Float32Array;
666
- inputRightView: (index: number) => Float32Array;
667
- outputLeftView: () => Float32Array;
668
- outputRightView: () => Float32Array;
669
- processPreparedStereo: (numSamples: number) => void;
670
- stripCount: () => number;
671
- scheduleInsertAutomation: (
672
- stripIndex: number,
673
- insertIndex: number,
674
- paramId: number,
675
- samplePos: number,
676
- value: number,
677
- curve: number,
678
- ) => void;
679
- stripById: (id: string) => number;
680
- setSoloed: (stripIndex: number, soloed: boolean) => void;
681
- setSoloSafe: (stripIndex: number, soloSafe: boolean) => void;
682
- setPolarityInvert: (stripIndex: number, invertLeft: boolean, invertRight: boolean) => void;
683
- setPanLaw: (stripIndex: number, panLaw: number) => void;
684
- setChannelDelaySamples: (stripIndex: number, delaySamples: number) => void;
685
- setVcaOffsetDb: (stripIndex: number, offsetDb: number) => void;
686
- setDualPan: (stripIndex: number, leftPan: number, rightPan: number) => void;
687
- addSend: (
688
- stripIndex: number,
689
- id: string,
690
- destinationBusId: string,
691
- sendDb: number,
692
- timing: number,
693
- ) => number;
694
- setSendDb: (stripIndex: number, sendIndex: number, sendDb: number) => void;
695
- meterTap: (stripIndex: number, tap: number) => WasmMixMeterSnapshot;
696
- stripMeter: (stripIndex: number, tap: number) => WasmMixMeterSnapshot;
697
- scheduleFaderAutomation: (
698
- stripIndex: number,
699
- samplePos: number,
700
- faderDb: number,
701
- curve: number,
702
- ) => void;
703
- schedulePanAutomation: (
704
- stripIndex: number,
705
- samplePos: number,
706
- pan: number,
707
- curve: number,
708
- ) => void;
709
- scheduleWidthAutomation: (
710
- stripIndex: number,
711
- samplePos: number,
712
- width: number,
713
- curve: number,
714
- ) => void;
715
- scheduleSendAutomation: (
716
- stripIndex: number,
717
- sendIndex: number,
718
- samplePos: number,
719
- db: number,
720
- curve: number,
721
- ) => void;
722
- readGoniometerLatest: (stripIndex: number, maxPoints: number) => WasmGoniometerPoint[];
723
- addBus: (id: string, role: string) => void;
724
- removeBus: (id: string) => void;
725
- busCount: () => number;
726
- addVcaGroup: (id: string, gainDb: number, members: string[]) => void;
727
- removeVcaGroup: (id: string) => void;
728
- vcaGroupCount: () => number;
729
- toSceneJson: () => string;
730
- delete: () => void;
731
- }
732
-
733
- export interface WasmGoniometerPoint {
734
- left: number;
735
- right: number;
736
- }
737
-
738
- export interface WasmStreamAnalyzer {
739
- process: (samples: Float32Array) => void;
740
- processWithOffset: (samples: Float32Array, sampleOffset: number) => void;
741
- availableFrames: () => number;
742
- readFramesSoa: (maxFrames: number) => WasmFrameBuffer;
743
- readFramesU8: (maxFrames: number) => WasmStreamFramesU8;
744
- readFramesI16: (maxFrames: number) => WasmStreamFramesI16;
745
- reset: (baseSampleOffset?: number) => void;
746
- stats: () => WasmAnalyzerStats;
747
- frameCount: () => number;
748
- currentTime: () => number;
749
- sampleRate: () => number;
750
- setExpectedDuration: (durationSeconds: number) => void;
751
- setNormalizationGain: (gain: number) => void;
752
- setTuningRefHz: (refHz: number) => void;
753
- delete: () => void;
754
- }
755
-
756
- export interface SonareModule {
757
- detectBpm: (samples: Float32Array, sampleRate: number) => number;
758
- detectKey: (samples: Float32Array, sampleRate: number) => WasmKeyResult;
759
- _detectKeyWithOptions: (
760
- samples: Float32Array,
761
- sampleRate: number,
762
- nFft: number,
763
- hopLength: number,
764
- useHpss: boolean,
765
- loudnessWeighted: boolean,
766
- highPassHz: number,
767
- modes: number[],
768
- profileType: number,
769
- genreHint: string,
770
- ) => WasmKeyResult;
771
- _detectKeyCandidates: (
772
- samples: Float32Array,
773
- sampleRate: number,
774
- nFft: number,
775
- hopLength: number,
776
- useHpss: boolean,
777
- loudnessWeighted: boolean,
778
- highPassHz: number,
779
- modes: number[],
780
- profileType: number,
781
- genreHint: string,
782
- ) => WasmKeyCandidateResult[];
783
- detectOnsets: (samples: Float32Array, sampleRate: number) => Float32Array;
784
- detectBeats: (samples: Float32Array, sampleRate: number) => Float32Array;
785
- detectDownbeats: (samples: Float32Array, sampleRate: number) => Float32Array;
786
- detectChords: (
787
- samples: Float32Array,
788
- sampleRate: number,
789
- minDuration: number,
790
- smoothingWindow: number,
791
- threshold: number,
792
- useTriadsOnly: boolean,
793
- nFft: number,
794
- hopLength: number,
795
- useBeatSync: boolean,
796
- useHmm: boolean,
797
- hmmBeamWidth: number,
798
- useKeyContext: boolean,
799
- keyRoot: number,
800
- keyMode: number,
801
- detectInversions: boolean,
802
- chromaMethod: number,
803
- ) => WasmChordAnalysisResult;
804
- analyze: (samples: Float32Array, sampleRate: number) => WasmAnalysisResult;
805
- analyzeImpulseResponse: (
806
- samples: Float32Array,
807
- sampleRate: number,
808
- nOctaveBands: number,
809
- ) => WasmAcousticResult;
810
- detectAcoustic: (
811
- samples: Float32Array,
812
- sampleRate: number,
813
- nOctaveBands: number,
814
- nThirdOctaveSubbands: number,
815
- minDecayDb: number,
816
- noiseFloorMarginDb: number,
817
- ) => WasmAcousticResult;
818
- analyzeWithProgress: (
819
- samples: Float32Array,
820
- sampleRate: number,
821
- progressCallback: ProgressCallback | null,
822
- ) => WasmAnalysisResult;
823
- version: () => string;
824
- engineAbiVersion: () => number;
825
-
826
- hpss: (
827
- samples: Float32Array,
828
- sampleRate: number,
829
- kernelHarmonic: number,
830
- kernelPercussive: number,
831
- ) => WasmHpssResult;
832
- harmonic: (samples: Float32Array, sampleRate: number) => Float32Array;
833
- percussive: (samples: Float32Array, sampleRate: number) => Float32Array;
834
- timeStretch: (samples: Float32Array, sampleRate: number, rate: number) => Float32Array;
835
- pitchShift: (samples: Float32Array, sampleRate: number, semitones: number) => Float32Array;
836
- pitchCorrectToMidi: (
837
- samples: Float32Array,
838
- sampleRate: number,
839
- currentMidi: number,
840
- targetMidi: number,
841
- ) => Float32Array;
842
- noteStretch: (
843
- samples: Float32Array,
844
- sampleRate: number,
845
- onsetSample: number,
846
- offsetSample: number,
847
- stretchRatio: number,
848
- ) => Float32Array;
849
- voiceChange: (
850
- samples: Float32Array,
851
- sampleRate: number,
852
- pitchSemitones: number,
853
- formantFactor: number,
854
- ) => Float32Array;
855
- normalize: (samples: Float32Array, sampleRate: number, targetDb: number) => Float32Array;
856
- mastering: (
857
- samples: Float32Array,
858
- sampleRate: number,
859
- targetLufs: number,
860
- ceilingDb: number,
861
- truePeakOversample: number,
862
- ) => WasmMasteringResult;
863
- masteringProcessorNames: () => string[];
864
- masteringPairProcessorNames: () => string[];
865
- masteringPairAnalysisNames: () => string[];
866
- masteringStereoAnalysisNames: () => string[];
867
- masteringProcess: (
868
- processorName: string,
869
- samples: Float32Array,
870
- sampleRate: number,
871
- params: Record<string, number | boolean>,
872
- ) => WasmMasteringResult;
873
- masteringProcessStereo: (
874
- processorName: string,
875
- left: Float32Array,
876
- right: Float32Array,
877
- sampleRate: number,
878
- params: Record<string, number | boolean>,
879
- ) => WasmMasteringStereoResult;
880
- masteringPairProcess: (
881
- processorName: string,
882
- source: Float32Array,
883
- reference: Float32Array,
884
- sampleRate: number,
885
- params: Record<string, number | boolean>,
886
- ) => WasmMasteringResult;
887
- masteringPairAnalyze: (
888
- analysisName: string,
889
- source: Float32Array,
890
- reference: Float32Array,
891
- sampleRate: number,
892
- params: Record<string, number | boolean>,
893
- ) => string;
894
- masteringStereoAnalyze: (
895
- analysisName: string,
896
- left: Float32Array,
897
- right: Float32Array,
898
- sampleRate: number,
899
- params: Record<string, number | boolean>,
900
- ) => string;
901
- masteringAssistantSuggest: (
902
- samples: Float32Array,
903
- sampleRate: number,
904
- params: Record<string, number | boolean>,
905
- ) => string;
906
- masteringAudioProfile: (
907
- samples: Float32Array,
908
- sampleRate: number,
909
- params: Record<string, number | boolean>,
910
- ) => string;
911
- masteringStreamingPreview: (
912
- samples: Float32Array,
913
- sampleRate: number,
914
- platforms: Array<{ name: string; targetLufs: number; ceilingDb: number }>,
915
- ) => string;
916
- masteringChain: (
917
- samples: Float32Array,
918
- sampleRate: number,
919
- config: Record<string, unknown>,
920
- ) => WasmMasteringChainResult;
921
- masteringChainStereo: (
922
- left: Float32Array,
923
- right: Float32Array,
924
- sampleRate: number,
925
- config: Record<string, unknown>,
926
- ) => WasmMasteringStereoChainResult;
927
- masteringChainWithProgress: (
928
- samples: Float32Array,
929
- sampleRate: number,
930
- config: Record<string, unknown>,
931
- progressCallback: ProgressCallback | null,
932
- ) => WasmMasteringChainResult;
933
- masteringChainStereoWithProgress: (
934
- left: Float32Array,
935
- right: Float32Array,
936
- sampleRate: number,
937
- config: Record<string, unknown>,
938
- progressCallback: ProgressCallback | null,
939
- ) => WasmMasteringStereoChainResult;
940
- masteringPresetNames: () => string[];
941
- masterAudio: (
942
- presetName: string,
943
- samples: Float32Array,
944
- sampleRate: number,
945
- overrides: Record<string, number | boolean> | null,
946
- ) => WasmMasteringChainResult;
947
- masterAudioStereo: (
948
- presetName: string,
949
- left: Float32Array,
950
- right: Float32Array,
951
- sampleRate: number,
952
- overrides: Record<string, number | boolean> | null,
953
- ) => WasmMasteringStereoChainResult;
954
- mixingScenePresetNames: () => string[];
955
- mixingScenePresetJson: (presetName: string) => string;
956
- mixStereo: (
957
- leftChannels: Float32Array[],
958
- rightChannels: Float32Array[],
959
- sampleRate: number,
960
- options: Record<string, unknown>,
961
- ) => WasmMixResult;
962
- trim: (samples: Float32Array, sampleRate: number, thresholdDb: number) => Float32Array;
963
-
964
- stft: (
965
- samples: Float32Array,
966
- sampleRate: number,
967
- nFft: number,
968
- hopLength: number,
969
- ) => WasmStftResult;
970
- stftDb: (
971
- samples: Float32Array,
972
- sampleRate: number,
973
- nFft: number,
974
- hopLength: number,
975
- ) => WasmStftDbResult;
976
-
977
- melSpectrogram: (
978
- samples: Float32Array,
979
- sampleRate: number,
980
- nFft: number,
981
- hopLength: number,
982
- nMels: number,
983
- ) => WasmMelResult;
984
- mfcc: (
985
- samples: Float32Array,
986
- sampleRate: number,
987
- nFft: number,
988
- hopLength: number,
989
- nMels: number,
990
- nMfcc: number,
991
- ) => WasmMfccResult;
992
-
993
- melToStft: (
994
- melPower: Float32Array,
995
- nMels: number,
996
- nFrames: number,
997
- sampleRate: number,
998
- nFft: number,
999
- hopLength: number,
1000
- fmin: number,
1001
- fmax: number,
1002
- ) => WasmStftPowerResult;
1003
- melToAudio: (
1004
- melPower: Float32Array,
1005
- nMels: number,
1006
- nFrames: number,
1007
- sampleRate: number,
1008
- nFft: number,
1009
- hopLength: number,
1010
- nIter: number,
1011
- fmin: number,
1012
- fmax: number,
1013
- ) => Float32Array;
1014
- mfccToMel: (
1015
- mfcc: Float32Array,
1016
- nMfcc: number,
1017
- nFrames: number,
1018
- nMels: number,
1019
- ) => WasmMelPowerResult;
1020
- mfccToAudio: (
1021
- mfcc: Float32Array,
1022
- nMfcc: number,
1023
- nFrames: number,
1024
- nMels: number,
1025
- sampleRate: number,
1026
- nFft: number,
1027
- hopLength: number,
1028
- nIter: number,
1029
- fmin: number,
1030
- fmax: number,
1031
- ) => Float32Array;
1032
-
1033
- chroma: (
1034
- samples: Float32Array,
1035
- sampleRate: number,
1036
- nFft: number,
1037
- hopLength: number,
1038
- ) => WasmChromaResult;
1039
-
1040
- spectralCentroid: (
1041
- samples: Float32Array,
1042
- sampleRate: number,
1043
- nFft: number,
1044
- hopLength: number,
1045
- ) => Float32Array;
1046
- spectralBandwidth: (
1047
- samples: Float32Array,
1048
- sampleRate: number,
1049
- nFft: number,
1050
- hopLength: number,
1051
- ) => Float32Array;
1052
- spectralRolloff: (
1053
- samples: Float32Array,
1054
- sampleRate: number,
1055
- nFft: number,
1056
- hopLength: number,
1057
- rollPercent: number,
1058
- ) => Float32Array;
1059
- spectralFlatness: (
1060
- samples: Float32Array,
1061
- sampleRate: number,
1062
- nFft: number,
1063
- hopLength: number,
1064
- ) => Float32Array;
1065
- zeroCrossingRate: (
1066
- samples: Float32Array,
1067
- sampleRate: number,
1068
- frameLength: number,
1069
- hopLength: number,
1070
- ) => Float32Array;
1071
- rmsEnergy: (
1072
- samples: Float32Array,
1073
- sampleRate: number,
1074
- frameLength: number,
1075
- hopLength: number,
1076
- ) => Float32Array;
1077
-
1078
- pitchYin: (
1079
- samples: Float32Array,
1080
- sampleRate: number,
1081
- frameLength: number,
1082
- hopLength: number,
1083
- fmin: number,
1084
- fmax: number,
1085
- threshold: number,
1086
- ) => WasmPitchResult;
1087
- pitchPyin: (
1088
- samples: Float32Array,
1089
- sampleRate: number,
1090
- frameLength: number,
1091
- hopLength: number,
1092
- fmin: number,
1093
- fmax: number,
1094
- threshold: number,
1095
- ) => WasmPitchResult;
1096
-
1097
- hzToMel: (hz: number) => number;
1098
- melToHz: (mel: number) => number;
1099
- hzToMidi: (hz: number) => number;
1100
- midiToHz: (midi: number) => number;
1101
- hzToNote: (hz: number) => string;
1102
- noteToHz: (note: string) => number;
1103
- framesToTime: (frames: number, sr: number, hopLength: number) => number;
1104
- timeToFrames: (time: number, sr: number, hopLength: number) => number;
1105
- framesToSamples: (frames: number, hopLength: number, nFft: number) => number;
1106
- samplesToFrames: (samples: number, hopLength: number, nFft: number) => number;
1107
- powerToDb: (values: Float32Array, ref: number, amin: number, topDb: number) => Float32Array;
1108
- amplitudeToDb: (values: Float32Array, ref: number, amin: number, topDb: number) => Float32Array;
1109
- dbToPower: (values: Float32Array, ref: number) => Float32Array;
1110
- dbToAmplitude: (values: Float32Array, ref: number) => Float32Array;
1111
- preemphasis: (samples: Float32Array, coef: number, zi?: number | null) => Float32Array;
1112
- deemphasis: (samples: Float32Array, coef: number, zi?: number | null) => Float32Array;
1113
- trimSilence: (
1114
- samples: Float32Array,
1115
- topDb: number,
1116
- frameLength: number,
1117
- hopLength: number,
1118
- ) => WasmTrimResult;
1119
- splitSilence: (
1120
- samples: Float32Array,
1121
- topDb: number,
1122
- frameLength: number,
1123
- hopLength: number,
1124
- ) => Int32Array;
1125
- frameSignal: (samples: Float32Array, frameLength: number, hopLength: number) => WasmFrameResult;
1126
- padCenter: (values: Float32Array, size: number, padValue: number) => Float32Array;
1127
- fixLength: (values: Float32Array, size: number, padValue: number) => Float32Array;
1128
- fixFrames: (frames: Int32Array, xMin: number, xMax: number, pad: boolean) => Int32Array;
1129
- peakPick: (
1130
- values: Float32Array,
1131
- preMax: number,
1132
- postMax: number,
1133
- preAvg: number,
1134
- postAvg: number,
1135
- delta: number,
1136
- wait: number,
1137
- ) => Int32Array;
1138
- vectorNormalize: (values: Float32Array, normType: number, threshold: number) => Float32Array;
1139
- pcen: (
1140
- values: Float32Array,
1141
- nBins: number,
1142
- nFrames: number,
1143
- options?: Record<string, number> | null,
1144
- ) => Float32Array;
1145
- tonnetz: (chromagram: Float32Array, nChroma: number, nFrames: number) => Float32Array;
1146
- tempogram: (
1147
- onsetEnvelope: Float32Array,
1148
- sampleRate: number,
1149
- hopLength: number,
1150
- winLength: number,
1151
- mode: TempogramMode,
1152
- ) => WasmTempogramResult;
1153
- cyclicTempogram: (
1154
- onsetEnvelope: Float32Array,
1155
- sampleRate: number,
1156
- hopLength: number,
1157
- winLength: number,
1158
- bpmMin: number,
1159
- nBins: number,
1160
- ) => WasmCyclicTempogramResult;
1161
- plp: (
1162
- onsetEnvelope: Float32Array,
1163
- sampleRate: number,
1164
- hopLength: number,
1165
- tempoMin: number,
1166
- tempoMax: number,
1167
- winLength: number,
1168
- ) => Float32Array;
1169
- nnlsChroma: (samples: Float32Array, sampleRate: number) => WasmNnlsChromaResult;
1170
- cqt: (
1171
- samples: Float32Array,
1172
- sampleRate: number,
1173
- hopLength: number,
1174
- fmin: number,
1175
- nBins: number,
1176
- binsPerOctave: number,
1177
- ) => WasmCqtResult;
1178
- vqt: (
1179
- samples: Float32Array,
1180
- sampleRate: number,
1181
- hopLength: number,
1182
- fmin: number,
1183
- nBins: number,
1184
- binsPerOctave: number,
1185
- gamma: number,
1186
- ) => WasmCqtResult;
1187
- analyzeSections: (
1188
- samples: Float32Array,
1189
- sampleRate: number,
1190
- nFft: number,
1191
- hopLength: number,
1192
- minSectionSec: number,
1193
- ) => WasmSectionResult[];
1194
- analyzeMelody: (
1195
- samples: Float32Array,
1196
- sampleRate: number,
1197
- fmin: number,
1198
- fmax: number,
1199
- frameLength: number,
1200
- hopLength: number,
1201
- threshold: number,
1202
- ) => WasmMelodyResult;
1203
- onsetEnvelope: (
1204
- samples: Float32Array,
1205
- sampleRate: number,
1206
- nFft: number,
1207
- hopLength: number,
1208
- nMels: number,
1209
- ) => Float32Array;
1210
- fourierTempogram: (
1211
- onsetEnvelope: Float32Array,
1212
- sampleRate: number,
1213
- hopLength: number,
1214
- winLength: number,
1215
- ) => WasmFourierTempogramResult;
1216
- tempogramRatio: (
1217
- tempogramData: Float32Array,
1218
- winLength: number,
1219
- sampleRate: number,
1220
- hopLength: number,
1221
- ) => Float32Array;
1222
- lufs: (samples: Float32Array, sampleRate: number) => WasmLufsResult;
1223
- momentaryLufs: (samples: Float32Array, sampleRate: number) => Float32Array;
1224
- shortTermLufs: (samples: Float32Array, sampleRate: number) => Float32Array;
1225
- resample: (samples: Float32Array, srcSr: number, targetSr: number) => Float32Array;
1226
-
1227
- StreamAnalyzer: new (
1228
- sampleRate: number,
1229
- nFft: number,
1230
- hopLength: number,
1231
- nMels: number,
1232
- fmin: number,
1233
- fmax: number,
1234
- tuningRefHz: number,
1235
- computeMagnitude: boolean,
1236
- computeMel: boolean,
1237
- computeChroma: boolean,
1238
- computeOnset: boolean,
1239
- computeSpectral: boolean,
1240
- emitEveryNFrames: number,
1241
- magnitudeDownsample: number,
1242
- keyUpdateIntervalSec: number,
1243
- bpmUpdateIntervalSec: number,
1244
- window: number,
1245
- outputFormat: number,
1246
- ) => WasmStreamAnalyzer;
1247
- RealtimeEngine: new (
1248
- sampleRate: number,
1249
- maxBlockSize: number,
1250
- commandCapacity: number,
1251
- telemetryCapacity: number,
1252
- ) => WasmRealtimeEngine;
1253
-
1254
- createStreamingMasteringChain: (config: Record<string, unknown>) => WasmStreamingMasteringChain;
1255
- createEqualizer: (config: Record<string, unknown>) => WasmStreamingEqualizer;
1256
- createStreamingRetune: (config: Record<string, unknown>) => WasmStreamingRetune;
1257
- createMixerFromSceneJson: (json: string, sampleRate: number, blockSize: number) => WasmMixer;
1258
- mixerPresetJson: (presetName: string) => string;
1259
- }