@libraz/libsonare 1.6.0 → 1.7.0

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.
Files changed (47) hide show
  1. package/README.md +2 -2
  2. package/dist/analysis.d.ts +88 -9
  3. package/dist/analysis.js +152 -42
  4. package/dist/analysis.js.map +1 -1
  5. package/dist/index.d.ts +129 -24
  6. package/dist/index.js +455 -140
  7. package/dist/index.js.map +1 -1
  8. package/dist/schemas/realtime-voice-changer-preset.schema.json +2 -2
  9. package/dist/sonare-analysis.js +1 -1
  10. package/dist/sonare-analysis.wasm +0 -0
  11. package/dist/sonare.js +1 -1
  12. package/dist/sonare.wasm +0 -0
  13. package/dist/worker.js +56 -29
  14. package/dist/worker.js.map +1 -1
  15. package/dist/worklet.d.ts +62 -10
  16. package/dist/worklet.js +193 -42
  17. package/dist/worklet.js.map +1 -1
  18. package/package.json +3 -3
  19. package/src/analysis_helpers.ts +34 -29
  20. package/src/audio.ts +7 -2
  21. package/src/codes.ts +47 -11
  22. package/src/effects_transform.ts +179 -10
  23. package/src/feature_music.ts +8 -1
  24. package/src/feature_spectral.ts +64 -2
  25. package/src/feature_spectrogram.ts +44 -3
  26. package/src/index.ts +21 -3
  27. package/src/mixer.ts +3 -3
  28. package/src/project.ts +6 -0
  29. package/src/project_class.ts +143 -16
  30. package/src/project_internal.ts +14 -5
  31. package/src/project_types.ts +45 -1
  32. package/src/public_types_mixing.ts +16 -0
  33. package/src/public_types_realtime.ts +23 -5
  34. package/src/quick_analysis.ts +21 -3
  35. package/src/realtime_engine.ts +14 -3
  36. package/src/sonare.js.d.ts +64 -0
  37. package/src/stream_analyzer.ts +6 -1
  38. package/src/web_midi.ts +10 -7
  39. package/src/worklet/engine-node.ts +54 -19
  40. package/src/worklet/engine-parameter-facade.ts +30 -1
  41. package/src/worklet/engine-processor.ts +52 -20
  42. package/src/worklet/engine-register.ts +1 -1
  43. package/src/worklet/engine-strips.ts +2 -2
  44. package/src/worklet/engine.ts +10 -0
  45. package/src/worklet/guards.ts +99 -7
  46. package/src/worklet/messages.ts +41 -1
  47. package/src/worklet/protocol.ts +4 -0
package/dist/index.d.ts CHANGED
@@ -552,6 +552,10 @@ type AutomationCurve = 'linear' | 'exponential' | 'hold' | 's-curve';
552
552
  * remains unity. Maps to the underlying integer code.
553
553
  */
554
554
  type PanLaw = 'const3dB' | 'const4.5dB' | 'const6dB' | 'linear0dB';
555
+ /** Accepted pan-law name aliases for mixer and realtime-engine inputs. */
556
+ type PanLawName = PanLaw | 'const-3db' | '-3db' | 'const-4.5db' | '-4.5db' | 'const-6db' | '-6db' | 'linear-0db' | 'linear' | '0db';
557
+ /** Pan-law name or raw C ABI ordinal. */
558
+ type PanLawInput = PanLawName | number;
555
559
  /**
556
560
  * Meter tap point for reading a strip's meter snapshot
557
561
  * (see {@link Mixer.meterTap} and {@link Mixer.stripMeter}).
@@ -961,14 +965,21 @@ interface EqMatchOptions {
961
965
  maxBands?: number;
962
966
  }
963
967
  type VoicePresetId = 'neutral-monitor' | 'bright-idol' | 'soft-whisper' | 'deep-narrator' | 'robot-mascot' | 'dark-villain';
964
- interface RealtimeVoiceChangerPreset {
968
+ type VoicePresetCategory = 'monitor' | 'bright' | 'soft' | 'deep' | 'robot' | 'dark' | 'custom';
969
+ interface RealtimeVoiceChangerPresetMetadata {
965
970
  schemaVersion: 1;
966
- id?: string;
967
- name?: string;
971
+ id: string;
972
+ name: string;
968
973
  description?: string;
969
- macros?: Record<string, number>;
970
- dsp?: Record<string, unknown>;
971
- }
974
+ category: VoicePresetCategory;
975
+ }
976
+ type RealtimeVoiceChangerPreset = (RealtimeVoiceChangerPresetMetadata & {
977
+ dsp: Record<string, unknown>;
978
+ macros?: never;
979
+ }) | (RealtimeVoiceChangerPresetMetadata & {
980
+ macros: Record<string, number>;
981
+ dsp?: never;
982
+ });
972
983
  type RealtimeVoiceChangerConfigInput = VoicePresetId | RealtimeVoiceChangerPreset;
973
984
  /**
974
985
  * Flat (POD) realtime voice-changer configuration. Keys are camelCase to match
@@ -1296,12 +1307,16 @@ interface CapabilityCatalog {
1296
1307
  presets: CapabilityCatalogPresets;
1297
1308
  }
1298
1309
 
1310
+ type NormalizeMode = 'peak' | 'rms';
1299
1311
  /** Canonical request form for HPSS. */
1300
1312
  interface HpssRequest {
1301
1313
  samples: Float32Array;
1302
1314
  sampleRate?: number;
1303
1315
  kernelHarmonic?: number;
1304
1316
  kernelPercussive?: number;
1317
+ nFft?: number;
1318
+ hopLength?: number;
1319
+ hardMask?: boolean;
1305
1320
  }
