@libraz/libsonare 1.7.2 → 1.8.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.
- package/NOTICE +178 -0
- package/README.md +26 -203
- package/dist/_chain_config.d.ts +14 -0
- package/dist/_chain_config.d.ts.map +1 -0
- package/dist/_effects_common.d.ts +6 -0
- package/dist/_effects_common.d.ts.map +1 -0
- package/dist/_feature_validation.d.ts +8 -0
- package/dist/_feature_validation.d.ts.map +1 -0
- package/dist/_fft_options.d.ts +24 -0
- package/dist/_fft_options.d.ts.map +1 -0
- package/dist/align_take.d.ts +50 -0
- package/dist/align_take.d.ts.map +1 -0
- package/dist/analysis.d.ts +29 -5840
- package/dist/analysis.d.ts.map +1 -0
- package/dist/analysis.js +873 -722
- package/dist/analysis.js.map +1 -1
- package/dist/analysis_helpers.d.ts +9 -0
- package/dist/analysis_helpers.d.ts.map +1 -0
- package/dist/audio.d.ts +163 -0
- package/dist/audio.d.ts.map +1 -0
- package/dist/clip_page_streamer.d.ts +133 -0
- package/dist/clip_page_streamer.d.ts.map +1 -0
- package/dist/codes.d.ts +44 -0
- package/dist/codes.d.ts.map +1 -0
- package/dist/effects_mastering.d.ts +23 -0
- package/dist/effects_mastering.d.ts.map +1 -0
- package/dist/effects_note_ops.d.ts +477 -0
- package/dist/effects_note_ops.d.ts.map +1 -0
- package/dist/effects_percussive.d.ts +185 -0
- package/dist/effects_percussive.d.ts.map +1 -0
- package/dist/effects_separation.d.ts +65 -0
- package/dist/effects_separation.d.ts.map +1 -0
- package/dist/effects_spectral.d.ts +28 -0
- package/dist/effects_spectral.d.ts.map +1 -0
- package/dist/effects_timepitch.d.ts +129 -0
- package/dist/effects_timepitch.d.ts.map +1 -0
- package/dist/effects_voice_change.d.ts +53 -0
- package/dist/effects_voice_change.d.ts.map +1 -0
- package/dist/errors.d.ts +51 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/feature_core.d.ts +341 -0
- package/dist/feature_core.d.ts.map +1 -0
- package/dist/feature_decompose.d.ts +278 -0
- package/dist/feature_decompose.d.ts.map +1 -0
- package/dist/feature_inverse.d.ts +128 -0
- package/dist/feature_inverse.d.ts.map +1 -0
- package/dist/feature_loudness.d.ts +66 -0
- package/dist/feature_loudness.d.ts.map +1 -0
- package/dist/feature_music.d.ts +307 -0
- package/dist/feature_music.d.ts.map +1 -0
- package/dist/feature_pitch.d.ts +108 -0
- package/dist/feature_pitch.d.ts.map +1 -0
- package/dist/feature_resample.d.ts +16 -0
- package/dist/feature_resample.d.ts.map +1 -0
- package/dist/feature_spectral.d.ts +137 -0
- package/dist/feature_spectral.d.ts.map +1 -0
- package/dist/feature_spectrogram.d.ts +198 -0
- package/dist/feature_spectrogram.d.ts.map +1 -0
- package/dist/features.d.ts +10 -0
- package/dist/features.d.ts.map +1 -0
- package/dist/hrtf/default.shrf +0 -0
- package/dist/index.d.ts +74 -7431
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3758 -1362
- package/dist/index.js.map +1 -1
- package/dist/instrument_types.d.ts +517 -0
- package/dist/instrument_types.d.ts.map +1 -0
- package/dist/live_audio.d.ts +35 -0
- package/dist/live_audio.d.ts.map +1 -0
- package/dist/mastering_chain.d.ts +213 -0
- package/dist/mastering_chain.d.ts.map +1 -0
- package/dist/mastering_core.d.ts +457 -0
- package/dist/mastering_core.d.ts.map +1 -0
- package/dist/mastering_dynamics.d.ts +80 -0
- package/dist/mastering_dynamics.d.ts.map +1 -0
- package/dist/metering.d.ts +287 -0
- package/dist/metering.d.ts.map +1 -0
- package/dist/mixer.d.ts +464 -0
- package/dist/mixer.d.ts.map +1 -0
- package/dist/mixing_assistant.d.ts +62 -0
- package/dist/mixing_assistant.d.ts.map +1 -0
- package/dist/mixing_oneshot.d.ts +40 -0
- package/dist/mixing_oneshot.d.ts.map +1 -0
- package/dist/module_state.d.ts +15 -0
- package/dist/module_state.d.ts.map +1 -0
- package/dist/opfs_clip_pages.d.ts +28 -0
- package/dist/opfs_clip_pages.d.ts.map +1 -0
- package/dist/playback_renderer.d.ts +128 -0
- package/dist/playback_renderer.d.ts.map +1 -0
- package/dist/polyphony.d.ts +202 -0
- package/dist/polyphony.d.ts.map +1 -0
- package/dist/project.d.ts +8 -0
- package/dist/project.d.ts.map +1 -0
- package/dist/project_class.d.ts +562 -0
- package/dist/project_class.d.ts.map +1 -0
- package/dist/project_internal.d.ts +194 -0
- package/dist/project_internal.d.ts.map +1 -0
- package/dist/project_synth.d.ts +74 -0
- package/dist/project_synth.d.ts.map +1 -0
- package/dist/project_types.d.ts +652 -0
- package/dist/project_types.d.ts.map +1 -0
- package/dist/public_types.d.ts +185 -0
- package/dist/public_types.d.ts.map +1 -0
- package/dist/public_types_acoustic.d.ts +215 -0
- package/dist/public_types_acoustic.d.ts.map +1 -0
- package/dist/public_types_mastering.d.ts +510 -0
- package/dist/public_types_mastering.d.ts.map +1 -0
- package/dist/public_types_mixing.d.ts +436 -0
- package/dist/public_types_mixing.d.ts.map +1 -0
- package/dist/public_types_music.d.ts +619 -0
- package/dist/public_types_music.d.ts.map +1 -0
- package/dist/public_types_playback.d.ts +164 -0
- package/dist/public_types_playback.d.ts.map +1 -0
- package/dist/public_types_realtime.d.ts +174 -0
- package/dist/public_types_realtime.d.ts.map +1 -0
- package/dist/public_types_repair.d.ts +424 -0
- package/dist/public_types_repair.d.ts.map +1 -0
- package/dist/public_types_spectral.d.ts +697 -0
- package/dist/public_types_spectral.d.ts.map +1 -0
- package/dist/quick_analysis.d.ts +445 -0
- package/dist/quick_analysis.d.ts.map +1 -0
- package/dist/realtime_engine.d.ts +850 -0
- package/dist/realtime_engine.d.ts.map +1 -0
- package/dist/realtime_voice_changer.d.ts +158 -0
- package/dist/realtime_voice_changer.d.ts.map +1 -0
- package/dist/repair_dereverb.d.ts +187 -0
- package/dist/repair_dereverb.d.ts.map +1 -0
- package/dist/repair_impulsive.d.ts +186 -0
- package/dist/repair_impulsive.d.ts.map +1 -0
- package/dist/repair_noise.d.ts +239 -0
- package/dist/repair_noise.d.ts.map +1 -0
- package/dist/repair_trim.d.ts +123 -0
- package/dist/repair_trim.d.ts.map +1 -0
- package/dist/sample_bank.d.ts +84 -0
- package/dist/sample_bank.d.ts.map +1 -0
- package/dist/scale.d.ts +10 -0
- package/dist/scale.d.ts.map +1 -0
- package/dist/schemas/mixer-scene.schema.json +393 -0
- package/dist/schemas/playback-renderer-config.schema.json +392 -0
- package/dist/sonare-analysis.d.ts +8 -0
- package/dist/sonare-analysis.js +2 -2
- package/dist/sonare-analysis.wasm +0 -0
- package/dist/sonare.d.ts +3909 -0
- package/dist/sonare.js +2 -2
- package/dist/sonare.wasm +0 -0
- package/dist/stream_analyzer.d.ts +163 -0
- package/dist/stream_analyzer.d.ts.map +1 -0
- package/dist/stream_types.d.ts +214 -0
- package/dist/stream_types.d.ts.map +1 -0
- package/dist/streaming_mixing.d.ts +6 -0
- package/dist/streaming_mixing.d.ts.map +1 -0
- package/dist/streaming_processors.d.ts +335 -0
- package/dist/streaming_processors.d.ts.map +1 -0
- package/dist/transcribe.d.ts +77 -0
- package/dist/transcribe.d.ts.map +1 -0
- package/dist/validation.d.ts +140 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/web_midi.d.ts +77 -0
- package/dist/web_midi.d.ts.map +1 -0
- package/dist/worker.d.ts +5 -48
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +94 -41
- package/dist/worker.js.map +1 -1
- package/dist/worker_client.d.ts +96 -0
- package/dist/worker_client.d.ts.map +1 -0
- package/dist/worker_protocol.d.ts +43 -0
- package/dist/worker_protocol.d.ts.map +1 -0
- package/dist/worklet/audio_types.d.ts +21 -0
- package/dist/worklet/audio_types.d.ts.map +1 -0
- package/dist/worklet/engine-automation.d.ts +29 -0
- package/dist/worklet/engine-automation.d.ts.map +1 -0
- package/dist/worklet/engine-capture-facade.d.ts +35 -0
- package/dist/worklet/engine-capture-facade.d.ts.map +1 -0
- package/dist/worklet/engine-clips.d.ts +23 -0
- package/dist/worklet/engine-clips.d.ts.map +1 -0
- package/dist/worklet/engine-markers.d.ts +40 -0
- package/dist/worklet/engine-markers.d.ts.map +1 -0
- package/dist/worklet/engine-mixer-facade.d.ts +128 -0
- package/dist/worklet/engine-mixer-facade.d.ts.map +1 -0
- package/dist/worklet/engine-node.d.ts +81 -0
- package/dist/worklet/engine-node.d.ts.map +1 -0
- package/dist/worklet/engine-offline.d.ts +81 -0
- package/dist/worklet/engine-offline.d.ts.map +1 -0
- package/dist/worklet/engine-options.d.ts +12 -0
- package/dist/worklet/engine-options.d.ts.map +1 -0
- package/dist/worklet/engine-parameter-facade.d.ts +106 -0
- package/dist/worklet/engine-parameter-facade.d.ts.map +1 -0
- package/dist/worklet/engine-processor.d.ts +68 -0
- package/dist/worklet/engine-processor.d.ts.map +1 -0
- package/dist/worklet/engine-register.d.ts +2 -0
- package/dist/worklet/engine-register.d.ts.map +1 -0
- package/dist/worklet/engine-strips.d.ts +73 -0
- package/dist/worklet/engine-strips.d.ts.map +1 -0
- package/dist/worklet/engine-sync.d.ts +37 -0
- package/dist/worklet/engine-sync.d.ts.map +1 -0
- package/dist/worklet/engine-tempo-facade.d.ts +48 -0
- package/dist/worklet/engine-tempo-facade.d.ts.map +1 -0
- package/dist/worklet/engine.d.ts +397 -0
- package/dist/worklet/engine.d.ts.map +1 -0
- package/dist/worklet/guards.d.ts +47 -0
- package/dist/worklet/guards.d.ts.map +1 -0
- package/dist/worklet/messages.d.ts +710 -0
- package/dist/worklet/messages.d.ts.map +1 -0
- package/dist/worklet/mixer-processor.d.ts +46 -0
- package/dist/worklet/mixer-processor.d.ts.map +1 -0
- package/dist/worklet/playback-processor.d.ts +62 -0
- package/dist/worklet/playback-processor.d.ts.map +1 -0
- package/dist/worklet/protocol.d.ts +323 -0
- package/dist/worklet/protocol.d.ts.map +1 -0
- package/dist/worklet/voice-changer-processor.d.ts +41 -0
- package/dist/worklet/voice-changer-processor.d.ts.map +1 -0
- package/dist/worklet.d.ts +16 -2515
- package/dist/worklet.d.ts.map +1 -0
- package/dist/worklet.js +2763 -501
- package/dist/worklet.js.map +1 -1
- package/package.json +23 -12
- package/src/_effects_common.ts +17 -0
- package/src/_feature_validation.ts +34 -0
- package/src/_fft_options.ts +39 -0
- package/src/align_take.ts +64 -0
- package/src/analysis.ts +56 -3
- package/src/analysis_helpers.ts +7 -0
- package/src/audio.ts +106 -3
- package/src/codes.ts +39 -2
- package/src/effects_mastering.ts +97 -22
- package/src/effects_note_ops.ts +635 -0
- package/src/effects_percussive.ts +217 -0
- package/src/effects_separation.ts +150 -0
- package/src/effects_spectral.ts +60 -0
- package/src/effects_timepitch.ts +377 -0
- package/src/errors.ts +23 -1
- package/src/feature_core.ts +127 -2
- package/src/feature_decompose.ts +633 -0
- package/src/feature_inverse.ts +454 -0
- package/src/feature_loudness.ts +125 -0
- package/src/feature_music.ts +107 -14
- package/src/feature_pitch.ts +96 -1
- package/src/feature_spectral.ts +16 -611
- package/src/feature_spectrogram.ts +63 -450
- package/src/features.ts +36 -22
- package/src/index.ts +282 -30
- package/src/instrument_types.ts +645 -0
- package/src/live_audio.ts +27 -1
- package/src/mastering_chain.ts +184 -0
- package/src/mastering_core.ts +346 -32
- package/src/mastering_dynamics.ts +22 -11
- package/src/metering.ts +67 -24
- package/src/mixer.ts +212 -3
- package/src/mixing_assistant.ts +138 -0
- package/src/mixing_oneshot.ts +10 -5
- package/src/module_state.ts +24 -2
- package/src/playback_renderer.ts +252 -0
- package/src/polyphony.ts +279 -0
- package/src/project.ts +61 -24
- package/src/project_class.ts +450 -27
- package/src/project_internal.ts +149 -42
- package/src/project_synth.ts +67 -1
- package/src/project_types.ts +268 -270
- package/src/public_types.ts +122 -3
- package/src/public_types_acoustic.ts +112 -3
- package/src/public_types_mastering.ts +254 -73
- package/src/public_types_mixing.ts +363 -1
- package/src/public_types_music.ts +312 -2
- package/src/public_types_playback.ts +195 -0
- package/src/public_types_realtime.ts +39 -7
- package/src/public_types_repair.ts +446 -0
- package/src/public_types_spectral.ts +487 -1
- package/src/quick_analysis.ts +203 -26
- package/src/realtime_engine.ts +711 -28
- package/src/realtime_voice_changer.ts +55 -1
- package/src/repair_dereverb.ts +299 -0
- package/src/repair_impulsive.ts +395 -0
- package/src/repair_noise.ts +425 -0
- package/src/repair_trim.ts +226 -0
- package/src/sample_bank.ts +113 -0
- package/src/sonare.js.d.ts +1122 -30
- package/src/stream_analyzer.ts +36 -4
- package/src/stream_types.ts +37 -0
- package/src/streaming_mixing.ts +1 -1
- package/src/streaming_processors.ts +194 -10
- package/src/transcribe.ts +89 -0
- package/src/validation.ts +285 -11
- package/src/web_midi.ts +1 -6
- package/src/worker.ts +18 -2
- package/src/worklet/audio_types.ts +37 -0
- package/src/worklet/engine-mixer-facade.ts +444 -10
- package/src/worklet/engine-node.ts +78 -26
- package/src/worklet/engine-offline.ts +14 -8
- package/src/worklet/engine-parameter-facade.ts +21 -0
- package/src/worklet/engine-processor.ts +272 -83
- package/src/worklet/engine-register.ts +32 -18
- package/src/worklet/engine-strips.ts +280 -9
- package/src/worklet/engine-sync.ts +14 -6
- package/src/worklet/engine.ts +365 -31
- package/src/worklet/guards.ts +140 -44
- package/src/worklet/messages.ts +227 -2
- package/src/worklet/mixer-processor.ts +109 -47
- package/src/worklet/playback-processor.ts +300 -0
- package/src/worklet/protocol.ts +53 -3
- package/src/worklet/voice-changer-processor.ts +17 -11
- package/src/worklet.ts +17 -0
- package/src/effects_transform.ts +0 -718
- package/src/mastering_repair.ts +0 -273
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mastering_core.d.ts","sourceRoot":"","sources":["../src/mastering_core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { ValidateOptions } from './validation';
|
|
2
|
+
/** Compressor sidechain detector mode. */
|
|
3
|
+
export type CompressorDetector = 'peak' | 'rms' | 'log_rms';
|
|
4
|
+
/** Options for `masteringDynamicsCompressor`. */
|
|
5
|
+
export interface CompressorOptions extends ValidateOptions {
|
|
6
|
+
thresholdDb?: number;
|
|
7
|
+
ratio?: number;
|
|
8
|
+
attackMs?: number;
|
|
9
|
+
releaseMs?: number;
|
|
10
|
+
kneeDb?: number;
|
|
11
|
+
makeupGainDb?: number;
|
|
12
|
+
autoMakeup?: boolean;
|
|
13
|
+
detector?: CompressorDetector | number;
|
|
14
|
+
sidechainHpfEnabled?: boolean;
|
|
15
|
+
sidechainHpfHz?: number;
|
|
16
|
+
pdrTimeMs?: number;
|
|
17
|
+
pdrReleaseScale?: number;
|
|
18
|
+
}
|
|
19
|
+
/** Canonical request form for the offline compressor. */
|
|
20
|
+
export interface MasteringDynamicsCompressorRequest extends CompressorOptions {
|
|
21
|
+
samples: Float32Array;
|
|
22
|
+
sampleRate: number;
|
|
23
|
+
}
|
|
24
|
+
/** Options for `masteringDynamicsGate`. */
|
|
25
|
+
export interface GateOptions extends ValidateOptions {
|
|
26
|
+
thresholdDb?: number;
|
|
27
|
+
attackMs?: number;
|
|
28
|
+
releaseMs?: number;
|
|
29
|
+
rangeDb?: number;
|
|
30
|
+
holdMs?: number;
|
|
31
|
+
closeThresholdDb?: number;
|
|
32
|
+
keyHpfHz?: number;
|
|
33
|
+
}
|
|
34
|
+
/** Canonical request form for the offline gate. */
|
|
35
|
+
export interface MasteringDynamicsGateRequest extends GateOptions {
|
|
36
|
+
samples: Float32Array;
|
|
37
|
+
sampleRate: number;
|
|
38
|
+
}
|
|
39
|
+
/** Options for `masteringDynamicsTransientShaper`. */
|
|
40
|
+
export interface TransientShaperOptions extends ValidateOptions {
|
|
41
|
+
attackGainDb?: number;
|
|
42
|
+
sustainGainDb?: number;
|
|
43
|
+
fastAttackMs?: number;
|
|
44
|
+
fastReleaseMs?: number;
|
|
45
|
+
slowAttackMs?: number;
|
|
46
|
+
slowReleaseMs?: number;
|
|
47
|
+
sensitivity?: number;
|
|
48
|
+
maxGainDb?: number;
|
|
49
|
+
gainSmoothingMs?: number;
|
|
50
|
+
lookaheadMs?: number;
|
|
51
|
+
}
|
|
52
|
+
/** Canonical request form for the offline transient shaper. */
|
|
53
|
+
export interface MasteringDynamicsTransientShaperRequest extends TransientShaperOptions {
|
|
54
|
+
samples: Float32Array;
|
|
55
|
+
sampleRate: number;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Result envelope returned by offline mastering dynamics processors.
|
|
59
|
+
*
|
|
60
|
+
* Named for what it is rather than for the module it lives in. {@link
|
|
61
|
+
* DynamicsResult} is the *analysis* shape on every binding, so having that one
|
|
62
|
+
* identifier mean two disjoint field lists across the Node and WASM packages
|
|
63
|
+
* made a shared TypeScript module type-check against one and fail against the
|
|
64
|
+
* other — with the identifier resolving either way, so only the member list
|
|
65
|
+
* gave it away.
|
|
66
|
+
*/
|
|
67
|
+
export interface DynamicsProcessorResult {
|
|
68
|
+
samples: Float32Array;
|
|
69
|
+
latencySamples: number;
|
|
70
|
+
}
|
|
71
|
+
/** Offline feed-forward compressor (soft knee, optional auto-makeup / sidechain HPF). */
|
|
72
|
+
export declare function masteringDynamicsCompressor(request: MasteringDynamicsCompressorRequest): DynamicsProcessorResult;
|
|
73
|
+
export declare function masteringDynamicsCompressor(samples: Float32Array, sampleRate: number, options?: CompressorOptions): DynamicsProcessorResult;
|
|
74
|
+
/** Offline noise gate (hysteresis, hold, optional key HPF). */
|
|
75
|
+
export declare function masteringDynamicsGate(request: MasteringDynamicsGateRequest): DynamicsProcessorResult;
|
|
76
|
+
export declare function masteringDynamicsGate(samples: Float32Array, sampleRate: number, options?: GateOptions): DynamicsProcessorResult;
|
|
77
|
+
/** Offline transient shaper (envelope-difference attack/sustain control). */
|
|
78
|
+
export declare function masteringDynamicsTransientShaper(request: MasteringDynamicsTransientShaperRequest): DynamicsProcessorResult;
|
|
79
|
+
export declare function masteringDynamicsTransientShaper(samples: Float32Array, sampleRate: number, options?: TransientShaperOptions): DynamicsProcessorResult;
|
|
80
|
+
//# sourceMappingURL=mastering_dynamics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mastering_dynamics.d.ts","sourceRoot":"","sources":["../src/mastering_dynamics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
import type { ValidateOptions } from './validation';
|
|
2
|
+
/** One contiguous run of clipped samples reported by `meteringDetectClipping`. */
|
|
3
|
+
export interface ClippingRegion {
|
|
4
|
+
startSample: number;
|
|
5
|
+
endSample: number;
|
|
6
|
+
length: number;
|
|
7
|
+
peak: number;
|
|
8
|
+
}
|
|
9
|
+
/** Aggregated clipping report. */
|
|
10
|
+
export interface ClippingReport {
|
|
11
|
+
clippedSamples: number;
|
|
12
|
+
clippingRatio: number;
|
|
13
|
+
maxClippedPeak: number;
|
|
14
|
+
regions: ClippingRegion[];
|
|
15
|
+
}
|
|
16
|
+
/** Sliding-window dynamic range report. */
|
|
17
|
+
export interface DynamicRangeReport {
|
|
18
|
+
dynamicRangeDb: number;
|
|
19
|
+
lowPercentileDb: number;
|
|
20
|
+
highPercentileDb: number;
|
|
21
|
+
windowRmsDb: Float32Array;
|
|
22
|
+
}
|
|
23
|
+
/** Options for {@link meteringDetectClipping}. All fields are optional. */
|
|
24
|
+
export interface MeteringDetectClippingOptions extends ValidateOptions {
|
|
25
|
+
/** Linear absolute threshold. Default 0.999. */
|
|
26
|
+
threshold?: number;
|
|
27
|
+
/** Minimum run length to report. Default 1. */
|
|
28
|
+
minRegionSamples?: number;
|
|
29
|
+
}
|
|
30
|
+
/** Options for {@link meteringDynamicRange}. All fields are optional. */
|
|
31
|
+
export interface MeteringDynamicRangeOptions extends ValidateOptions {
|
|
32
|
+
/** Window length in seconds (0 = library default, 3 s). Default 0. */
|
|
33
|
+
windowSec?: number;
|
|
34
|
+
/** Hop length in seconds (0 = library default, 1 s). Default 0. */
|
|
35
|
+
hopSec?: number;
|
|
36
|
+
/** Low percentile in [0,1] (negative = library default, 0.10). Default -1. */
|
|
37
|
+
lowPercentile?: number;
|
|
38
|
+
/** High percentile in [0,1] (negative = library default, 0.95). Default -1. */
|
|
39
|
+
highPercentile?: number;
|
|
40
|
+
}
|
|
41
|
+
/** Canonical request form for single-channel meter readings. */
|
|
42
|
+
export interface MeteringSamplesRequest extends ValidateOptions {
|
|
43
|
+
samples: Float32Array;
|
|
44
|
+
sampleRate?: number;
|
|
45
|
+
}
|
|
46
|
+
/** Canonical request form for true-peak analysis. */
|
|
47
|
+
export interface MeteringTruePeakRequest extends MeteringSamplesRequest {
|
|
48
|
+
oversampleFactor?: number;
|
|
49
|
+
}
|
|
50
|
+
/** Canonical request form for clipping analysis. */
|
|
51
|
+
export interface MeteringDetectClippingRequest extends MeteringDetectClippingOptions {
|
|
52
|
+
samples: Float32Array;
|
|
53
|
+
sampleRate?: number;
|
|
54
|
+
}
|
|
55
|
+
/** Canonical request form for dynamic-range analysis. */
|
|
56
|
+
export interface MeteringDynamicRangeRequest extends MeteringDynamicRangeOptions {
|
|
57
|
+
samples: Float32Array;
|
|
58
|
+
sampleRate?: number;
|
|
59
|
+
}
|
|
60
|
+
export declare function meteringPeakDb(request: MeteringSamplesRequest): number;
|
|
61
|
+
export declare function meteringPeakDb(samples: Float32Array, sampleRate?: number, options?: ValidateOptions): number;
|
|
62
|
+
export declare function meteringRmsDb(request: MeteringSamplesRequest): number;
|
|
63
|
+
export declare function meteringRmsDb(samples: Float32Array, sampleRate?: number, options?: ValidateOptions): number;
|
|
64
|
+
export interface MeteringSilenceRatioRequest extends MeteringSamplesRequest {
|
|
65
|
+
thresholdDb?: number;
|
|
66
|
+
frameLength?: number;
|
|
67
|
+
hopLength?: number;
|
|
68
|
+
}
|
|
69
|
+
export declare function meteringSilenceRatio(request: MeteringSilenceRatioRequest): number;
|
|
70
|
+
export declare function meteringSilenceRatio(samples: Float32Array, sampleRate?: number, thresholdDb?: number, frameLength?: number, hopLength?: number, options?: ValidateOptions): number;
|
|
71
|
+
export declare function meteringCrestFactorDb(request: MeteringSamplesRequest): number;
|
|
72
|
+
export declare function meteringCrestFactorDb(samples: Float32Array, sampleRate?: number, options?: ValidateOptions): number;
|
|
73
|
+
/**
|
|
74
|
+
* Crest factor in dB across both channels of a stereo pair.
|
|
75
|
+
*
|
|
76
|
+
* Takes the peak across both channels and the RMS over both together. An
|
|
77
|
+
* out-of-phase pair cancels in the `0.5 * (left + right)` downmix
|
|
78
|
+
* {@link meteringCrestFactorDb} would need, which understates its RMS and so
|
|
79
|
+
* overstates the crest factor.
|
|
80
|
+
*/
|
|
81
|
+
export declare function meteringCrestFactorDbStereo(request: MeteringStereoRequest): number;
|
|
82
|
+
export declare function meteringDcOffset(request: MeteringSamplesRequest): number;
|
|
83
|
+
export declare function meteringDcOffset(samples: Float32Array, sampleRate?: number, options?: ValidateOptions): number;
|
|
84
|
+
/**
|
|
85
|
+
* Inter-sample (true) peak in dBFS. `oversampleFactor` must be a power of two
|
|
86
|
+
* in [1, 16]; pass 0 to use the library default (4).
|
|
87
|
+
*/
|
|
88
|
+
export declare function meteringTruePeakDb(request: MeteringTruePeakRequest): number;
|
|
89
|
+
export declare function meteringTruePeakDb(samples: Float32Array, sampleRate?: number, oversampleFactor?: number, options?: ValidateOptions): number;
|
|
90
|
+
/**
|
|
91
|
+
* Detect contiguous runs of clipped samples.
|
|
92
|
+
*
|
|
93
|
+
* @param threshold Linear absolute threshold (default 0.999).
|
|
94
|
+
* @param minRegionSamples Minimum run length to report (default 1).
|
|
95
|
+
*/
|
|
96
|
+
export declare function meteringDetectClipping(request: MeteringDetectClippingRequest): ClippingReport;
|
|
97
|
+
export declare function meteringDetectClipping(samples: Float32Array, sampleRate?: number, options?: MeteringDetectClippingOptions): ClippingReport;
|
|
98
|
+
/**
|
|
99
|
+
* Sliding-window dynamic range for mono audio. Pass 0 for window/hop to use the library
|
|
100
|
+
* default (window=3 s, hop=1 s). The percentiles use a NEGATIVE sentinel for
|
|
101
|
+
* "use the library default" (low=0.10, high=0.95) because 0 is a literal 0th
|
|
102
|
+
* percentile; omitted percentiles therefore default to -1.
|
|
103
|
+
*/
|
|
104
|
+
export declare function meteringDynamicRange(request: MeteringDynamicRangeRequest): DynamicRangeReport;
|
|
105
|
+
export declare function meteringDynamicRange(samples: Float32Array, sampleRate?: number, options?: MeteringDynamicRangeOptions): DynamicRangeReport;
|
|
106
|
+
/** Mid/side vectorscope point series for a (left, right) stereo pair. */
|
|
107
|
+
export interface VectorscopeReport {
|
|
108
|
+
mid: Float32Array;
|
|
109
|
+
side: Float32Array;
|
|
110
|
+
}
|
|
111
|
+
/** Phase-scope (Lissajous) point series plus summary stats. */
|
|
112
|
+
export interface PhaseScopeReport {
|
|
113
|
+
mid: Float32Array;
|
|
114
|
+
side: Float32Array;
|
|
115
|
+
radius: Float32Array;
|
|
116
|
+
angleRad: Float32Array;
|
|
117
|
+
correlation: number;
|
|
118
|
+
averageAbsAngleRad: number;
|
|
119
|
+
maxRadius: number;
|
|
120
|
+
}
|
|
121
|
+
/** Options for `meteringSpectrum`. */
|
|
122
|
+
export interface SpectrumOptions {
|
|
123
|
+
/** FFT size. Pass 0 / omit for the library default (2048). */
|
|
124
|
+
nFft?: number;
|
|
125
|
+
/** Apply fractional-octave smoothing to magnitude. */
|
|
126
|
+
applyOctaveSmoothing?: boolean;
|
|
127
|
+
/** Smoothing fraction (e.g. 3 = 1/3-octave). 0 / omit = library default (3). */
|
|
128
|
+
octaveFraction?: number;
|
|
129
|
+
/** Linear reference for the dB conversion. 0 / omit = 1.0. */
|
|
130
|
+
dbRef?: number;
|
|
131
|
+
/** Linear floor used to avoid log(0). 0 / omit = library default. */
|
|
132
|
+
dbAmin?: number;
|
|
133
|
+
}
|
|
134
|
+
/** Single-frame magnitude / power / dB spectrum returned by `meteringSpectrum`. */
|
|
135
|
+
export interface SpectrumReport {
|
|
136
|
+
frequencies: Float32Array;
|
|
137
|
+
magnitude: Float32Array;
|
|
138
|
+
power: Float32Array;
|
|
139
|
+
db: Float32Array;
|
|
140
|
+
nFft: number;
|
|
141
|
+
sampleRate: number;
|
|
142
|
+
}
|
|
143
|
+
/** Options for {@link waveformPeaks}. All fields are optional. */
|
|
144
|
+
export interface WaveformPeaksOptions extends ValidateOptions {
|
|
145
|
+
/** Bucket width in frames. Default 512. */
|
|
146
|
+
samplesPerBucket?: number;
|
|
147
|
+
}
|
|
148
|
+
/** Options for {@link waveformPeakPyramid}. All fields are optional. */
|
|
149
|
+
export interface WaveformPeakPyramidOptions extends ValidateOptions {
|
|
150
|
+
/** Bucket widths in frames, one per zoom level. Default [512, 1024, 2048, 4096]. */
|
|
151
|
+
samplesPerBucketLevels?: number[];
|
|
152
|
+
}
|
|
153
|
+
/** Canonical request form for stereo meter readings. */
|
|
154
|
+
export interface MeteringStereoRequest extends ValidateOptions {
|
|
155
|
+
left: Float32Array;
|
|
156
|
+
right: Float32Array;
|
|
157
|
+
sampleRate?: number;
|
|
158
|
+
}
|
|
159
|
+
/** Canonical request form for display-decimated stereo scopes. */
|
|
160
|
+
export interface MeteringStereoDecimatedRequest extends MeteringStereoRequest {
|
|
161
|
+
maxPoints?: number;
|
|
162
|
+
}
|
|
163
|
+
/** Options for the scope functions (mirrors the Node `ScopeOptions`). */
|
|
164
|
+
export interface ScopeOptions extends ValidateOptions {
|
|
165
|
+
/**
|
|
166
|
+
* Upper bound on the returned point count. Omit / `0` (or a value `>= length`)
|
|
167
|
+
* yields one point per input sample; otherwise the point cloud is
|
|
168
|
+
* deterministically decimated to at most `maxPoints` points for display.
|
|
169
|
+
*/
|
|
170
|
+
maxPoints?: number;
|
|
171
|
+
}
|
|
172
|
+
/** Canonical request form for whole-signal spectrum analysis. */
|
|
173
|
+
export interface MeteringSpectrumRequest extends SpectrumOptions, ValidateOptions {
|
|
174
|
+
samples: Float32Array;
|
|
175
|
+
sampleRate?: number;
|
|
176
|
+
}
|
|
177
|
+
/** Canonical request form for a single spectrum frame. */
|
|
178
|
+
export interface MeteringSpectrumFrameRequest extends MeteringSpectrumRequest {
|
|
179
|
+
frameOffset?: number;
|
|
180
|
+
}
|
|
181
|
+
/** Canonical request form for waveform bucket generation. */
|
|
182
|
+
export interface WaveformPeaksRequest extends WaveformPeaksOptions {
|
|
183
|
+
samples: Float32Array;
|
|
184
|
+
channels: number;
|
|
185
|
+
}
|
|
186
|
+
/** Canonical request form for multi-resolution waveform bucket generation. */
|
|
187
|
+
export interface WaveformPeakPyramidRequest extends WaveformPeakPyramidOptions {
|
|
188
|
+
samples: Float32Array;
|
|
189
|
+
channels: number;
|
|
190
|
+
}
|
|
191
|
+
/** Per-channel min/max waveform buckets. Arrays are channel-major. */
|
|
192
|
+
export interface WaveformPeaksReport {
|
|
193
|
+
min: Float32Array;
|
|
194
|
+
max: Float32Array;
|
|
195
|
+
channels: number;
|
|
196
|
+
bucketCount: number;
|
|
197
|
+
samplesPerBucket: number;
|
|
198
|
+
}
|
|
199
|
+
/** Uncentered correlation (cosine similarity) in [-1, 1] between equal-length channels. */
|
|
200
|
+
export declare function meteringStereoCorrelation(request: MeteringStereoRequest): number;
|
|
201
|
+
export declare function meteringStereoCorrelation(left: Float32Array, right: Float32Array, sampleRate?: number, options?: ValidateOptions): number;
|
|
202
|
+
/**
|
|
203
|
+
* Stereo width as `sqrt(side_energy / mid_energy)` in `[0, +Infinity)`: the
|
|
204
|
+
* side/mid RMS *amplitude* ratio, not the energy ratio. 0 = pure mono, ~1 =
|
|
205
|
+
* wide stereo, larger = increasingly decorrelated / out-of-phase. The value is
|
|
206
|
+
* unbounded and returns `Infinity` when the mid channel is silent (a
|
|
207
|
+
* mono-collapsed / fully out-of-phase signal).
|
|
208
|
+
*
|
|
209
|
+
* Convert to dB with `20 * Math.log10(value)`; `10 * Math.log10` would
|
|
210
|
+
* understate the true energy ratio by half.
|
|
211
|
+
*/
|
|
212
|
+
export declare function meteringStereoWidth(request: MeteringStereoRequest): number;
|
|
213
|
+
export declare function meteringStereoWidth(left: Float32Array, right: Float32Array, sampleRate?: number, options?: ValidateOptions): number;
|
|
214
|
+
/**
|
|
215
|
+
* Mid/side vectorscope point series. By default emits one point per input
|
|
216
|
+
* sample; pass `maxPoints` to get a display-sized decimated point set (matching
|
|
217
|
+
* the Node `meteringVectorscope` shape).
|
|
218
|
+
*/
|
|
219
|
+
export declare function meteringVectorscope(request: MeteringStereoDecimatedRequest): VectorscopeReport;
|
|
220
|
+
export declare function meteringVectorscope(left: Float32Array, right: Float32Array, sampleRate?: number, options?: ScopeOptions): VectorscopeReport;
|
|
221
|
+
/**
|
|
222
|
+
* Display-sized mid/side vectorscope.
|
|
223
|
+
*
|
|
224
|
+
* @deprecated Pass `maxPoints` to {@link meteringVectorscope} instead; it now
|
|
225
|
+
* folds `maxPoints` into the request, matching the Node surface. This alias is
|
|
226
|
+
* kept for backward compatibility and simply delegates.
|
|
227
|
+
*/
|
|
228
|
+
export declare function meteringVectorscopeDecimated(request: MeteringStereoDecimatedRequest): VectorscopeReport;
|
|
229
|
+
export declare function meteringVectorscopeDecimated(left: Float32Array, right: Float32Array, sampleRate?: number, maxPoints?: number, options?: ValidateOptions): VectorscopeReport;
|
|
230
|
+
/**
|
|
231
|
+
* Phase-scope point series plus summary stats. By default emits one point per
|
|
232
|
+
* input sample; pass `maxPoints` to decimate the point cloud for display
|
|
233
|
+
* (matching the Node `meteringPhaseScope` shape). The summary stats are always
|
|
234
|
+
* computed over the full-resolution signal.
|
|
235
|
+
*/
|
|
236
|
+
export declare function meteringPhaseScope(request: MeteringStereoDecimatedRequest): PhaseScopeReport;
|
|
237
|
+
export declare function meteringPhaseScope(left: Float32Array, right: Float32Array, sampleRate?: number, options?: ScopeOptions): PhaseScopeReport;
|
|
238
|
+
/**
|
|
239
|
+
* Display-sized phase scope.
|
|
240
|
+
*
|
|
241
|
+
* @deprecated Pass `maxPoints` to {@link meteringPhaseScope} instead; it now
|
|
242
|
+
* folds `maxPoints` into the request, matching the Node surface. This alias is
|
|
243
|
+
* kept for backward compatibility and simply delegates.
|
|
244
|
+
*/
|
|
245
|
+
export declare function meteringPhaseScopeDecimated(request: MeteringStereoDecimatedRequest): PhaseScopeReport;
|
|
246
|
+
export declare function meteringPhaseScopeDecimated(left: Float32Array, right: Float32Array, sampleRate?: number, maxPoints?: number, options?: ValidateOptions): PhaseScopeReport;
|
|
247
|
+
/**
|
|
248
|
+
* Welch-averaged magnitude / power / dB spectrum over the WHOLE mono signal (split
|
|
249
|
+
* into Hann-windowed, 50%-overlapping `nFft`-length frames whose power spectra
|
|
250
|
+
* are averaged). For a true single-frame snapshot, use
|
|
251
|
+
* {@link meteringSpectrumFrame}.
|
|
252
|
+
*/
|
|
253
|
+
export declare function meteringSpectrum(request: MeteringSpectrumRequest): SpectrumReport;
|
|
254
|
+
export declare function meteringSpectrum(samples: Float32Array, sampleRate?: number, options?: SpectrumOptions & ValidateOptions): SpectrumReport;
|
|
255
|
+
/**
|
|
256
|
+
* True single-frame magnitude / power / dB spectrum (one Hann-windowed
|
|
257
|
+
* `nFft`-length FFT), for spectrum-analyzer "moment" snapshots that must not be
|
|
258
|
+
* time-averaged like {@link meteringSpectrum}. The analysis frame spans
|
|
259
|
+
* `[frameOffset, frameOffset + nFft)`; samples past the end are zero-padded.
|
|
260
|
+
*
|
|
261
|
+
* The frame is also the only span validated: a non-finite sample inside it is
|
|
262
|
+
* rejected, while one outside it neither reaches the FFT nor refuses the call.
|
|
263
|
+
* The emptiness and `sampleRate` checks still cover the whole buffer. Cost per
|
|
264
|
+
* call is therefore set by `nFft` rather than by the length of the buffer, so an
|
|
265
|
+
* analyzer may poll a long recording frame by frame.
|
|
266
|
+
*/
|
|
267
|
+
export declare function meteringSpectrumFrame(request: MeteringSpectrumFrameRequest): SpectrumReport;
|
|
268
|
+
export declare function meteringSpectrumFrame(samples: Float32Array, sampleRate?: number, frameOffset?: number, options?: SpectrumOptions & ValidateOptions): SpectrumReport;
|
|
269
|
+
/**
|
|
270
|
+
* Compute per-channel min/max waveform buckets from interleaved audio.
|
|
271
|
+
*
|
|
272
|
+
* A non-finite sample is rejected rather than skipped, and `{ validate: false }`
|
|
273
|
+
* does not change that — it only skips the JS pre-scan that names the offending
|
|
274
|
+
* index. A bucket whose samples are not finite has no min/max to report, and the
|
|
275
|
+
* `0`/`0` it would otherwise carry is what a waveform display draws as silence.
|
|
276
|
+
*/
|
|
277
|
+
export declare function waveformPeaks(request: WaveformPeaksRequest): WaveformPeaksReport;
|
|
278
|
+
export declare function waveformPeaks(samples: Float32Array, channels: number, options?: WaveformPeaksOptions): WaveformPeaksReport;
|
|
279
|
+
/**
|
|
280
|
+
* Compute waveform peak buckets for several zoom levels.
|
|
281
|
+
*
|
|
282
|
+
* Shares {@link waveformPeaks}' bucket kernel, so a non-finite sample is
|
|
283
|
+
* rejected here on the same rule.
|
|
284
|
+
*/
|
|
285
|
+
export declare function waveformPeakPyramid(request: WaveformPeakPyramidRequest): WaveformPeaksReport[];
|
|
286
|
+
export declare function waveformPeakPyramid(samples: Float32Array, channels: number, options?: WaveformPeakPyramidOptions): WaveformPeaksReport[];
|
|
287
|
+
//# sourceMappingURL=metering.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metering.d.ts","sourceRoot":"","sources":["../src/metering.ts"],"names":[],"mappings":"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"}
|