@libraz/libsonare 1.7.1 → 1.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -0
- package/dist/analysis.d.ts +3 -0
- package/dist/index.d.ts +286 -184
- package/dist/index.js +65 -4
- package/dist/index.js.map +1 -1
- package/dist/sonare-analysis.wasm +0 -0
- package/dist/sonare.js +1 -1
- package/dist/sonare.wasm +0 -0
- package/dist/worker.js.map +1 -1
- package/dist/worklet.d.ts +374 -1
- package/dist/worklet.js +174 -13
- package/dist/worklet.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +3 -0
- package/src/project.ts +3 -0
- package/src/project_class.ts +52 -2
- package/src/project_internal.ts +2 -0
- package/src/project_types.ts +34 -0
- package/src/realtime_engine.ts +39 -0
- package/src/sonare.js.d.ts +3 -0
- package/src/streaming_processors.ts +18 -0
- package/src/worklet/engine-node.ts +7 -2
- package/src/worklet/engine-processor.ts +59 -12
- package/src/worklet/messages.ts +12 -0
- package/src/worklet.ts +5 -0
package/README.md
CHANGED
|
@@ -198,6 +198,39 @@ The bounded-memory guarantee applies only to an OPFS/page-provider source.
|
|
|
198
198
|
Passing a `Float32Array[]` to `addClip` keeps that full array in the JavaScript
|
|
199
199
|
heap, so it is appropriate for short clips but does not make long clips bounded.
|
|
200
200
|
|
|
201
|
+
### Cue bus on a second AudioWorklet output
|
|
202
|
+
|
|
203
|
+
Per-track PFL/AFL monitoring normally folds the cue into the program output.
|
|
204
|
+
Pass `cueOutput` and the node gains a second output carrying the cue alone, so
|
|
205
|
+
it can be routed to headphones or a separate device while the program mix stays
|
|
206
|
+
untouched.
|
|
207
|
+
|
|
208
|
+
```typescript
|
|
209
|
+
import { SonareEngine } from '@libraz/libsonare/worklet';
|
|
210
|
+
|
|
211
|
+
const engine = await SonareEngine.create(audioContext, { cueOutput: true });
|
|
212
|
+
engine.setTrackMonitorMode(trackId, 'pfl');
|
|
213
|
+
|
|
214
|
+
engine.node.connect(audioContext.destination, 0); // program
|
|
215
|
+
engine.node.connect(cueDestination, 1); // cue
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Without `cueOutput` the node keeps a single output and the folded mix, sample
|
|
219
|
+
for sample. Off the worklet, the same split is available on the zero-copy path
|
|
220
|
+
as `prepareMonitorChannels` / `getMonitorChannelBuffer` /
|
|
221
|
+
`processPreparedWithMonitor`, and as `processWithMonitor` for a copy-in call.
|
|
222
|
+
|
|
223
|
+
### Mastering preview inside the worklet
|
|
224
|
+
|
|
225
|
+
`StreamingMasteringChain` is exported from `@libraz/libsonare/worklet`, so a live
|
|
226
|
+
preview can run in the render realm instead of round-tripping audio to the main
|
|
227
|
+
thread. Build and `prepare()` it from a message handler — `prepare()` allocates
|
|
228
|
+
and must not run inside `process()`. An enabled `loudness` stage needs the
|
|
229
|
+
offline-measured `loudnessStaticGainDb`, since whole-signal integrated LUFS
|
|
230
|
+
cannot be measured block by block. The chain is a host-side stage: it is outside
|
|
231
|
+
the engine's own delay compensation, so aligning it against other engine outputs
|
|
232
|
+
is the caller's job.
|
|
233
|
+
|
|
201
234
|
## Capabilities
|
|
202
235
|
|
|
203
236
|
Every area below has runnable examples and the full API in the
|
package/dist/analysis.d.ts
CHANGED
|
@@ -2393,6 +2393,9 @@ interface WasmRealtimeEngine {
|
|
|
2393
2393
|
prepareChannels: (numChannels: number, maxFrames: number) => void;
|
|
2394
2394
|
getChannelBuffer: (channel: number, numFrames: number) => Float32Array;
|
|
2395
2395
|
processPrepared: (numFrames: number) => void;
|
|
2396
|
+
prepareMonitorChannels: (numChannels: number, maxFrames: number) => void;
|
|
2397
|
+
getMonitorChannelBuffer: (channel: number, numFrames: number) => Float32Array;
|
|
2398
|
+
processPreparedWithMonitor: (numFrames: number) => void;
|
|
2396
2399
|
processWithMonitor: (channels: Float32Array[]) => WasmEngineProcessWithMonitorResult;
|
|
2397
2400
|
renderOffline: (channels: Float32Array[], blockSize: number) => Float32Array[];
|
|
2398
2401
|
bounceOffline: (options: WasmEngineBounceOptions) => WasmEngineBounceResult;
|
package/dist/index.d.ts
CHANGED
|
@@ -2825,6 +2825,37 @@ interface ProjectNotePairValidation {
|
|
|
2825
2825
|
/** Count of note-offs with no preceding matching note-on. */
|
|
2826
2826
|
unmatchedNoteOffs: number;
|
|
2827
2827
|
}
|
|
2828
|
+
/**
|
|
2829
|
+
* Request form of {@link Project.bakeMidiFx}. The positional
|
|
2830
|
+
* `(clipId, configJson)` call stays supported and normalizes to this shape.
|
|
2831
|
+
*/
|
|
2832
|
+
interface ProjectMidiFxBakeRequest {
|
|
2833
|
+
/** Target MIDI clip id. */
|
|
2834
|
+
clipId: number;
|
|
2835
|
+
/** MIDI-FX chain configuration as JSON. */
|
|
2836
|
+
configJson: string;
|
|
2837
|
+
/** Return per-event provenance in the result. Default false. */
|
|
2838
|
+
withSourceIndex?: boolean;
|
|
2839
|
+
}
|
|
2840
|
+
/** Result of the request form of {@link Project.bakeMidiFx}. */
|
|
2841
|
+
interface ProjectMidiFxBakeResult {
|
|
2842
|
+
/**
|
|
2843
|
+
* One entry per transformed event in canonical order: the index of the input
|
|
2844
|
+
* event it derives from, or -1 for an event with no originating input. Chord
|
|
2845
|
+
* and arpeggiator fan-out makes several outputs share one source index, so a
|
|
2846
|
+
* caller that treats the first output per index as the same event and the
|
|
2847
|
+
* rest as newly generated can carry a selection across the bake. Present only
|
|
2848
|
+
* when the request set `withSourceIndex`.
|
|
2849
|
+
*/
|
|
2850
|
+
sourceIndex?: Int32Array;
|
|
2851
|
+
}
|
|
2852
|
+
/** Request form of {@link Project.previewMidiFxCount}. */
|
|
2853
|
+
interface ProjectMidiFxPreviewRequest {
|
|
2854
|
+
/** Target MIDI clip id. */
|
|
2855
|
+
clipId: number;
|
|
2856
|
+
/** MIDI-FX chain configuration as JSON. */
|
|
2857
|
+
configJson: string;
|
|
2858
|
+
}
|
|
2828
2859
|
/** One compile diagnostic (mirrors SonareProjectDiagnostic). */
|
|
2829
2860
|
interface ProjectDiagnostic {
|
|
2830
2861
|
code: number;
|
|
@@ -3034,6 +3065,17 @@ declare class Project {
|
|
|
3034
3065
|
* drained without truncation; failure leaves the original clip unchanged.
|
|
3035
3066
|
*/
|
|
3036
3067
|
bakeMidiFx(clipId: number, configJson: string): void;
|
|
3068
|
+
/**
|
|
3069
|
+
* Request form. Setting `withSourceIndex` also returns per-event provenance,
|
|
3070
|
+
* so a selection or an editorial annotation can be carried across the bake.
|
|
3071
|
+
*/
|
|
3072
|
+
bakeMidiFx(request: ProjectMidiFxBakeRequest): ProjectMidiFxBakeResult;
|
|
3073
|
+
/**
|
|
3074
|
+
* Count the events {@link bakeMidiFx} would produce for this clip and
|
|
3075
|
+
* configuration, without mutating the project. The transform is
|
|
3076
|
+
* deterministic, so the count matches what the bake goes on to produce.
|
|
3077
|
+
*/
|
|
3078
|
+
previewMidiFxCount(request: ProjectMidiFxPreviewRequest): number;
|
|
3037
3079
|
/** Backward alias for {@link bakeMidiFx}. */
|
|
3038
3080
|
setMidiFx(clipId: number, configJson: string): void;
|
|
3039
3081
|
/**
|
|
@@ -3592,6 +3634,15 @@ declare class RealtimeEngine {
|
|
|
3592
3634
|
* Returns `-1` when the track, insert, or name is unknown. (The Python binding
|
|
3593
3635
|
* raises a `SonareError` for an unknown id where Node/WASM return the `-1`
|
|
3594
3636
|
* sentinel.)
|
|
3637
|
+
*
|
|
3638
|
+
* This trio is how a mastering processor gets time-varying automation: the
|
|
3639
|
+
* `eq.*`, `dynamics.*`, `saturation.*`, `spectral.*`, `stereo.*`,
|
|
3640
|
+
* `maximizer.*` and `multiband.*` processors are all available as strip
|
|
3641
|
+
* inserts, so placing one on a strip and resolving its parameter here drives
|
|
3642
|
+
* it at audio-block precision, live and offline alike. The whole-signal
|
|
3643
|
+
* stages of the offline mastering chain (`repair.*`, `loudness`, and the
|
|
3644
|
+
* match stages) have no insert form and no automation id: they buffer the
|
|
3645
|
+
* entire signal by construction and do not run on the realtime path.
|
|
3595
3646
|
*/
|
|
3596
3647
|
resolveTrackInsertAutomationId(trackId: number, insertIndex: number, paramName: string): number;
|
|
3597
3648
|
resolveMasterInsertAutomationId(insertIndex: number, paramName: string): number;
|
|
@@ -3658,6 +3709,27 @@ declare class RealtimeEngine {
|
|
|
3658
3709
|
* `prepareChannels`.
|
|
3659
3710
|
*/
|
|
3660
3711
|
processPrepared(numFrames: number): void;
|
|
3712
|
+
/**
|
|
3713
|
+
* Allocates the cue-bus counterpart of {@link prepareChannels}. Needed only
|
|
3714
|
+
* when PFL/AFL monitoring must reach a separate output: `processPrepared`
|
|
3715
|
+
* folds the cue bus into the program output, while
|
|
3716
|
+
* {@link processPreparedWithMonitor} keeps the two apart. Call once, off the
|
|
3717
|
+
* audio thread, with at least as many channels as `prepareChannels` got.
|
|
3718
|
+
*/
|
|
3719
|
+
prepareMonitorChannels(numChannels: number, maxFrames: number): void;
|
|
3720
|
+
/**
|
|
3721
|
+
* Returns a Float32Array view onto the persistent cue-bus scratch for one
|
|
3722
|
+
* channel (valid for up to `numFrames`). Read it after
|
|
3723
|
+
* {@link processPreparedWithMonitor}. Re-acquire after WASM memory growth.
|
|
3724
|
+
*/
|
|
3725
|
+
getMonitorChannelBuffer(channel: number, numFrames: number): Float32Array;
|
|
3726
|
+
/**
|
|
3727
|
+
* Runs the engine in place over the prepared scratch, writing the cue bus to
|
|
3728
|
+
* the monitor scratch instead of folding it into the program output.
|
|
3729
|
+
* Allocation-free: safe on the AudioWorklet render thread after
|
|
3730
|
+
* `prepareChannels` and `prepareMonitorChannels`.
|
|
3731
|
+
*/
|
|
3732
|
+
processPreparedWithMonitor(numFrames: number): void;
|
|
3661
3733
|
processWithMonitor(channels: Float32Array[]): WasmEngineProcessWithMonitorResult;
|
|
3662
3734
|
renderOffline(channels: Float32Array[], blockSize?: number): Float32Array[];
|
|
3663
3735
|
bounceOffline(options: EngineBounceOptions): EngineBounceResult;
|
|
@@ -5094,6 +5166,207 @@ declare function mfccToAudio(mfccCoefficients: Float32Array, nMfcc: number, nFra
|
|
|
5094
5166
|
declare function chroma(request: SpectrogramRequest): ChromaResult;
|
|
5095
5167
|
declare function chroma(samples: Float32Array, sampleRate?: number, nFft?: number, hopLength?: number, options?: GuardedOptions$1): ChromaResult;
|
|
5096
5168
|
|
|
5169
|
+
type EqPhaseMode = 'zero' | 'zero-latency' | 'zero_latency' | 'natural' | 'natural-phase' | 'natural_phase' | 'linear' | 'linear-phase' | 'linear_phase' | number;
|
|
5170
|
+
/**
|
|
5171
|
+
* Block-by-block streaming variant of {@link masteringChain}.
|
|
5172
|
+
*
|
|
5173
|
+
* Maintains processor state across {@link processMono}/{@link processStereo}
|
|
5174
|
+
* calls. Only ProcessorBase-backed stages are supported. Configurations that
|
|
5175
|
+
* enable `repair.denoise` throw at construction. An enabled `loudness` stage
|
|
5176
|
+
* also throws unless {@link StreamingMasteringChainConfig.loudnessStaticGainDb}
|
|
5177
|
+
* supplies a precomputed normalization gain.
|
|
5178
|
+
*
|
|
5179
|
+
* Call {@link delete} (or use a `try/finally`) to release the underlying WASM
|
|
5180
|
+
* object — the embind handle is not garbage-collected automatically.
|
|
5181
|
+
*
|
|
5182
|
+
* Reachable from the AudioWorklet realm through the `sonare/worklet` entry, but
|
|
5183
|
+
* the realtime contract is the caller's to keep:
|
|
5184
|
+
*
|
|
5185
|
+
* - {@link prepare} builds the processors and allocates. Call it once from a
|
|
5186
|
+
* message handler, never from `AudioWorkletProcessor.process()`.
|
|
5187
|
+
* - {@link processMono}/{@link processStereo} return fresh arrays. On the render
|
|
5188
|
+
* thread, reuse the returned reference for the block rather than retaining it.
|
|
5189
|
+
* - An enabled `loudness` stage needs `loudnessStaticGainDb` measured offline,
|
|
5190
|
+
* because whole-signal integrated LUFS cannot be measured block by block. Pass
|
|
5191
|
+
* `loudnessStaticGainPeakDb` too and the static gain is clamped exactly as the
|
|
5192
|
+
* offline chain clamps it, so the live preview matches the render.
|
|
5193
|
+
* - {@link flush} output starts {@link latencySamples} samples early; discard
|
|
5194
|
+
* that many leading samples when time alignment matters.
|
|
5195
|
+
*
|
|
5196
|
+
* The chain is a host-side stage, not an engine insert: it does not participate
|
|
5197
|
+
* in the engine's PDC or bypass, so latency compensation against other engine
|
|
5198
|
+
* outputs is also the caller's.
|
|
5199
|
+
*
|
|
5200
|
+
* @example
|
|
5201
|
+
* ```typescript
|
|
5202
|
+
* const chain = new StreamingMasteringChain({ eq: { tiltDb: 1.0 } });
|
|
5203
|
+
* try {
|
|
5204
|
+
* chain.prepare(44100, 512, 1);
|
|
5205
|
+
* const out = chain.processMono(blockSamples);
|
|
5206
|
+
* } finally {
|
|
5207
|
+
* chain.delete();
|
|
5208
|
+
* }
|
|
5209
|
+
* ```
|
|
5210
|
+
*/
|
|
5211
|
+
declare class StreamingMasteringChain {
|
|
5212
|
+
private chain;
|
|
5213
|
+
constructor(config: StreamingMasteringChainConfig);
|
|
5214
|
+
/**
|
|
5215
|
+
* Initialize processors for the given sample rate and block layout.
|
|
5216
|
+
*
|
|
5217
|
+
* @param sampleRate - Sample rate in Hz
|
|
5218
|
+
* @param maxBlockSize - Maximum block size per process call
|
|
5219
|
+
* @param numChannels - 1 (mono) or 2 (stereo)
|
|
5220
|
+
*/
|
|
5221
|
+
prepare(sampleRate: number, maxBlockSize: number, numChannels: number): void;
|
|
5222
|
+
/**
|
|
5223
|
+
* Process one mono block, returning the processed samples (same length).
|
|
5224
|
+
*/
|
|
5225
|
+
processMono(samples: Float32Array): Float32Array;
|
|
5226
|
+
/**
|
|
5227
|
+
* Process one stereo block, returning the processed channels.
|
|
5228
|
+
*/
|
|
5229
|
+
processStereo(left: Float32Array, right: Float32Array): {
|
|
5230
|
+
left: Float32Array;
|
|
5231
|
+
right: Float32Array;
|
|
5232
|
+
};
|
|
5233
|
+
/**
|
|
5234
|
+
* Emit delayed audio and finite processor tails after the final mono block.
|
|
5235
|
+
* Call until this returns an empty array. The initial `latencySamples()`
|
|
5236
|
+
* samples of the concatenated stream are delayed and should be discarded for
|
|
5237
|
+
* time-aligned output.
|
|
5238
|
+
*/
|
|
5239
|
+
flushMono(): Float32Array;
|
|
5240
|
+
/** Stereo counterpart of {@link flushMono}. */
|
|
5241
|
+
flushStereo(): {
|
|
5242
|
+
left: Float32Array;
|
|
5243
|
+
right: Float32Array;
|
|
5244
|
+
};
|
|
5245
|
+
/** Reset all processor state without rebuilding. */
|
|
5246
|
+
reset(): void;
|
|
5247
|
+
/** Total reported latency in samples across all active processors. */
|
|
5248
|
+
latencySamples(): number;
|
|
5249
|
+
/** Ordered stage names that will run (e.g. `"eq.tilt"`). */
|
|
5250
|
+
stageNames(): string[];
|
|
5251
|
+
/** Release the underlying WASM object. Safe to call only once. */
|
|
5252
|
+
delete(): void;
|
|
5253
|
+
}
|
|
5254
|
+
/**
|
|
5255
|
+
* Block-by-block streaming equalizer wrapping the unified C++
|
|
5256
|
+
* `EqualizerProcessor` (up to 24 bands, RBJ/Vicanek biquads, dynamic EQ,
|
|
5257
|
+
* linear-phase FIR, mid/side processing, and auto-gain).
|
|
5258
|
+
*
|
|
5259
|
+
* State is maintained across {@link processMono}/{@link processStereo} calls.
|
|
5260
|
+
* Call {@link delete} (or use `try/finally`) to release the underlying WASM
|
|
5261
|
+
* object — the embind handle is not garbage-collected automatically.
|
|
5262
|
+
*
|
|
5263
|
+
* @example
|
|
5264
|
+
* ```typescript
|
|
5265
|
+
* const eq = new StreamingEqualizer({ sampleRate: 48000, maxBlockSize: 512 });
|
|
5266
|
+
* try {
|
|
5267
|
+
* eq.setBand(0, { type: 'HighShelf', frequencyHz: 8000, gainDb: 6, enabled: true });
|
|
5268
|
+
* const out = eq.processStereo(left, right);
|
|
5269
|
+
* const snapshot = eq.spectrum();
|
|
5270
|
+
* } finally {
|
|
5271
|
+
* eq.delete();
|
|
5272
|
+
* }
|
|
5273
|
+
* ```
|
|
5274
|
+
*/
|
|
5275
|
+
declare class StreamingEqualizer {
|
|
5276
|
+
private eq;
|
|
5277
|
+
constructor(config?: StreamingEqualizerConfig);
|
|
5278
|
+
/**
|
|
5279
|
+
* Configure the band at `index` (0..23). Omitted fields use C++ defaults.
|
|
5280
|
+
*/
|
|
5281
|
+
setBand(index: number, band: EqBand): void;
|
|
5282
|
+
/** Disable and reset every band. */
|
|
5283
|
+
clear(): void;
|
|
5284
|
+
/**
|
|
5285
|
+
* Set the global phase mode: `'zero'` | `'natural'` | `'linear'` or 1/2/3.
|
|
5286
|
+
*/
|
|
5287
|
+
setPhaseMode(mode: EqPhaseMode): void;
|
|
5288
|
+
/** Enable or disable output auto-gain compensation. */
|
|
5289
|
+
setAutoGain(enabled: boolean): void;
|
|
5290
|
+
/** Set all-band EQ gain scale as a 0.0..2.0 multiplier. */
|
|
5291
|
+
setGainScale(scale: number): void;
|
|
5292
|
+
/** Set post-EQ output gain in dB. */
|
|
5293
|
+
setOutputGainDb(gainDb: number): void;
|
|
5294
|
+
/** Set post-EQ stereo balance in -1.0..1.0; mono input ignores pan. */
|
|
5295
|
+
setOutputPan(pan: number): void;
|
|
5296
|
+
/**
|
|
5297
|
+
* Provide a mono external sidechain key for dynamic bands that opt into
|
|
5298
|
+
* `external_sidechain`. The samples are copied into an owned buffer.
|
|
5299
|
+
*/
|
|
5300
|
+
setSidechainMono(samples: Float32Array): void;
|
|
5301
|
+
/**
|
|
5302
|
+
* Provide a stereo external sidechain key. Both channels must match length.
|
|
5303
|
+
*/
|
|
5304
|
+
setSidechainStereo(left: Float32Array, right: Float32Array): void;
|
|
5305
|
+
/** Release any borrowed external sidechain buffers. */
|
|
5306
|
+
clearSidechain(): void;
|
|
5307
|
+
/** Auto-gain applied on the most recent block, in dB. */
|
|
5308
|
+
lastAutoGainDb(): number;
|
|
5309
|
+
/** Reported processing latency in samples (non-zero for linear-phase bands). */
|
|
5310
|
+
latencySamples(): number;
|
|
5311
|
+
/**
|
|
5312
|
+
* Process one mono block, returning the equalized samples (same length).
|
|
5313
|
+
*/
|
|
5314
|
+
processMono(samples: Float32Array): Float32Array;
|
|
5315
|
+
/**
|
|
5316
|
+
* Process one stereo block, returning the equalized channels.
|
|
5317
|
+
*/
|
|
5318
|
+
processStereo(left: Float32Array, right: Float32Array): {
|
|
5319
|
+
left: Float32Array;
|
|
5320
|
+
right: Float32Array;
|
|
5321
|
+
};
|
|
5322
|
+
/**
|
|
5323
|
+
* Read the latest pre/post spectrum snapshot for metering. `seq` increments
|
|
5324
|
+
* each time a new snapshot is published.
|
|
5325
|
+
*/
|
|
5326
|
+
spectrum(): EqSpectrumSnapshot;
|
|
5327
|
+
/**
|
|
5328
|
+
* Configure bands so the source spectrum matches the reference spectrum.
|
|
5329
|
+
*
|
|
5330
|
+
* @param source - Source audio (mono samples)
|
|
5331
|
+
* @param reference - Reference audio (mono samples)
|
|
5332
|
+
* @param options - `sampleRate` (default 48000) and `maxBands` (default 8)
|
|
5333
|
+
*/
|
|
5334
|
+
match(source: Float32Array, reference: Float32Array, options?: EqMatchOptions): void;
|
|
5335
|
+
/** Release the underlying WASM object. Safe to call only once. */
|
|
5336
|
+
delete(): void;
|
|
5337
|
+
}
|
|
5338
|
+
/**
|
|
5339
|
+
* Block-by-block mono voice retune / pitch shifter.
|
|
5340
|
+
*
|
|
5341
|
+
* State is maintained across {@link processMono} calls. Call {@link prepare}
|
|
5342
|
+
* before processing, and call {@link delete} (or use `try/finally`) to release
|
|
5343
|
+
* the underlying WASM object.
|
|
5344
|
+
*/
|
|
5345
|
+
declare class StreamingRetune {
|
|
5346
|
+
private retune;
|
|
5347
|
+
constructor(config?: StreamingRetuneConfig);
|
|
5348
|
+
/**
|
|
5349
|
+
* Allocate and initialize native state for the given sample rate and maximum
|
|
5350
|
+
* process block size.
|
|
5351
|
+
*/
|
|
5352
|
+
prepare(sampleRate: number, maxBlockSize: number): void;
|
|
5353
|
+
/** Reset delay, grain, and overlap-add state without changing config. */
|
|
5354
|
+
reset(): void;
|
|
5355
|
+
/**
|
|
5356
|
+
* Update retune settings. Changing `grainSize` takes effect after the next
|
|
5357
|
+
* {@link prepare} call.
|
|
5358
|
+
*/
|
|
5359
|
+
setConfig(config: StreamingRetuneConfig): void;
|
|
5360
|
+
/** Current native config. */
|
|
5361
|
+
config(): Required<StreamingRetuneConfig>;
|
|
5362
|
+
/** Resolved grain size in samples after {@link prepare}. */
|
|
5363
|
+
grainSize(): number;
|
|
5364
|
+
/** Process one mono block, returning the shifted samples (same length). */
|
|
5365
|
+
processMono(samples: Float32Array): Float32Array;
|
|
5366
|
+
/** Release the underlying WASM object. Safe to call only once. */
|
|
5367
|
+
delete(): void;
|
|
5368
|
+
}
|
|
5369
|
+
|
|
5097
5370
|
interface SonareWorkletMeterSnapshot {
|
|
5098
5371
|
type: 'meter';
|
|
5099
5372
|
targetId: number;
|
|
@@ -5257,6 +5530,13 @@ interface SonareRealtimeEngineWorkletProcessorOptions {
|
|
|
5257
5530
|
/** Lock-free worklet-to-main-thread MIDI-1 output ring. */
|
|
5258
5531
|
externalMidiSharedBuffer?: SharedArrayBuffer;
|
|
5259
5532
|
externalMidiRingCapacity?: number;
|
|
5533
|
+
/**
|
|
5534
|
+
* Route the PFL/AFL cue bus to the processor's SECOND output instead of
|
|
5535
|
+
* folding it into the program output. Off by default, so an existing
|
|
5536
|
+
* single-output host keeps its current mix sample for sample. The node must
|
|
5537
|
+
* be constructed with two outputs for the cue to be audible.
|
|
5538
|
+
*/
|
|
5539
|
+
cueOutput?: boolean;
|
|
5260
5540
|
}
|
|
5261
5541
|
interface SonareRealtimeEngineNodeCapabilities {
|
|
5262
5542
|
mode: 'sab' | 'postMessage';
|
|
@@ -5268,6 +5548,11 @@ interface SonareRealtimeEngineNodeCapabilities {
|
|
|
5268
5548
|
clipPageRequestsRealtimeSafe: boolean;
|
|
5269
5549
|
/** True when external MIDI uses the SAB output ring rather than postMessage. */
|
|
5270
5550
|
externalMidiRealtimeSafe: boolean;
|
|
5551
|
+
/**
|
|
5552
|
+
* True when the node carries a second output fed by the PFL/AFL cue bus. When
|
|
5553
|
+
* false the cue is folded into the program output, as it always was.
|
|
5554
|
+
*/
|
|
5555
|
+
cueOutput: boolean;
|
|
5271
5556
|
engineAbiVersion?: number;
|
|
5272
5557
|
expectedEngineAbiVersion?: number;
|
|
5273
5558
|
abiCompatible?: boolean;
|
|
@@ -6961,189 +7246,6 @@ declare function validateRealtimeVoiceChangerPresetJson(json: string): {
|
|
|
6961
7246
|
error?: string;
|
|
6962
7247
|
};
|
|
6963
7248
|
|
|
6964
|
-
type EqPhaseMode = 'zero' | 'zero-latency' | 'zero_latency' | 'natural' | 'natural-phase' | 'natural_phase' | 'linear' | 'linear-phase' | 'linear_phase' | number;
|
|
6965
|
-
/**
|
|
6966
|
-
* Block-by-block streaming variant of {@link masteringChain}.
|
|
6967
|
-
*
|
|
6968
|
-
* Maintains processor state across {@link processMono}/{@link processStereo}
|
|
6969
|
-
* calls. Only ProcessorBase-backed stages are supported. Configurations that
|
|
6970
|
-
* enable `repair.denoise` throw at construction. An enabled `loudness` stage
|
|
6971
|
-
* also throws unless {@link StreamingMasteringChainConfig.loudnessStaticGainDb}
|
|
6972
|
-
* supplies a precomputed normalization gain.
|
|
6973
|
-
*
|
|
6974
|
-
* Call {@link delete} (or use a `try/finally`) to release the underlying WASM
|
|
6975
|
-
* object — the embind handle is not garbage-collected automatically.
|
|
6976
|
-
*
|
|
6977
|
-
* @example
|
|
6978
|
-
* ```typescript
|
|
6979
|
-
* const chain = new StreamingMasteringChain({ eq: { tiltDb: 1.0 } });
|
|
6980
|
-
* try {
|
|
6981
|
-
* chain.prepare(44100, 512, 1);
|
|
6982
|
-
* const out = chain.processMono(blockSamples);
|
|
6983
|
-
* } finally {
|
|
6984
|
-
* chain.delete();
|
|
6985
|
-
* }
|
|
6986
|
-
* ```
|
|
6987
|
-
*/
|
|
6988
|
-
declare class StreamingMasteringChain {
|
|
6989
|
-
private chain;
|
|
6990
|
-
constructor(config: StreamingMasteringChainConfig);
|
|
6991
|
-
/**
|
|
6992
|
-
* Initialize processors for the given sample rate and block layout.
|
|
6993
|
-
*
|
|
6994
|
-
* @param sampleRate - Sample rate in Hz
|
|
6995
|
-
* @param maxBlockSize - Maximum block size per process call
|
|
6996
|
-
* @param numChannels - 1 (mono) or 2 (stereo)
|
|
6997
|
-
*/
|
|
6998
|
-
prepare(sampleRate: number, maxBlockSize: number, numChannels: number): void;
|
|
6999
|
-
/**
|
|
7000
|
-
* Process one mono block, returning the processed samples (same length).
|
|
7001
|
-
*/
|
|
7002
|
-
processMono(samples: Float32Array): Float32Array;
|
|
7003
|
-
/**
|
|
7004
|
-
* Process one stereo block, returning the processed channels.
|
|
7005
|
-
*/
|
|
7006
|
-
processStereo(left: Float32Array, right: Float32Array): {
|
|
7007
|
-
left: Float32Array;
|
|
7008
|
-
right: Float32Array;
|
|
7009
|
-
};
|
|
7010
|
-
/**
|
|
7011
|
-
* Emit delayed audio and finite processor tails after the final mono block.
|
|
7012
|
-
* Call until this returns an empty array. The initial `latencySamples()`
|
|
7013
|
-
* samples of the concatenated stream are delayed and should be discarded for
|
|
7014
|
-
* time-aligned output.
|
|
7015
|
-
*/
|
|
7016
|
-
flushMono(): Float32Array;
|
|
7017
|
-
/** Stereo counterpart of {@link flushMono}. */
|
|
7018
|
-
flushStereo(): {
|
|
7019
|
-
left: Float32Array;
|
|
7020
|
-
right: Float32Array;
|
|
7021
|
-
};
|
|
7022
|
-
/** Reset all processor state without rebuilding. */
|
|
7023
|
-
reset(): void;
|
|
7024
|
-
/** Total reported latency in samples across all active processors. */
|
|
7025
|
-
latencySamples(): number;
|
|
7026
|
-
/** Ordered stage names that will run (e.g. `"eq.tilt"`). */
|
|
7027
|
-
stageNames(): string[];
|
|
7028
|
-
/** Release the underlying WASM object. Safe to call only once. */
|
|
7029
|
-
delete(): void;
|
|
7030
|
-
}
|
|
7031
|
-
/**
|
|
7032
|
-
* Block-by-block streaming equalizer wrapping the unified C++
|
|
7033
|
-
* `EqualizerProcessor` (up to 24 bands, RBJ/Vicanek biquads, dynamic EQ,
|
|
7034
|
-
* linear-phase FIR, mid/side processing, and auto-gain).
|
|
7035
|
-
*
|
|
7036
|
-
* State is maintained across {@link processMono}/{@link processStereo} calls.
|
|
7037
|
-
* Call {@link delete} (or use `try/finally`) to release the underlying WASM
|
|
7038
|
-
* object — the embind handle is not garbage-collected automatically.
|
|
7039
|
-
*
|
|
7040
|
-
* @example
|
|
7041
|
-
* ```typescript
|
|
7042
|
-
* const eq = new StreamingEqualizer({ sampleRate: 48000, maxBlockSize: 512 });
|
|
7043
|
-
* try {
|
|
7044
|
-
* eq.setBand(0, { type: 'HighShelf', frequencyHz: 8000, gainDb: 6, enabled: true });
|
|
7045
|
-
* const out = eq.processStereo(left, right);
|
|
7046
|
-
* const snapshot = eq.spectrum();
|
|
7047
|
-
* } finally {
|
|
7048
|
-
* eq.delete();
|
|
7049
|
-
* }
|
|
7050
|
-
* ```
|
|
7051
|
-
*/
|
|
7052
|
-
declare class StreamingEqualizer {
|
|
7053
|
-
private eq;
|
|
7054
|
-
constructor(config?: StreamingEqualizerConfig);
|
|
7055
|
-
/**
|
|
7056
|
-
* Configure the band at `index` (0..23). Omitted fields use C++ defaults.
|
|
7057
|
-
*/
|
|
7058
|
-
setBand(index: number, band: EqBand): void;
|
|
7059
|
-
/** Disable and reset every band. */
|
|
7060
|
-
clear(): void;
|
|
7061
|
-
/**
|
|
7062
|
-
* Set the global phase mode: `'zero'` | `'natural'` | `'linear'` or 1/2/3.
|
|
7063
|
-
*/
|
|
7064
|
-
setPhaseMode(mode: EqPhaseMode): void;
|
|
7065
|
-
/** Enable or disable output auto-gain compensation. */
|
|
7066
|
-
setAutoGain(enabled: boolean): void;
|
|
7067
|
-
/** Set all-band EQ gain scale as a 0.0..2.0 multiplier. */
|
|
7068
|
-
setGainScale(scale: number): void;
|
|
7069
|
-
/** Set post-EQ output gain in dB. */
|
|
7070
|
-
setOutputGainDb(gainDb: number): void;
|
|
7071
|
-
/** Set post-EQ stereo balance in -1.0..1.0; mono input ignores pan. */
|
|
7072
|
-
setOutputPan(pan: number): void;
|
|
7073
|
-
/**
|
|
7074
|
-
* Provide a mono external sidechain key for dynamic bands that opt into
|
|
7075
|
-
* `external_sidechain`. The samples are copied into an owned buffer.
|
|
7076
|
-
*/
|
|
7077
|
-
setSidechainMono(samples: Float32Array): void;
|
|
7078
|
-
/**
|
|
7079
|
-
* Provide a stereo external sidechain key. Both channels must match length.
|
|
7080
|
-
*/
|
|
7081
|
-
setSidechainStereo(left: Float32Array, right: Float32Array): void;
|
|
7082
|
-
/** Release any borrowed external sidechain buffers. */
|
|
7083
|
-
clearSidechain(): void;
|
|
7084
|
-
/** Auto-gain applied on the most recent block, in dB. */
|
|
7085
|
-
lastAutoGainDb(): number;
|
|
7086
|
-
/** Reported processing latency in samples (non-zero for linear-phase bands). */
|
|
7087
|
-
latencySamples(): number;
|
|
7088
|
-
/**
|
|
7089
|
-
* Process one mono block, returning the equalized samples (same length).
|
|
7090
|
-
*/
|
|
7091
|
-
processMono(samples: Float32Array): Float32Array;
|
|
7092
|
-
/**
|
|
7093
|
-
* Process one stereo block, returning the equalized channels.
|
|
7094
|
-
*/
|
|
7095
|
-
processStereo(left: Float32Array, right: Float32Array): {
|
|
7096
|
-
left: Float32Array;
|
|
7097
|
-
right: Float32Array;
|
|
7098
|
-
};
|
|
7099
|
-
/**
|
|
7100
|
-
* Read the latest pre/post spectrum snapshot for metering. `seq` increments
|
|
7101
|
-
* each time a new snapshot is published.
|
|
7102
|
-
*/
|
|
7103
|
-
spectrum(): EqSpectrumSnapshot;
|
|
7104
|
-
/**
|
|
7105
|
-
* Configure bands so the source spectrum matches the reference spectrum.
|
|
7106
|
-
*
|
|
7107
|
-
* @param source - Source audio (mono samples)
|
|
7108
|
-
* @param reference - Reference audio (mono samples)
|
|
7109
|
-
* @param options - `sampleRate` (default 48000) and `maxBands` (default 8)
|
|
7110
|
-
*/
|
|
7111
|
-
match(source: Float32Array, reference: Float32Array, options?: EqMatchOptions): void;
|
|
7112
|
-
/** Release the underlying WASM object. Safe to call only once. */
|
|
7113
|
-
delete(): void;
|
|
7114
|
-
}
|
|
7115
|
-
/**
|
|
7116
|
-
* Block-by-block mono voice retune / pitch shifter.
|
|
7117
|
-
*
|
|
7118
|
-
* State is maintained across {@link processMono} calls. Call {@link prepare}
|
|
7119
|
-
* before processing, and call {@link delete} (or use `try/finally`) to release
|
|
7120
|
-
* the underlying WASM object.
|
|
7121
|
-
*/
|
|
7122
|
-
declare class StreamingRetune {
|
|
7123
|
-
private retune;
|
|
7124
|
-
constructor(config?: StreamingRetuneConfig);
|
|
7125
|
-
/**
|
|
7126
|
-
* Allocate and initialize native state for the given sample rate and maximum
|
|
7127
|
-
* process block size.
|
|
7128
|
-
*/
|
|
7129
|
-
prepare(sampleRate: number, maxBlockSize: number): void;
|
|
7130
|
-
/** Reset delay, grain, and overlap-add state without changing config. */
|
|
7131
|
-
reset(): void;
|
|
7132
|
-
/**
|
|
7133
|
-
* Update retune settings. Changing `grainSize` takes effect after the next
|
|
7134
|
-
* {@link prepare} call.
|
|
7135
|
-
*/
|
|
7136
|
-
setConfig(config: StreamingRetuneConfig): void;
|
|
7137
|
-
/** Current native config. */
|
|
7138
|
-
config(): Required<StreamingRetuneConfig>;
|
|
7139
|
-
/** Resolved grain size in samples after {@link prepare}. */
|
|
7140
|
-
grainSize(): number;
|
|
7141
|
-
/** Process one mono block, returning the shifted samples (same length). */
|
|
7142
|
-
processMono(samples: Float32Array): Float32Array;
|
|
7143
|
-
/** Release the underlying WASM object. Safe to call only once. */
|
|
7144
|
-
delete(): void;
|
|
7145
|
-
}
|
|
7146
|
-
|
|
7147
7249
|
interface WebMidiEngine {
|
|
7148
7250
|
bindMidiCc(channel: number, controller: number, paramId: number, options?: MidiCcBindOptions): void;
|
|
7149
7251
|
setMidiInputSource(destinationId?: number): void;
|
|
@@ -7389,4 +7491,4 @@ declare function voiceCharacterPresetId(preset: VoicePresetId | number): VoicePr
|
|
|
7389
7491
|
*/
|
|
7390
7492
|
declare function realtimeVoiceChangerPresetConfig(preset: VoicePresetId | number): RealtimeVoiceChangerPodConfig;
|
|
7391
7493
|
|
|
7392
|
-
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 MasteringStereoParamsRequest, type MasteringStereoResult, type MasteringStreamingPreviewRequest, type MasteringStreamingPreviewStereoRequest, 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 VoicedFlags, 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, masteringAssistantSuggestStereo, masteringAudioProfile, masteringAudioProfileStereo, 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, masteringStreamingPreviewStereo, melDelta, melSpectrogram, melToAudio, melToHz, melToStft, meteringCrestFactorDb, meteringCrestFactorDbStereo, 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 };
|
|
7494
|
+
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 MasteringStereoParamsRequest, type MasteringStereoResult, type MasteringStreamingPreviewRequest, type MasteringStreamingPreviewStereoRequest, 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 ProjectMidiFxBakeRequest, type ProjectMidiFxBakeResult, type ProjectMidiFxPreviewRequest, 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 VoicedFlags, 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, masteringAssistantSuggestStereo, masteringAudioProfile, masteringAudioProfileStereo, 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, masteringStreamingPreviewStereo, melDelta, melSpectrogram, melToAudio, melToHz, melToStft, meteringCrestFactorDb, meteringCrestFactorDbStereo, 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 };
|