1306
1321
  interface HarmonicRequest extends ValidateOptions {
1307
1322
  samples: Float32Array;
@@ -1315,11 +1330,15 @@ interface TimeStretchRequest extends ValidateOptions {
1315
1330
  samples: Float32Array;
1316
1331
  sampleRate?: number;
1317
1332
  rate: number;
1333
+ nFft?: number;
1334
+ hopLength?: number;
1318
1335
  }
1319
1336
  interface PitchShiftRequest extends ValidateOptions {
1320
1337
  samples: Float32Array;
1321
1338
  sampleRate?: number;
1322
1339
  semitones: number;
1340
+ nFft?: number;
1341
+ hopLength?: number;
1323
1342
  }
1324
1343
  interface PitchCorrectToMidiRequest extends ValidateOptions {
1325
1344
  samples: Float32Array;
@@ -1354,6 +1373,7 @@ interface NormalizeRequest extends ValidateOptions {
1354
1373
  samples: Float32Array;
1355
1374
  sampleRate?: number;
1356
1375
  targetDb?: number;
1376
+ mode?: NormalizeMode;
1357
1377
  }
1358
1378
  interface SpectralEditRequest extends SpectralEditOptions, ValidateOptions {
1359
1379
  samples: Float32Array;
@@ -1370,7 +1390,7 @@ interface SpectralEditRequest extends SpectralEditOptions, ValidateOptions {
1370
1390
  * @returns Separated harmonic and percussive components
1371
1391
  */
1372
1392
  declare function hpss(request: HpssRequest): HpssResult;
1373
- declare function hpss(samples: Float32Array, sampleRate?: number, kernelHarmonic?: number, kernelPercussive?: number): HpssResult;
1393
+ declare function hpss(samples: Float32Array, sampleRate?: number, kernelHarmonic?: number, kernelPercussive?: number, nFft?: number, hopLength?: number, hardMask?: boolean): HpssResult;
1374
1394
  /**
1375
1395
  * Extract harmonic component from audio.
1376
1396
  *
@@ -1399,6 +1419,7 @@ declare function percussive(samples: Float32Array, sampleRate?: number, options?
1399
1419
  */
1400
1420
  declare function timeStretch(request: TimeStretchRequest): Float32Array;
1401
1421
  declare function timeStretch(samples: Float32Array, sampleRate: number, rate: number, options?: ValidateOptions): Float32Array;
1422
+ declare function timeStretch(samples: Float32Array, sampleRate: number, rate: number, nFft?: number, hopLength?: number, options?: ValidateOptions): Float32Array;
1402
1423
  /**
1403
1424
  * Pitch-shift audio without changing duration.
1404
1425
  *
@@ -1409,6 +1430,7 @@ declare function timeStretch(samples: Float32Array, sampleRate: number, rate: nu
1409
1430
  */
1410
1431
  declare function pitchShift(request: PitchShiftRequest): Float32Array;
1411
1432
  declare function pitchShift(samples: Float32Array, sampleRate: number, semitones: number, options?: ValidateOptions): Float32Array;
1433
+ declare function pitchShift(samples: Float32Array, sampleRate: number, semitones: number, nFft?: number, hopLength?: number, options?: ValidateOptions): Float32Array;
1412
1434
  /**
1413
1435
  * Pitch-correct audio from a current MIDI note to a target MIDI note.
1414
1436
  *
@@ -1480,15 +1502,18 @@ declare function noteStretch(samples: Float32Array, sampleRate?: number, options
1480
1502
  declare function noteMove(request: NoteMoveRequest): Float32Array;
1481
1503
  declare function noteMove(samples: Float32Array, sampleRate?: number, options?: NoteMoveOptions & ValidateOptions): Float32Array;
1482
1504
  /**
1483
- * Normalize audio to target peak level.
1505
+ * Normalize audio to a target peak or RMS level.
1484
1506
  *
1485
1507
  * @param samples - Audio samples (mono, float32)
1486
1508
  * @param sampleRate - Sample rate in Hz (default: 22050)
1487
- * @param targetDb - Finite target at or below 0 dBFS (default: 0 dB = full scale)
1509
+ * @param targetDb - Finite target at or below 0 dBFS (default: 0 dB = full scale).
1510
+ * For `mode: 'peak'`, this is the peak target; for `mode: 'rms'`, this is the RMS target.
1511
+ * @param mode - Normalization mode: `'peak'` (default) or `'rms'`.
1488
1512
  * @returns Normalized audio
1489
1513
  */
1490
1514
  declare function normalize(request: NormalizeRequest): Float32Array;
1491
1515
  declare function normalize(samples: Float32Array, sampleRate: number, targetDb?: number, options?: ValidateOptions): Float32Array;
1516
+ declare function normalize(samples: Float32Array, sampleRate: number, targetDb?: number, mode?: NormalizeMode, options?: ValidateOptions): Float32Array;
1492
1517
  /**
1493
1518
  * Apply region-based spectral edits (gain/attenuate/mute/heal) to mono audio.
1494
1519
  *
@@ -2152,7 +2177,12 @@ declare class Audio {
2152
2177
  * mixed down to mono to match the `Audio` wrapper contract.
2153
2178
  */
2154
2179
  static fromMemoryWithBrowserFallback(bytes: Uint8Array, options?: BrowserAudioDecodeOptions): Promise<Audio>;
2155
- /** The raw audio samples. */
2180
+ /**
2181
+ * A copy of the raw audio samples. Mirrors Node's `getData()` contract: the
2182
+ * returned array is independent of the Audio's internal buffer, so mutating
2183
+ * it (or transferring it to a Worker) does not affect subsequent facade
2184
+ * calls, which all read the internal snapshot directly.
2185
+ */
2156
2186
  get data(): Float32Array;
2157
2187
  /** Number of samples. */
2158
2188
  get length(): number;
@@ -2307,6 +2337,10 @@ interface ProjectSource {
2307
2337
  storageHandleId: number;
2308
2338
  sampleRateHint: number;
2309
2339
  nameOrUri: string;
2340
+ /** Owning content hash for audio sources; empty for MIDI sources. */
2341
+ contentHash: string;
2342
+ /** External source-separation role for audio sources; empty for MIDI sources. */
2343
+ externalStemRole: string;
2310
2344
  }
2311
2345
  /** Names accepted by the minimal built-in oscillator synth. */
2312
2346
  declare const BUILTIN_SYNTH_WAVEFORMS: readonly ["sine", "saw", "sawtooth", "square", "triangle"];
@@ -2439,6 +2473,8 @@ interface SynthPatch {
2439
2473
  * `(destination_id, patch)` bindings instead. Defaults to `0`.
2440
2474
  */
2441
2475
  destinationId?: number;
2476
+ /** Resolve MIDI channels from incoming GM bank/program changes; defaults to false. */
2477
+ useGmPrograms?: boolean;
2442
2478
  /** Base preset name (see {@link synthPresetNames}); omit for the init patch. */
2443
2479
  preset?: string;
2444
2480
  engineMode?: SynthEngineMode | number;
@@ -2541,12 +2577,31 @@ interface ProjectAutomationPoint {
2541
2577
  /** Curve to the next breakpoint (default `'linear'`). */
2542
2578
  curve?: ProjectAutomationCurve;
2543
2579
  }
2580
+ /**
2581
+ * Persistent target classification for an automation lane.
2582
+ *
2583
+ * The numeric ordinals mirror `SonareAutomationTargetKind`; the string names
2584
+ * are the public WASM spellings accepted by the project facade.
2585
+ */
2586
+ declare const AutomationTargetKind: {
2587
+ readonly opaque: 0;
2588
+ readonly trackFaderDb: 1;
2589
+ readonly trackPan: 2;
2590
+ };
2591
+ /** Accepted automation target kind name or ABI ordinal. */
2592
+ type ProjectAutomationTargetKind = 'opaque' | 'track-fader-db' | 'track-pan' | 0 | 1 | 2;
2593
+ /** Numeric aliases matching the C-ABI enum names. */
2594
+ declare const PROJECT_AUTOMATION_TARGET_OPAQUE: 0;
2595
+ declare const PROJECT_AUTOMATION_TARGET_TRACK_FADER_DB: 1;
2596
+ declare const PROJECT_AUTOMATION_TARGET_TRACK_PAN: 2;
2544
2597
  /** Automation-lane descriptor for {@link Project.addAutomationLane}. */
2545
2598
  interface ProjectAutomationLaneDesc {
2546
- /** Host-defined id of the parameter the lane drives. */
2599
+ /** Host-defined, non-zero id of the parameter the lane drives (zero is reserved). */
2547
2600
  targetParamId: number;
2548
2601
  /** Breakpoints (stored verbatim). */
2549
2602
  points: ReadonlyArray<ProjectAutomationPoint>;
2603
+ /** Optional persistent target classification; omission retains the legacy opaque route. */
2604
+ targetKind?: ProjectAutomationTargetKind;
2550
2605
  }
2551
2606
  /** One tempo segment for {@link Project.setTempoSegments}. */
2552
2607
  interface ProjectTempoSegment {
@@ -2602,6 +2657,21 @@ interface ProjectChordSymbol {
2602
2657
  /** True at a modulation boundary. */
2603
2658
  modulationBoundary?: boolean;
2604
2659
  }
2660
+ /** Descriptor accepted by {@link Project.setAssistSidecar}. */
2661
+ interface ProjectAssistSidecarInput {
2662
+ /** Non-empty module id key. */
2663
+ moduleId: string;
2664
+ /** Module-defined schema version. Defaults to `0`. */
2665
+ schemaVersion?: number;
2666
+ /** Target track id (`0` = project scope). Defaults to `0`. */
2667
+ targetTrackId?: number;
2668
+ /** Region start in PPQ. Defaults to `0`. */
2669
+ regionStartPpq?: number;
2670
+ /** Region end in PPQ. Defaults to `0`. */
2671
+ regionEndPpq?: number;
2672
+ /** Opaque module-owned payload bytes. Defaults to an empty payload. */
2673
+ payload?: Uint8Array;
2674
+ }
2605
2675
  /** Assist sidecar snapshot returned by {@link Project.getAssistSidecar}. */
2606
2676
  interface ProjectAssistSidecar {
2607
2677
  moduleId: string;
@@ -2751,6 +2821,8 @@ interface ProjectDeserializeResult {
2751
2821
  declare class Project {
2752
2822
  private native;
2753
2823
  constructor();
2824
+ /** Create a new empty project. */
2825
+ static create(): Project;
2754
2826
  /** Pack a MIDI 1.0 note-on event accepted by {@link setMidiEvents}. */
2755
2827
  static midiNoteOn(ppq: number, group: number, channel: number, note: number, velocity: number): ProjectMidiEvent;
2756
2828
  /** Pack a MIDI 1.0 note-off event accepted by {@link setMidiEvents}. */
@@ -2866,6 +2938,8 @@ declare class Project {
2866
2938
  clearHistory(): void;
2867
2939
  /** Cap the undo history depth (clamped to >= 1); evicts oldest entries beyond the cap. */
2868
2940
  setMaxUndoDepth(depth: number): void;
2941
+ /** Set the combined undo/redo history byte cap. Zero disables retention. */
2942
+ setMaxHistoryBytes(bytes: number): void;
2869
2943
  /** Replace a MIDI clip's entire event list. */
2870
2944
  setMidiEvents(clipId: number, events: ReadonlyArray<ProjectMidiEvent | readonly [number, number, number]>): void;
2871
2945
  /**
@@ -2963,8 +3037,11 @@ declare class Project {
2963
3037
  * Karplus-Strong / modal / additive / percussion / extended-waveguide-piano
2964
3038
  * engines plus the realism layer). Pass a {@link SynthPatch}, a preset-name
2965
3039
  * string (`'saw-lead'` / `'va:saw-lead'`; see {@link synthPresetNames}), or
2966
- * an array of either; each object entry may carry a `destinationId` binding
2967
- * convenience (default 0), which is not part of the NativeSynth patch itself.
3040
+ * an array of either; each object entry may carry `destinationId` (default
3041
+ * 0) and `useGmPrograms` (default `false`) binding conveniences, neither of
3042
+ * which is part of the NativeSynth patch itself. When enabled, MIDI program
3043
+ * changes select the corresponding General MIDI voice while the patch remains
3044
+ * the fallback.
2968
3045
  * Because the parameter defaults to `{}`, omission and explicit `undefined`
2969
3046
  * both create one default binding. Use an explicitly empty array `[]` (or
2970
3047
  * runtime `null`) for zero bindings. Unknown preset names throw.
@@ -3016,6 +3093,8 @@ declare class Project {
3016
3093
  unresolvedAudioSourceIds(): number[];
3017
3094
  /** Register decoded interleaved PCM for an existing audio source (undoable). */
3018
3095
  setSourceAudio(sourceId: number, audio: Float32Array, channels: number, sampleRate: number): void;
3096
+ /** Replace an audio source's metadata strings as one undoable edit. */
3097
+ setAudioSourceMetadata(sourceId: number, contentHash: string, externalStemRole: string): void;
3019
3098
  /** Replace a clip's take list and active take id (undoable). */
3020
3099
  setClipTakes(clipId: number, takes: ReadonlyArray<ProjectClipTake>, activeTakeId?: number): void;
3021
3100
  /** Replace a clip's comp segments (undoable). */
@@ -3046,12 +3125,21 @@ declare class Project {
3046
3125
  annotateKeys(keys: ReadonlyArray<ProjectKeySegment>): void;
3047
3126
  /** Replace the project's chord-symbol annotation stream (undoable). */
3048
3127
  annotateChords(chords: ReadonlyArray<ProjectChordSymbol>): void;
3049
- /** Add or update an opaque assist sidecar by module id + target scope (undoable). */
3128
+ /**
3129
+ * Add or update an opaque assist sidecar via an undoable edit.
3130
+ *
3131
+ * The descriptor form is the canonical API and matches the Node binding;
3132
+ * the positional form remains available for compatibility with the original
3133
+ * WASM facade.
3134
+ */
3135
+ setAssistSidecar(sidecar: ProjectAssistSidecarInput): void;
3050
3136
  setAssistSidecar(moduleId: string, schemaVersion: number, targetTrackId: number, regionStartPpq: number, regionEndPpq: number, payload: Uint8Array): void;
3051
3137
  /** Number of assist sidecars currently stored on the project. */
3052
3138
  assistSidecarCount(): number;
3053
3139
  /** Read one assist sidecar by stable project order. */
3054
3140
  getAssistSidecar(index: number): ProjectAssistSidecar;
3141
+ /** Read every stored assist sidecar in the same order as the index getter. */
3142
+ assistSidecars(): ProjectAssistSidecar[];
3055
3143
  /** Set the project's clip-overlap policy (SonareProjectOverlapPolicy ordinal). */
3056
3144
  setOverlapPolicy(policy: number): void;
3057
3145
  /** Read the project's clip-overlap policy (SonareProjectOverlapPolicy ordinal). */
@@ -3174,6 +3262,10 @@ interface EngineTrackLane {
3174
3262
  */
3175
3263
  sourceChannelLayout?: number;
3176
3264
  }
3265
+ /** Per-track cue/monitor tap mode: off, pre-fader listen, or after-fader listen. */
3266
+ type EngineTrackMonitorMode = 'off' | 'pfl' | 'afl' | 0 | 1 | 2;
3267
+ /** Short alias for {@link EngineTrackMonitorMode}. */
3268
+ type TrackMonitorMode = EngineTrackMonitorMode;
3177
3269
  interface EngineBus {
3178
3270
  busId: number;
3179
3271
  gainDb?: number;
@@ -3241,6 +3333,8 @@ declare class RealtimeEngine {
3241
3333
  */
3242
3334
  setParamSmoothingMs(smoothingMs: number): void;
3243
3335
  setSoloMute(laneIndex: number, solo: boolean, mute: boolean, renderFrame?: number): void;
3336
+ /** Queue a per-track PFL/AFL monitor tap mode change. */
3337
+ setTrackMonitorMode(laneIndex: number, mode: EngineTrackMonitorMode, renderFrame?: number): void;
3244
3338
  setMidiClips(clips: readonly EngineMidiClipSchedule[]): void;
3245
3339
  setBuiltinInstrument(config?: {
3246
3340
  destinationId?: number;
@@ -3447,7 +3541,7 @@ declare class RealtimeEngine {
3447
3541
  /** Sets a track lane strip's pan position in realtime (glitch-free). */
3448
3542
  setTrackStripPan(trackId: number, pan: number): void;
3449
3543
  /** Sets a track lane strip's pan law in realtime. */
3450
- setTrackStripPanLaw(trackId: number, panLaw: PanLaw | number): void;
3544
+ setTrackStripPanLaw(trackId: number, panLaw: PanLawInput): void;
3451
3545
  /** Sets a track lane strip's pan mode in realtime. */
3452
3546
  setTrackStripPanMode(trackId: number, panMode: PanMode | number): void;
3453
3547
  /** Sets a track lane strip's dual-pan left/right positions in realtime. */
@@ -4059,6 +4153,7 @@ interface NnlsChromaRequest extends GuardedOptions$2 {
4059
4153
  enableStftBlend?: boolean;
4060
4154
  stftBlendWeight?: number;
4061
4155
  stftBlendNFft?: number;
4156
+ hopLength?: number;
4062
4157
  }
4063
4158
  /**
4064
4159
  * Compute NNLS (non-negative least squares) chromagram.
@@ -4469,6 +4564,9 @@ interface HpssWithResidualRequest {
4469
4564
  sampleRate?: number;
4470
4565
  kernelHarmonic?: number;
4471
4566
  kernelPercussive?: number;
4567
+ nFft?: number;
4568
+ hopLength?: number;
4569
+ hardMask?: boolean;
4472
4570
  }
4473
4571
  interface LufsInterleavedRequest extends ValidateOptions {
4474
4572
  samples: Float32Array;
@@ -4557,7 +4655,7 @@ declare function phaseVocoder(samples: Float32Array, sampleRate: number, rate: n
4557
4655
  * HPSS into harmonic / percussive / residual signals.
4558
4656
  */
4559
4657
  declare function hpssWithResidual(request: HpssWithResidualRequest): WasmHpssWithResidualResult;
4560
- declare function hpssWithResidual(samples: Float32Array, sampleRate?: number, kernelHarmonic?: number, kernelPercussive?: number): WasmHpssWithResidualResult;
4658
+ declare function hpssWithResidual(samples: Float32Array, sampleRate?: number, kernelHarmonic?: number, kernelPercussive?: number, nFft?: number, hopLength?: number, hardMask?: boolean): WasmHpssWithResidualResult;
4561
4659
  /**
4562
4660
  * Channel-weighted multichannel integrated loudness + LRA (ITU-R BS.1770 /
4563
4661
  * EBU R128) from an interleaved buffer of `frames * channels` samples. The
@@ -4736,6 +4834,8 @@ interface TrimRequest extends GuardedOptions$1 {
4736
4834
  samples: Float32Array;
4737
4835
  sampleRate: number;
4738
4836
  thresholdDb?: number;
4837
+ frameLength?: number;
4838
+ hopLength?: number;
4739
4839
  }
4740
4840
  /**
4741
4841
  * Trim silence from beginning and end of audio.
@@ -4747,6 +4847,7 @@ interface TrimRequest extends GuardedOptions$1 {
4747
4847
  */
4748
4848
  declare function trim(request: TrimRequest): Float32Array;
4749
4849
  declare function trim(samples: Float32Array, sampleRate: number, thresholdDb?: number, options?: GuardedOptions$1): Float32Array;
4850
+ declare function trim(samples: Float32Array, sampleRate: number, thresholdDb?: number, frameLength?: number, hopLength?: number, options?: GuardedOptions$1): Float32Array;
4750
4851
  /**
4751
4852
  * Compute Short-Time Fourier Transform (STFT).
4752
4853
  *
@@ -4969,7 +5070,8 @@ declare enum SonareEngineCommandType {
4969
5070
  Punch = 14,
4970
5071
  SetMetronome = 15,
4971
5072
  SetMarker = 16,
4972
- SeekMarker = 17
5073
+ SeekMarker = 17,
5074
+ SetTrackMonitorMode = 26
4973
5075
  }
4974
5076
  declare enum SonareEngineTelemetryType {
4975
5077
  ProcessBlock = 0,
@@ -4995,7 +5097,8 @@ declare enum SonareEngineTelemetryError {
4995
5097
  InsertAutomationOverflow = 16,
4996
5098
  MidiClockOverflow = 17,
4997
5099
  MetronomeOverflow = 18,
4998
- InvalidCommand = 19
5100
+ InvalidCommand = 19,
5101
+ MaxChannelsExceeded = 20
4999
5102
  }
5000
5103
  interface SonareMeterRingBuffer {
5001
5104
  sharedBuffer: SharedArrayBuffer;
@@ -5820,6 +5923,7 @@ interface ChordFunctionalAnalysisRequest extends DetectChordsRequest {
5820
5923
  /** Canonical request form for impulse-response analysis. */
5821
5924
  interface AnalyzeImpulseResponseRequest extends SamplesRequest {
5822
5925
  nOctaveBands?: number;
5926
+ minDecayDb?: number;
5823
5927
  }
5824
5928
  /** Canonical request form for acoustic analysis. */
5825
5929
  interface DetectAcousticRequest extends AcousticOptions, SamplesRequest {
@@ -5943,7 +6047,7 @@ interface MusicAnalyzeRequest extends SamplesRequest, MusicAnalyzeOptions {
5943
6047
  declare function analyze(request: MusicAnalyzeRequest): AnalysisResult;
5944
6048
  declare function analyze(samples: Float32Array, sampleRate?: number, options?: GuardedOptions & MusicAnalyzeOptions): AnalysisResult;
5945
6049
  declare function analyzeImpulseResponse(request: AnalyzeImpulseResponseRequest): AcousticResult;
5946
- declare function analyzeImpulseResponse(samples: Float32Array, sampleRate?: number, nOctaveBands?: number): AcousticResult;
6050
+ declare function analyzeImpulseResponse(samples: Float32Array, sampleRate?: number, nOctaveBands?: number, minDecayDb?: number): AcousticResult;
5947
6051
  declare function detectAcoustic(request: DetectAcousticRequest): AcousticResult;
5948
6052
  declare function detectAcoustic(samples: Float32Array, sampleRate?: number, options?: AcousticOptions): AcousticResult;
5949
6053
  /**
@@ -6535,8 +6639,8 @@ declare class Mixer {
6535
6639
  setSoloSafe(stripIndex: number, soloSafe: boolean): void;
6536
6640
  /** Invert the polarity of the left and/or right channel of a strip. */
6537
6641
  setPolarityInvert(stripIndex: number, invertLeft: boolean, invertRight: boolean): void;
6538
- /** Set the strip's pan law. */
6539
- setPanLaw(stripIndex: number, panLaw: PanLaw | number): void;
6642
+ /** Set the strip's pan law (a {@link PanLawName} alias or raw C ABI ordinal). */
6643
+ setPanLaw(stripIndex: number, panLaw: PanLawInput): void;
6540
6644
  /**
6541
6645
  * Set a per-strip channel delay in samples. This changes the strip's reported
6542
6646
  * latency; recompile to re-run latency compensation.
@@ -7207,9 +7311,10 @@ declare function engineAbiVersion(): number;
7207
7311
  declare function voiceChangerAbiVersion(): number;
7208
7312
  /**
7209
7313
  * Map a voice-character preset ordinal (or canonical id) to its canonical id
7210
- * string (e.g. `'bright-idol'`). Invalid ordinals throw.
7314
+ * string (e.g. `'bright-idol'`). Unknown numeric ordinals return `null`;
7315
+ * unknown preset ids throw.
7211
7316
  */
7212
- declare function voiceCharacterPresetId(preset: VoicePresetId | number): string;
7317
+ declare function voiceCharacterPresetId(preset: VoicePresetId | number): VoicePresetId | null;
7213
7318
  /**
7214
7319
  * Return the canonical (normalized) flat POD config for a built-in voice
7215
7320
  * preset, skipping the JSON round-trip. Accepts a canonical preset id or its
@@ -7217,4 +7322,4 @@ declare function voiceCharacterPresetId(preset: VoicePresetId | number): string;
7217
7322
  */
7218
7323
  declare function realtimeVoiceChangerPresetConfig(preset: VoicePresetId | number): RealtimeVoiceChangerPodConfig;
7219
7324
 
7220
- export { type AcousticOptions, type AcousticResult, type AnalysisResult, type AnalyzeBpmOptions, type AnalyzeBpmRequest, type AnalyzeDynamicsOptions, type AnalyzeDynamicsRequest, type AnalyzeImpulseResponseRequest, type AnalyzeMelodyRequest, type AnalyzeRhythmOptions, type AnalyzeRhythmRequest, type AnalyzeSectionsOptions, type AnalyzeSectionsRequest, type AnalyzeTimbreOptions, type AnalyzeTimbreRequest, type AnalyzeWithProgressRequest, type AnalyzerStats, Audio, type AutomationCurve, BUILTIN_SYNTH_WAVEFORMS, type BarChord, type Beat, type BindMicrophoneInputOptions, type BindWebMidiOptions, type BpmAnalysisResult, type BpmCandidate, type BpmHypothesis, type BrowserAudioDecodeOptions, type BuiltinSynthBinding, type BuiltinSynthConfig, type BuiltinSynthWaveform, type ChirpRequest, type Chord, type ChordAnalysisResult, type ChordChange, type ChordDetectionOptions, type ChordFunctionalAnalysisRequest, ChordQuality, type ChromaResult, type ChromaSpectrogramRequest, type ClicksRequest, ClipPageProvider, type ClipPageRequest, type ClipPageStreamSource, ClipPageStreamer, type ClipPageStreamerEngine, type ClipPageStreamerOptions, type ClipPageStreamerRequest, type ClippingRegion, type ClippingReport, type CompressorDetector, type CompressorOptions, type CqtRequest, type CqtResult, type CqtToAudioRequest, type CyclicTempogramRequest, type DbConversionRequest, type DeclickOptions, type DeclipOptions, type DecomposeRequest, type DecomposeResult, type DecomposeWithInitRequest, type DecrackleMode, type DecrackleOptions, type DehumOptions, type DenoiseClassicalMode, type DenoiseClassicalNoiseEstimator, type DenoiseClassicalOptions, type DereverbClassicalOptions, type DetectAcousticRequest, type DetectChordsRequest, type DetectKeyRequest, type DetectOnsetsRequest, type DynamicRangeReport, type Dynamics, type DynamicsAnalysisResult, type DynamicsResult, EXPECTED_ENGINE_ABI_VERSION, EXPECTED_PROJECT_ABI_VERSION, type Ebur128LoudnessRangeRequest, type EmphasisRequest, type EngineAutomationPoint, type EngineBounceOptions, type EngineBounceResult, type EngineBus, type EngineCapabilities, type EngineCaptureSource, type EngineCaptureStatus, type EngineClip, type EngineFreezeOptions, type EngineFreezeResult, type EngineGraphSpec, type EngineMarker, type EngineMeterTelemetry, type EngineMeterTelemetryWide, type EngineMetronomeConfig, type EngineMidiClipSchedule, type EngineMidiEvent, type EngineParameterInfo, type EngineScopeTelemetry, type EngineTelemetry, type EngineTempoSegment, type EngineTimeSignatureSegment, type EngineTrackLane, type EngineTrackSend, type EngineTransportState, type EqBand, type EqBandPhase, type EqBandType, type EqCoeffMode, type EqMatchOptions, type EqSpectrumSnapshot, type EqStereoPlacement, ErrorCode, type EstimateRoomRequest, type EstimateTuningRequest, type ExternalMidiEvent, type ExternalSeparatedStem, type ExternalSeparatedStemImportRequest, type ExternalSeparatedStemImportResult, type FixFramesRequest, type FixLengthRequest, type FourierTempogramRequest, type FrameBuffer, type FrameSignalRequest, type GateOptions, type GoniometerPoint, type GriffinLimRequest, type HarmonicRequest, type HpssRequest, type HpssResult, type HpssWithResidualRequest, type HpssWithResidualResult, type Key, type KeyCandidate, type KeyDetectionOptions, KeyProfile, type KeyProfileName, type LufsInterleavedRequest, type LufsRequest, type LufsResult, MarkerKind, type MasterAudioRequest, type MasterAudioStereoRequest, type MasteringChainConfig, type MasteringChainRequest, type MasteringChainResult, type MasteringChainStereoRequest, type MasteringChainStereoResult, type MasteringChannelPolicy, type MasteringDynamicsCompressorRequest, type MasteringDynamicsGateRequest, type MasteringDynamicsTransientShaperRequest, type MasteringInsertParamInfo, type MasteringLoudnessSummary, type MasteringOptions, type MasteringPairAnalyzeRequest, type MasteringPairProcessRequest, type MasteringPreset, type MasteringProcessRequest, type MasteringProcessStereoRequest, type MasteringProcessorCatalogEntry, type MasteringProcessorParams, type MasteringRealtimeCost, type MasteringRepairDeclickRequest, type MasteringRepairDeclipRequest, type MasteringRepairDecrackleRequest, type MasteringRepairDehumRequest, type MasteringRepairDenoiseClassicalRequest, type MasteringRepairDereverbClassicalRequest, type MasteringRepairTrimSilenceRequest, type MasteringReport, type MasteringRequest, type MasteringResult, type MasteringSamplesParamsRequest, type MasteringStereoAnalyzeRequest, type MasteringStereoChainResult, type MasteringStereoResult, type MasteringStreamingPreviewRequest, type Matrix2dResult, type MelDeltaRequest, type MelPowerResult, type MelSpectrogramRequest, type MelSpectrogramResult, type MelToAudioRequest, type MelToStftRequest, type MelodyOptions, type MelodyPoint, type MelodyResult, type MeterTap, type MeteringDetectClippingOptions, type MeteringDetectClippingRequest, type MeteringDynamicRangeOptions, type MeteringDynamicRangeRequest, type MeteringSamplesRequest, type MeteringSilenceRatioRequest, type MeteringSpectrumFrameRequest, type MeteringSpectrumRequest, type MeteringStereoDecimatedRequest, type MeteringStereoRequest, type MeteringTruePeakRequest, type MfccRequest, type MfccResult, type MfccToAudioRequest, type MfccToMelRequest, type MicrophoneInputBinding, type MidiCcBindOptions, type MidiCcLearnOptions, type MixMeterSnapshot, type MixOptions, type MixResult, type MixStereoRequest, Mixer, type MixerProcessResult, type MixerRealtimeBuffer, Mode, type MusicAnalyzeRequest, type NnFilterRequest, type NnlsChromaRequest, type NormalizeRequest, type NoteMoveRequest, type NoteSegment, type NoteSegmentsRequest, type NoteStretchOptions, type NoteStretchRequest, type OfflineWorker, type OfflineWorkerCallOptions, OfflineWorkerClient, type OfflineWorkerClientOptions, type OfflineWorkerProgress, OfflineWorkerTask, type OnsetBacktrackRequest, type OnsetEnvelopeRequest, type OnsetStrengthMultiRequest, type OpfsClipPageProviderBinding, type OpfsClipPageProviderOptions, type OpfsClipStream, type OpfsClipStreamOptions, type PadCenterRequest, type PairAnalysis, type PairProcessor, type PanLaw, type PanMode, type PatternScore, type PcenRequest, type PeakPickRequest, type PercussiveRequest, type PhaseScopeReport, type PhaseVocoderRequest, type PiptrackRequest, PitchClass as Pitch, PitchClass, type PitchCorrectOptions, type PitchCorrectTimevaryingRequest, type PitchCorrectToMidiRequest, type PitchCorrectToMidiTimevaryingRequest, type PitchPyinRequest, type PitchResult, type PitchShiftRequest, type PitchTuningRequest, type PitchYinRequest, type PlpRequest, type PolyFeaturesRequest, type ProgressiveEstimate, Project, type ProjectAssistSidecar, type ProjectAutomationCurve, type ProjectAutomationLaneDesc, type ProjectAutomationPoint, type ProjectBounceOptions, type ProjectChordSymbol, type ProjectClip, type ProjectClipCompSegment, type ProjectClipDesc, type ProjectClipFade, type ProjectClipTake, type ProjectCompileResult, type ProjectFadeCurve, type ProjectKeySegment, type ProjectLoopMode, type ProjectLoopRecordingDesc, type ProjectLoopRecordingResult, type ProjectMarker, type ProjectMidiClipResult, type ProjectMidiEvent, type ProjectNotePairValidation, type ProjectSource, type ProjectTrack, type ProjectTrackDesc, type ProjectTrackKind, type ProjectWarpAnchor, type ProjectWarpMapDesc, RealtimeEngine, RealtimeVoiceChanger, type RealtimeVoiceChangerConfigInput, type RealtimeVoiceChangerInterleavedBuffer, type RealtimeVoiceChangerMonoBuffer, type RealtimeVoiceChangerPlanarBuffer, type RealtimeVoiceChangerPodConfig, type ReassignedSpectrogramRequest, type RemixRequest, type ResampleRequest, type RhythmAnalysisResult, type RhythmFeatures, type RirResult, type RirSynthOptions, type RoomEstimateOptions, type RoomEstimateResult, type RoomGeometryOptions, type RoomMorphOptions, type RoomMorphRequest, SYNTH_BODY_TYPES, SYNTH_ENGINE_MODES, SYNTH_FILTER_MODELS, SYNTH_FILTER_OUTPUTS, SYNTH_MOD_DESTINATIONS, SYNTH_MOD_SOURCES, SYNTH_OSC_WAVEFORMS, type SamplesRequest, type Section, SectionType, type SegmentAgglomerativeRequest, type SegmentCrossSimilarityRequest, type SegmentLagToRecurrenceRequest, type SegmentMatrix, type SegmentPathEnhanceRequest, type SegmentRecurrenceMatrixRequest, type SegmentRecurrenceToLagRequest, type SegmentSubsegmentRequest, type SendTiming, type Sf2InstrumentConfig, type Sf2ProgramStatus, type SilenceRequest, type SoloProcessor, type SonareCapabilities, SonareError, type SourceBackend, type SpectralContrastRequest, type SpectralEditMode, type SpectralEditOptions, type SpectralEditRequest, type SpectralEditWindow, type SpectralFrameRequest, type SpectralRegionOp, type SpectralRolloffRequest, type SpectrogramRequest, type SpectrumOptions, type SpectrumReport, type StageGainReduction, type StereoAnalysis, type StftPowerResult, type StftResult, StreamAnalyzer, type StreamConfig, type StreamConfigDefaults, type StreamFramesI16, type StreamFramesU8, type StreamQuantizeConfig, StreamingEqualizer, type StreamingEqualizerConfig, StreamingMasteringChain, type StreamingMasteringChainConfig, type StreamingPlatform, StreamingRetune, type StreamingRetuneConfig, type SynthBodyType, type SynthEngineMode, type SynthEnumTables, type SynthFilterModel, type SynthFilterOutput, type SynthModDestination, type SynthModRouting, type SynthModSource, type SynthOscWaveform, type SynthPatch, type TempogramMode, type TempogramRatioRequest, type TempogramRequest, type Timbre, type TimbreAnalysisResult, type TimbreFrame, type TimeSignature, type TimeStretchRequest, type ToneRequest, type TonnetzRequest, type TransientShaperOptions, type TrimRequest, type TrimSilenceMode, type TrimSilenceOptions, type ValidateOptions, type VectorNormalizeRequest, type VectorscopeReport, type VoiceChangeOptions, type VoiceChangeRealtimeOptions, type VoiceChangeRealtimeRequest, type VoiceChangeRequest, type VoicePresetId, type VqtRequest, type VqtToAudioRequest, type WaveformPeakPyramidOptions, type WaveformPeakPyramidRequest, type WaveformPeaksOptions, type WaveformPeaksReport, type WaveformPeaksRequest, type WebMidiBinding, type WebMidiCcBinding, type WebMidiInputInfo, type WorkletOpfsClipStreamHost, type ZeroCrossingRateRequest, type ZeroCrossingsRequest, abiVersion, amplitudeToDb, analyze, analyzeBpm, analyzeDynamics, analyzeImpulseResponse, analyzeMelody, analyzeRhythm, analyzeSections, analyzeTimbre, analyzeWithProgress, attachOpfsClipStream, bassChroma, bindMicrophoneInput, bindWebMidi, capabilities, capabilityCatalog, chirp, chordFunctionalAnalysis, chroma, chromaCens, chromaCqt, clicks, cqt, cqtToAudio, createOpfsClipPageProvider, createOpfsClipPageWorker, cyclicTempogram, dbToAmplitude, dbToPower, decompose, decomposeWithInit, deemphasis, detectAcoustic, detectBeats, detectBpm, detectChords, detectDownbeats, detectKey, detectKeyCandidates, detectOnsets, ebur128LoudnessRange, engineAbiVersion, engineCapabilities, estimateRoom, estimateTuning, fixFrames, fixLength, fourierTempogram, frameSignal, framesToSamples, framesToTime, griffinLim, harmonic, hasFfmpegSupport, hpss, hpssWithResidual, hybridCqt, hzToMel, hzToMidi, hzToNote, init, isInitialized, isSonareError, isWebMidiAvailable, lufs, lufsInterleaved, masterAudio, masterAudioStereo, masterAudioStereoWithProgress, masterAudioWithProgress, mastering, masteringAssistantSuggest, masteringAudioProfile, masteringChain, masteringChainStereo, masteringChainStereoWithProgress, masteringChainWithProgress, masteringDynamicsCompressor, masteringDynamicsGate, masteringDynamicsTransientShaper, masteringInsertNames, masteringInsertParamInfo, masteringInsertParamNames, masteringPairAnalysisNames, masteringPairAnalyze, masteringPairProcess, masteringPairProcessorNames, masteringPresetNames, masteringProcess, masteringProcessStereo, masteringProcessorCatalog, masteringProcessorNames, masteringRepairDeclick, masteringRepairDeclip, masteringRepairDecrackle, masteringRepairDehum, masteringRepairDenoiseClassical, masteringRepairDereverbClassical, masteringRepairTrimSilence, masteringStereoAnalysisNames, masteringStereoAnalyze, masteringStreamingPreview, melDelta, melSpectrogram, melToAudio, melToHz, melToStft, meteringCrestFactorDb, meteringDcOffset, meteringDetectClipping, meteringDynamicRange, meteringPeakDb, meteringPhaseScope, meteringPhaseScopeDecimated, meteringRmsDb, meteringSilenceRatio, meteringSpectrum, meteringSpectrumFrame, meteringStereoCorrelation, meteringStereoWidth, meteringTruePeakDb, meteringVectorscope, meteringVectorscopeDecimated, mfcc, mfccToAudio, mfccToMel, midiToHz, mixStereo, mixingScenePresetJson, mixingScenePresetNames, momentaryLufs, nnFilter, nnlsChroma, normalize, noteMove, noteSegments, noteStretch, noteToHz, onsetBacktrack, onsetEnvelope, onsetStrengthMulti, opfsClipPageWorkerSource, padCenter, pcen, peakPick, percussive, phaseVocoder, piptrack, pitchCorrectTimevarying, pitchCorrectToMidi, pitchCorrectToMidiTimevarying, pitchPyin, pitchShift, pitchTuning, pitchYin, plp, polyFeatures, powerToDb, preemphasis, projectAbiVersion, pseudoCqt, realtimeVoiceChangerPresetConfig, realtimeVoiceChangerPresetJson, realtimeVoiceChangerPresetNames, reassignedSpectrogram, remix, resample, rmsEnergy, roomMorph, samplesToFrames, scaleCorrectionSemitones, scalePitchClassEnabled, scaleQuantizeMidi, segmentAgglomerative, segmentCrossSimilarity, segmentLagToRecurrence, segmentPathEnhance, segmentRecurrenceMatrix, segmentRecurrenceToLag, segmentSubsegment, shortTermLufs, spectralBandwidth, spectralCentroid, spectralContrast, spectralEdit, spectralFlatness, spectralFlux, spectralRolloff, splitSilence, stft, stftDb, streamAnalyzerConfigDefaults, synthEnumTables, synthPresetNames, synthPresetPatch, synthesizeRir, tempogram, tempogramRatio, timeStretch, timeToFrames, tone, tonnetz, trim, trimSilence, validateRealtimeVoiceChangerPresetJson, vectorNormalize, version, voiceChange, voiceChangeRealtime, voiceChangerAbiVersion, voiceCharacterPresetId, vqt, vqtToAudio, waveformPeakPyramid, waveformPeaks, zeroCrossingRate, zeroCrossings };
7325
+ export { type AcousticOptions, type AcousticResult, type AnalysisResult, type AnalyzeBpmOptions, type AnalyzeBpmRequest, type AnalyzeDynamicsOptions, type AnalyzeDynamicsRequest, type AnalyzeImpulseResponseRequest, type AnalyzeMelodyRequest, type AnalyzeRhythmOptions, type AnalyzeRhythmRequest, type AnalyzeSectionsOptions, type AnalyzeSectionsRequest, type AnalyzeTimbreOptions, type AnalyzeTimbreRequest, type AnalyzeWithProgressRequest, type AnalyzerStats, Audio, type AutomationCurve, AutomationTargetKind, BUILTIN_SYNTH_WAVEFORMS, type BarChord, type Beat, type BindMicrophoneInputOptions, type BindWebMidiOptions, type BpmAnalysisResult, type BpmCandidate, type BpmHypothesis, type BrowserAudioDecodeOptions, type BuiltinSynthBinding, type BuiltinSynthConfig, type BuiltinSynthWaveform, type ChirpRequest, type Chord, type ChordAnalysisResult, type ChordChange, type ChordDetectionOptions, type ChordFunctionalAnalysisRequest, ChordQuality, type ChromaResult, type ChromaSpectrogramRequest, type ClicksRequest, ClipPageProvider, type ClipPageRequest, type ClipPageStreamSource, ClipPageStreamer, type ClipPageStreamerEngine, type ClipPageStreamerOptions, type ClipPageStreamerRequest, type ClippingRegion, type ClippingReport, type CompressorDetector, type CompressorOptions, type CqtRequest, type CqtResult, type CqtToAudioRequest, type CyclicTempogramRequest, type DbConversionRequest, type DeclickOptions, type DeclipOptions, type DecomposeRequest, type DecomposeResult, type DecomposeWithInitRequest, type DecrackleMode, type DecrackleOptions, type DehumOptions, type DenoiseClassicalMode, type DenoiseClassicalNoiseEstimator, type DenoiseClassicalOptions, type DereverbClassicalOptions, type DetectAcousticRequest, type DetectChordsRequest, type DetectKeyRequest, type DetectOnsetsRequest, type DynamicRangeReport, type Dynamics, type DynamicsAnalysisResult, type DynamicsResult, EXPECTED_ENGINE_ABI_VERSION, EXPECTED_PROJECT_ABI_VERSION, type Ebur128LoudnessRangeRequest, type EmphasisRequest, type EngineAutomationPoint, type EngineBounceOptions, type EngineBounceResult, type EngineBus, type EngineCapabilities, type EngineCaptureSource, type EngineCaptureStatus, type EngineClip, type EngineFreezeOptions, type EngineFreezeResult, type EngineGraphSpec, type EngineMarker, type EngineMeterTelemetry, type EngineMeterTelemetryWide, type EngineMetronomeConfig, type EngineMidiClipSchedule, type EngineMidiEvent, type EngineParameterInfo, type EngineScopeTelemetry, type EngineTelemetry, type EngineTempoSegment, type EngineTimeSignatureSegment, type EngineTrackLane, type EngineTrackMonitorMode, type EngineTrackSend, type EngineTransportState, type EqBand, type EqBandPhase, type EqBandType, type EqCoeffMode, type EqMatchOptions, type EqSpectrumSnapshot, type EqStereoPlacement, ErrorCode, type EstimateRoomRequest, type EstimateTuningRequest, type ExternalMidiEvent, type ExternalSeparatedStem, type ExternalSeparatedStemImportRequest, type ExternalSeparatedStemImportResult, type FixFramesRequest, type FixLengthRequest, type FourierTempogramRequest, type FrameBuffer, type FrameSignalRequest, type GateOptions, type GoniometerPoint, type GriffinLimRequest, type HarmonicRequest, type HpssRequest, type HpssResult, type HpssWithResidualRequest, type HpssWithResidualResult, type Key, type KeyCandidate, type KeyDetectionOptions, KeyProfile, type KeyProfileName, type LufsInterleavedRequest, type LufsRequest, type LufsResult, MarkerKind, type MasterAudioRequest, type MasterAudioStereoRequest, type MasteringChainConfig, type MasteringChainRequest, type MasteringChainResult, type MasteringChainStereoRequest, type MasteringChainStereoResult, type MasteringChannelPolicy, type MasteringDynamicsCompressorRequest, type MasteringDynamicsGateRequest, type MasteringDynamicsTransientShaperRequest, type MasteringInsertParamInfo, type MasteringLoudnessSummary, type MasteringOptions, type MasteringPairAnalyzeRequest, type MasteringPairProcessRequest, type MasteringPreset, type MasteringProcessRequest, type MasteringProcessStereoRequest, type MasteringProcessorCatalogEntry, type MasteringProcessorParams, type MasteringRealtimeCost, type MasteringRepairDeclickRequest, type MasteringRepairDeclipRequest, type MasteringRepairDecrackleRequest, type MasteringRepairDehumRequest, type MasteringRepairDenoiseClassicalRequest, type MasteringRepairDereverbClassicalRequest, type MasteringRepairTrimSilenceRequest, type MasteringReport, type MasteringRequest, type MasteringResult, type MasteringSamplesParamsRequest, type MasteringStereoAnalyzeRequest, type MasteringStereoChainResult, type MasteringStereoResult, type MasteringStreamingPreviewRequest, type Matrix2dResult, type MelDeltaRequest, type MelPowerResult, type MelSpectrogramRequest, type MelSpectrogramResult, type MelToAudioRequest, type MelToStftRequest, type MelodyOptions, type MelodyPoint, type MelodyResult, type MeterTap, type MeteringDetectClippingOptions, type MeteringDetectClippingRequest, type MeteringDynamicRangeOptions, type MeteringDynamicRangeRequest, type MeteringSamplesRequest, type MeteringSilenceRatioRequest, type MeteringSpectrumFrameRequest, type MeteringSpectrumRequest, type MeteringStereoDecimatedRequest, type MeteringStereoRequest, type MeteringTruePeakRequest, type MfccRequest, type MfccResult, type MfccToAudioRequest, type MfccToMelRequest, type MicrophoneInputBinding, type MidiCcBindOptions, type MidiCcLearnOptions, type MixMeterSnapshot, type MixOptions, type MixResult, type MixStereoRequest, Mixer, type MixerProcessResult, type MixerRealtimeBuffer, Mode, type MusicAnalyzeRequest, type NnFilterRequest, type NnlsChromaRequest, type NormalizeMode, type NormalizeRequest, type NoteMoveRequest, type NoteSegment, type NoteSegmentsRequest, type NoteStretchOptions, type NoteStretchRequest, type OfflineWorker, type OfflineWorkerCallOptions, OfflineWorkerClient, type OfflineWorkerClientOptions, type OfflineWorkerProgress, OfflineWorkerTask, type OnsetBacktrackRequest, type OnsetEnvelopeRequest, type OnsetStrengthMultiRequest, type OpfsClipPageProviderBinding, type OpfsClipPageProviderOptions, type OpfsClipStream, type OpfsClipStreamOptions, PROJECT_AUTOMATION_TARGET_OPAQUE, PROJECT_AUTOMATION_TARGET_TRACK_FADER_DB, PROJECT_AUTOMATION_TARGET_TRACK_PAN, type PadCenterRequest, type PairAnalysis, type PairProcessor, type PanLaw, type PanLawInput, type PanLawName, type PanMode, type PatternScore, type PcenRequest, type PeakPickRequest, type PercussiveRequest, type PhaseScopeReport, type PhaseVocoderRequest, type PiptrackRequest, PitchClass as Pitch, PitchClass, type PitchCorrectOptions, type PitchCorrectTimevaryingRequest, type PitchCorrectToMidiRequest, type PitchCorrectToMidiTimevaryingRequest, type PitchPyinRequest, type PitchResult, type PitchShiftRequest, type PitchTuningRequest, type PitchYinRequest, type PlpRequest, type PolyFeaturesRequest, type ProgressiveEstimate, Project, type ProjectAssistSidecar, type ProjectAssistSidecarInput, type ProjectAutomationCurve, type ProjectAutomationLaneDesc, type ProjectAutomationPoint, type ProjectAutomationTargetKind, type ProjectBounceOptions, type ProjectChordSymbol, type ProjectClip, type ProjectClipCompSegment, type ProjectClipDesc, type ProjectClipFade, type ProjectClipTake, type ProjectCompileResult, type ProjectFadeCurve, type ProjectKeySegment, type ProjectLoopMode, type ProjectLoopRecordingDesc, type ProjectLoopRecordingResult, type ProjectMarker, type ProjectMidiClipResult, type ProjectMidiEvent, type ProjectNotePairValidation, type ProjectSource, type ProjectTrack, type ProjectTrackDesc, type ProjectTrackKind, type ProjectWarpAnchor, type ProjectWarpMapDesc, RealtimeEngine, RealtimeVoiceChanger, type RealtimeVoiceChangerConfigInput, type RealtimeVoiceChangerInterleavedBuffer, type RealtimeVoiceChangerMonoBuffer, type RealtimeVoiceChangerPlanarBuffer, type RealtimeVoiceChangerPodConfig, type ReassignedSpectrogramRequest, type RemixRequest, type ResampleRequest, type RhythmAnalysisResult, type RhythmFeatures, type RirResult, type RirSynthOptions, type RoomEstimateOptions, type RoomEstimateResult, type RoomGeometryOptions, type RoomMorphOptions, type RoomMorphRequest, SYNTH_BODY_TYPES, SYNTH_ENGINE_MODES, SYNTH_FILTER_MODELS, SYNTH_FILTER_OUTPUTS, SYNTH_MOD_DESTINATIONS, SYNTH_MOD_SOURCES, SYNTH_OSC_WAVEFORMS, type SamplesRequest, type Section, SectionType, type SegmentAgglomerativeRequest, type SegmentCrossSimilarityRequest, type SegmentLagToRecurrenceRequest, type SegmentMatrix, type SegmentPathEnhanceRequest, type SegmentRecurrenceMatrixRequest, type SegmentRecurrenceToLagRequest, type SegmentSubsegmentRequest, type SendTiming, type Sf2InstrumentConfig, type Sf2ProgramStatus, type SilenceRequest, type SoloProcessor, type SonareCapabilities, SonareError, type SourceBackend, type SpectralContrastRequest, type SpectralEditMode, type SpectralEditOptions, type SpectralEditRequest, type SpectralEditWindow, type SpectralFrameRequest, type SpectralRegionOp, type SpectralRolloffRequest, type SpectrogramRequest, type SpectrumOptions, type SpectrumReport, type StageGainReduction, type StereoAnalysis, type StftPowerResult, type StftResult, StreamAnalyzer, type StreamConfig, type StreamConfigDefaults, type StreamFramesI16, type StreamFramesU8, type StreamQuantizeConfig, StreamingEqualizer, type StreamingEqualizerConfig, StreamingMasteringChain, type StreamingMasteringChainConfig, type StreamingPlatform, StreamingRetune, type StreamingRetuneConfig, type SynthBodyType, type SynthEngineMode, type SynthEnumTables, type SynthFilterModel, type SynthFilterOutput, type SynthModDestination, type SynthModRouting, type SynthModSource, type SynthOscWaveform, type SynthPatch, type TempogramMode, type TempogramRatioRequest, type TempogramRequest, type Timbre, type TimbreAnalysisResult, type TimbreFrame, type TimeSignature, type TimeStretchRequest, type ToneRequest, type TonnetzRequest, type TrackMonitorMode, type TransientShaperOptions, type TrimRequest, type TrimSilenceMode, type TrimSilenceOptions, type ValidateOptions, type VectorNormalizeRequest, type VectorscopeReport, type VoiceChangeOptions, type VoiceChangeRealtimeOptions, type VoiceChangeRealtimeRequest, type VoiceChangeRequest, type VoicePresetId, type VqtRequest, type VqtToAudioRequest, type WaveformPeakPyramidOptions, type WaveformPeakPyramidRequest, type WaveformPeaksOptions, type WaveformPeaksReport, type WaveformPeaksRequest, type WebMidiBinding, type WebMidiCcBinding, type WebMidiInputInfo, type WorkletOpfsClipStreamHost, type ZeroCrossingRateRequest, type ZeroCrossingsRequest, abiVersion, amplitudeToDb, analyze, analyzeBpm, analyzeDynamics, analyzeImpulseResponse, analyzeMelody, analyzeRhythm, analyzeSections, analyzeTimbre, analyzeWithProgress, attachOpfsClipStream, bassChroma, bindMicrophoneInput, bindWebMidi, capabilities, capabilityCatalog, chirp, chordFunctionalAnalysis, chroma, chromaCens, chromaCqt, clicks, cqt, cqtToAudio, createOpfsClipPageProvider, createOpfsClipPageWorker, cyclicTempogram, dbToAmplitude, dbToPower, decompose, decomposeWithInit, deemphasis, detectAcoustic, detectBeats, detectBpm, detectChords, detectDownbeats, detectKey, detectKeyCandidates, detectOnsets, ebur128LoudnessRange, engineAbiVersion, engineCapabilities, estimateRoom, estimateTuning, fixFrames, fixLength, fourierTempogram, frameSignal, framesToSamples, framesToTime, griffinLim, harmonic, hasFfmpegSupport, hpss, hpssWithResidual, hybridCqt, hzToMel, hzToMidi, hzToNote, init, isInitialized, isSonareError, isWebMidiAvailable, lufs, lufsInterleaved, masterAudio, masterAudioStereo, masterAudioStereoWithProgress, masterAudioWithProgress, mastering, masteringAssistantSuggest, masteringAudioProfile, masteringChain, masteringChainStereo, masteringChainStereoWithProgress, masteringChainWithProgress, masteringDynamicsCompressor, masteringDynamicsGate, masteringDynamicsTransientShaper, masteringInsertNames, masteringInsertParamInfo, masteringInsertParamNames, masteringPairAnalysisNames, masteringPairAnalyze, masteringPairProcess, masteringPairProcessorNames, masteringPresetNames, masteringProcess, masteringProcessStereo, masteringProcessorCatalog, masteringProcessorNames, masteringRepairDeclick, masteringRepairDeclip, masteringRepairDecrackle, masteringRepairDehum, masteringRepairDenoiseClassical, masteringRepairDereverbClassical, masteringRepairTrimSilence, masteringStereoAnalysisNames, masteringStereoAnalyze, masteringStreamingPreview, melDelta, melSpectrogram, melToAudio, melToHz, melToStft, meteringCrestFactorDb, meteringDcOffset, meteringDetectClipping, meteringDynamicRange, meteringPeakDb, meteringPhaseScope, meteringPhaseScopeDecimated, meteringRmsDb, meteringSilenceRatio, meteringSpectrum, meteringSpectrumFrame, meteringStereoCorrelation, meteringStereoWidth, meteringTruePeakDb, meteringVectorscope, meteringVectorscopeDecimated, mfcc, mfccToAudio, mfccToMel, midiToHz, mixStereo, mixingScenePresetJson, mixingScenePresetNames, momentaryLufs, nnFilter, nnlsChroma, normalize, noteMove, noteSegments, noteStretch, noteToHz, onsetBacktrack, onsetEnvelope, onsetStrengthMulti, opfsClipPageWorkerSource, padCenter, pcen, peakPick, percussive, phaseVocoder, piptrack, pitchCorrectTimevarying, pitchCorrectToMidi, pitchCorrectToMidiTimevarying, pitchPyin, pitchShift, pitchTuning, pitchYin, plp, polyFeatures, powerToDb, preemphasis, projectAbiVersion, pseudoCqt, realtimeVoiceChangerPresetConfig, realtimeVoiceChangerPresetJson, realtimeVoiceChangerPresetNames, reassignedSpectrogram, remix, resample, rmsEnergy, roomMorph, samplesToFrames, scaleCorrectionSemitones, scalePitchClassEnabled, scaleQuantizeMidi, segmentAgglomerative, segmentCrossSimilarity, segmentLagToRecurrence, segmentPathEnhance, segmentRecurrenceMatrix, segmentRecurrenceToLag, segmentSubsegment, shortTermLufs, spectralBandwidth, spectralCentroid, spectralContrast, spectralEdit, spectralFlatness, spectralFlux, spectralRolloff, splitSilence, stft, stftDb, streamAnalyzerConfigDefaults, synthEnumTables, synthPresetNames, synthPresetPatch, synthesizeRir, tempogram, tempogramRatio, timeStretch, timeToFrames, tone, tonnetz, trim, trimSilence, validateRealtimeVoiceChangerPresetJson, vectorNormalize, version, voiceChange, voiceChangeRealtime, voiceChangerAbiVersion, voiceCharacterPresetId, vqt, vqtToAudio, waveformPeakPyramid, waveformPeaks, zeroCrossingRate, zeroCrossings };