@libraz/libsonare 1.7.2 → 1.8.1
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 +7 -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 +874 -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 +502 -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 +134 -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 +4173 -1621
- 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 +483 -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 +654 -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 +528 -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 +165 -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 +893 -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 +3945 -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 +340 -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 +164 -0
- package/dist/worklet/engine-mixer-facade.d.ts.map +1 -0
- package/dist/worklet/engine-node.d.ts +83 -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 +72 -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 +75 -0
- package/dist/worklet/engine-strips.d.ts.map +1 -0
- package/dist/worklet/engine-sync.d.ts +39 -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 +418 -0
- package/dist/worklet/engine.d.ts.map +1 -0
- package/dist/worklet/guards.d.ts +53 -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 +331 -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 +3200 -541
- package/dist/worklet.js.map +1 -1
- package/package.json +23 -12
- package/src/_effects_common.ts +47 -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 +101 -22
- package/src/effects_note_ops.ts +683 -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 +388 -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 +288 -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 +441 -32
- package/src/mastering_dynamics.ts +22 -11
- package/src/metering.ts +67 -24
- package/src/mixer.ts +251 -22
- 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 +271 -271
- package/src/public_types.ts +122 -3
- package/src/public_types_acoustic.ts +112 -3
- package/src/public_types_mastering.ts +275 -73
- package/src/public_types_mixing.ts +363 -1
- package/src/public_types_music.ts +312 -2
- package/src/public_types_playback.ts +196 -0
- package/src/public_types_realtime.ts +39 -7
- package/src/public_types_repair.ts +446 -0
- package/src/public_types_spectral.ts +491 -5
- package/src/quick_analysis.ts +203 -26
- package/src/realtime_engine.ts +773 -34
- 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 +1158 -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 +202 -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 +800 -32
- package/src/worklet/engine-node.ts +99 -29
- package/src/worklet/engine-offline.ts +14 -8
- package/src/worklet/engine-parameter-facade.ts +21 -0
- package/src/worklet/engine-processor.ts +332 -93
- package/src/worklet/engine-register.ts +32 -18
- package/src/worklet/engine-strips.ts +275 -9
- package/src/worklet/engine-sync.ts +20 -7
- package/src/worklet/engine.ts +394 -48
- package/src/worklet/guards.ts +195 -44
- package/src/worklet/messages.ts +229 -2
- package/src/worklet/mixer-processor.ts +117 -48
- package/src/worklet/playback-processor.ts +300 -0
- package/src/worklet/protocol.ts +82 -11
- 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":"public_types_spectral.d.ts","sourceRoot":"","sources":["../src/public_types_spectral.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,445 @@
|
|
|
1
|
+
import type { AcousticOptions, AcousticResult, AnalysisResult, AnalyzeBpmOptions, AnalyzeDynamicsOptions, AnalyzeRhythmOptions, AnalyzeTimbreOptions, ChordAnalysisResult, ChordDetectionOptions, Key, KeyCandidate, KeyDetectionOptions, MeterEstimate, RirResult, RirSynthOptions, RoomEstimateOptions, RoomEstimateResult, RoomMorphOptions, RoomMorphResult } from './public_types';
|
|
2
|
+
import { Mode, PitchClass } from './public_types';
|
|
3
|
+
import type { ProgressCallback } from './sonare.js';
|
|
4
|
+
import type { ValidateOptions } from './validation';
|
|
5
|
+
type GuardedOptions = ValidateOptions;
|
|
6
|
+
/** Canonical request form for one-shot analysis functions. */
|
|
7
|
+
export interface SamplesRequest extends GuardedOptions {
|
|
8
|
+
samples: Float32Array;
|
|
9
|
+
sampleRate?: number;
|
|
10
|
+
}
|
|
11
|
+
/** Peak-picking configuration for {@link detectOnsets}. */
|
|
12
|
+
export interface OnsetDetectOptions {
|
|
13
|
+
nFft?: number;
|
|
14
|
+
hopLength?: number;
|
|
15
|
+
threshold?: number;
|
|
16
|
+
preMax?: number;
|
|
17
|
+
postMax?: number;
|
|
18
|
+
preAvg?: number;
|
|
19
|
+
postAvg?: number;
|
|
20
|
+
delta?: number;
|
|
21
|
+
wait?: number;
|
|
22
|
+
backtrack?: boolean;
|
|
23
|
+
backtrackRange?: number;
|
|
24
|
+
}
|
|
25
|
+
export interface DetectOnsetsRequest extends SamplesRequest, OnsetDetectOptions {
|
|
26
|
+
}
|
|
27
|
+
/** Canonical request form for key detection functions. */
|
|
28
|
+
export interface DetectKeyRequest extends KeyDetectionOptions, SamplesRequest {
|
|
29
|
+
}
|
|
30
|
+
/** Canonical request form for analysis with synchronous progress reporting. */
|
|
31
|
+
export interface AnalyzeWithProgressRequest extends SamplesRequest {
|
|
32
|
+
onProgress?: ProgressCallback;
|
|
33
|
+
cancel?: () => boolean;
|
|
34
|
+
/** Analysis options, with the same fields and defaults {@link analyze} takes. */
|
|
35
|
+
options?: MusicAnalyzeOptions;
|
|
36
|
+
}
|
|
37
|
+
/** Canonical request form for chord detection. */
|
|
38
|
+
export interface DetectChordsRequest extends ChordDetectionOptions, SamplesRequest {
|
|
39
|
+
}
|
|
40
|
+
/** Canonical request form for functional chord analysis. */
|
|
41
|
+
export interface ChordFunctionalAnalysisRequest extends DetectChordsRequest {
|
|
42
|
+
keyRoot: PitchClass;
|
|
43
|
+
/** Musical mode; defaults to {@link Mode.Major}. */
|
|
44
|
+
keyMode?: Mode;
|
|
45
|
+
}
|
|
46
|
+
/** Canonical request form for impulse-response analysis. */
|
|
47
|
+
export interface AnalyzeImpulseResponseRequest extends SamplesRequest {
|
|
48
|
+
nOctaveBands?: number;
|
|
49
|
+
minDecayDb?: number;
|
|
50
|
+
}
|
|
51
|
+
/** Canonical request form for acoustic analysis. */
|
|
52
|
+
export interface DetectAcousticRequest extends AcousticOptions, SamplesRequest {
|
|
53
|
+
}
|
|
54
|
+
/** Canonical request form for equivalent-room estimation. */
|
|
55
|
+
export interface EstimateRoomRequest extends RoomEstimateOptions, SamplesRequest {
|
|
56
|
+
}
|
|
57
|
+
/** Canonical request form for room-reverb morphing. */
|
|
58
|
+
export interface RoomMorphRequest extends RoomMorphOptions, GuardedOptions {
|
|
59
|
+
samples: Float32Array;
|
|
60
|
+
sampleRate: number;
|
|
61
|
+
}
|
|
62
|
+
/** Canonical request forms for detailed music-analysis APIs. */
|
|
63
|
+
export interface AnalyzeBpmRequest extends AnalyzeBpmOptions, SamplesRequest {
|
|
64
|
+
}
|
|
65
|
+
export interface AnalyzeRhythmRequest extends AnalyzeRhythmOptions, SamplesRequest {
|
|
66
|
+
}
|
|
67
|
+
export interface AnalyzeDynamicsRequest extends AnalyzeDynamicsOptions, SamplesRequest {
|
|
68
|
+
}
|
|
69
|
+
export interface AnalyzeTimbreRequest extends AnalyzeTimbreOptions, SamplesRequest {
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Detect BPM from audio samples.
|
|
73
|
+
*
|
|
74
|
+
* @param samples - Audio samples (mono, float32)
|
|
75
|
+
* @param sampleRate - Sample rate in Hz (default: 22050)
|
|
76
|
+
* @returns Detected BPM
|
|
77
|
+
*/
|
|
78
|
+
export declare function detectBpm(request: SamplesRequest): number;
|
|
79
|
+
export declare function detectBpm(samples: Float32Array, sampleRate?: number, options?: GuardedOptions): number;
|
|
80
|
+
/**
|
|
81
|
+
* Detect musical key from audio samples.
|
|
82
|
+
*
|
|
83
|
+
* The chroma is read at concert A440; a tuning offset is applied through
|
|
84
|
+
* {@link analyze}'s `tuning` option (and to chords through {@link detectChords}).
|
|
85
|
+
*
|
|
86
|
+
* @param samples - Audio samples (mono, float32)
|
|
87
|
+
* @param sampleRate - Sample rate in Hz (default: 22050)
|
|
88
|
+
* @returns Detected key
|
|
89
|
+
*/
|
|
90
|
+
export declare function detectKey(request: DetectKeyRequest): Key;
|
|
91
|
+
export declare function detectKey(samples: Float32Array, sampleRate?: number, options?: KeyDetectionOptions): Key;
|
|
92
|
+
export declare function detectKeyCandidates(request: DetectKeyRequest): KeyCandidate[];
|
|
93
|
+
export declare function detectKeyCandidates(samples: Float32Array, sampleRate?: number, options?: KeyDetectionOptions): KeyCandidate[];
|
|
94
|
+
/**
|
|
95
|
+
* Detect onset times from audio samples.
|
|
96
|
+
*
|
|
97
|
+
* @param samples - Audio samples (mono, float32)
|
|
98
|
+
* @param sampleRate - Sample rate in Hz (default: 22050)
|
|
99
|
+
* @returns Array of onset times in seconds
|
|
100
|
+
*/
|
|
101
|
+
export declare function detectOnsets(request: DetectOnsetsRequest): Float32Array;
|
|
102
|
+
export declare function detectOnsets(samples: Float32Array, sampleRate?: number, options?: OnsetDetectOptions & GuardedOptions): Float32Array;
|
|
103
|
+
/**
|
|
104
|
+
* Detect beat times from audio samples.
|
|
105
|
+
*
|
|
106
|
+
* @param samples - Audio samples (mono, float32)
|
|
107
|
+
* @param sampleRate - Sample rate in Hz (default: 22050)
|
|
108
|
+
* @returns Array of beat times in seconds
|
|
109
|
+
*/
|
|
110
|
+
export declare function detectBeats(request: SamplesRequest): Float32Array;
|
|
111
|
+
export declare function detectBeats(samples: Float32Array, sampleRate?: number, options?: GuardedOptions): Float32Array;
|
|
112
|
+
/**
|
|
113
|
+
* Detect downbeat times from audio samples.
|
|
114
|
+
*
|
|
115
|
+
* @param samples - Audio samples (mono, float32)
|
|
116
|
+
* @param sampleRate - Sample rate in Hz (default: 22050)
|
|
117
|
+
* @returns Array of downbeat times in seconds
|
|
118
|
+
*/
|
|
119
|
+
export declare function detectDownbeats(request: SamplesRequest): Float32Array;
|
|
120
|
+
export declare function detectDownbeats(samples: Float32Array, sampleRate?: number, options?: GuardedOptions): Float32Array;
|
|
121
|
+
/**
|
|
122
|
+
* Detect chords from audio samples.
|
|
123
|
+
*
|
|
124
|
+
* @param samples - Audio samples (mono, float32)
|
|
125
|
+
* @param sampleRate - Sample rate in Hz (default: 22050)
|
|
126
|
+
* @param options - Optional chord detection settings
|
|
127
|
+
* @returns Detected chord segments
|
|
128
|
+
*/
|
|
129
|
+
export declare function detectChords(request: DetectChordsRequest): ChordAnalysisResult;
|
|
130
|
+
export declare function detectChords(samples: Float32Array, sampleRate?: number, options?: ChordDetectionOptions): ChordAnalysisResult;
|
|
131
|
+
/**
|
|
132
|
+
* Functional (Roman-numeral) harmonic analysis of the detected chord
|
|
133
|
+
* progression, relative to the given key. Mirrors the C-ABI
|
|
134
|
+
* `sonare_chord_functional_analysis` and the Node/Python `chordFunctionalAnalysis`.
|
|
135
|
+
*
|
|
136
|
+
* @returns One Roman-numeral label (e.g. "I", "IV", "V", "vi") per detected chord
|
|
137
|
+
*/
|
|
138
|
+
export declare function chordFunctionalAnalysis(request: ChordFunctionalAnalysisRequest): string[];
|
|
139
|
+
export declare function chordFunctionalAnalysis(samples: Float32Array, keyRoot: PitchClass, keyMode?: Mode, sampleRate?: number, options?: ChordDetectionOptions): string[];
|
|
140
|
+
/**
|
|
141
|
+
* Options for {@link analyze}. Every field is optional and falls back to the
|
|
142
|
+
* core default when omitted.
|
|
143
|
+
*/
|
|
144
|
+
export interface MusicAnalyzeOptions {
|
|
145
|
+
nFft?: number;
|
|
146
|
+
hopLength?: number;
|
|
147
|
+
bpmMin?: number;
|
|
148
|
+
bpmMax?: number;
|
|
149
|
+
startBpm?: number;
|
|
150
|
+
useTriadsOnly?: boolean;
|
|
151
|
+
useHpss?: boolean;
|
|
152
|
+
chromaHighpassHz?: number;
|
|
153
|
+
useBassWeighted?: boolean;
|
|
154
|
+
chromaHopMultiplier?: number;
|
|
155
|
+
useChordHmm?: boolean;
|
|
156
|
+
useChordKeyContext?: boolean;
|
|
157
|
+
chordHmmBeamWidth?: number;
|
|
158
|
+
detectChordInversions?: boolean;
|
|
159
|
+
/**
|
|
160
|
+
* Track a locally updated tempo prior during beat tracking (default: false).
|
|
161
|
+
*/
|
|
162
|
+
adaptiveTempo?: boolean;
|
|
163
|
+
/**
|
|
164
|
+
* Length of the local tempo context in beats (default: 8). Must be positive.
|
|
165
|
+
*/
|
|
166
|
+
tempoUpdateIntervalBeats?: number;
|
|
167
|
+
/**
|
|
168
|
+
* Decode a per-beat local tempo curve into
|
|
169
|
+
* {@link AnalysisResult.beatLocalBpm} (default: false).
|
|
170
|
+
*
|
|
171
|
+
* @remarks
|
|
172
|
+
* Off by default because it is an extra output rather than a better analysis:
|
|
173
|
+
* nothing else in the result changes, and a caller that does not read the
|
|
174
|
+
* curve would pay a decode over the beat grid for nothing.
|
|
175
|
+
*
|
|
176
|
+
* The curve describes the beat grid it was decoded from, and beat tracking
|
|
177
|
+
* holds a fixed tempo prior unless {@link MusicAnalyzeOptions.adaptiveTempo}
|
|
178
|
+
* is also set, so measuring a tempo that moves needs both.
|
|
179
|
+
*/
|
|
180
|
+
computeTempoCurve?: boolean;
|
|
181
|
+
/**
|
|
182
|
+
* Meter numerators the estimator scores (default: `[3, 4, 6]`).
|
|
183
|
+
*
|
|
184
|
+
* @remarks
|
|
185
|
+
* Adding a numerator widens the search; it does not force the result. The
|
|
186
|
+
* list must hold between 1 and 16 entries, each in `[2, 32]`.
|
|
187
|
+
*/
|
|
188
|
+
meterCandidateNumerators?: number[];
|
|
189
|
+
/**
|
|
190
|
+
* Beat unit reported for the detected meter (default: 4). Must be a power of
|
|
191
|
+
* two in `[1, 32]`. The estimator still reports 8 on its own when it resolves
|
|
192
|
+
* a compound meter, so this is the unit for everything else.
|
|
193
|
+
*/
|
|
194
|
+
meterDenominator?: number;
|
|
195
|
+
/**
|
|
196
|
+
* Tuning offset of the recording in fractions of a semitone, the unit
|
|
197
|
+
* `estimateTuning` returns; must be in `[-0.5, 0.5)`. Every chroma the
|
|
198
|
+
* analysis builds (key, chords, sections) is shifted by it, so a recording
|
|
199
|
+
* that is not at A440 reads its key and chords on its own pitch grid.
|
|
200
|
+
* Default 0 (concert A440).
|
|
201
|
+
*/
|
|
202
|
+
tuning?: number;
|
|
203
|
+
}
|
|
204
|
+
export interface MusicAnalyzeRequest extends SamplesRequest, MusicAnalyzeOptions {
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Perform complete music analysis.
|
|
208
|
+
*
|
|
209
|
+
* @param samples - Audio samples (mono, float32)
|
|
210
|
+
* @param sampleRate - Sample rate in Hz (default: 22050)
|
|
211
|
+
* @returns Complete analysis result
|
|
212
|
+
*
|
|
213
|
+
* @remarks
|
|
214
|
+
* This call is synchronous and blocks until analysis completes. Unlike the
|
|
215
|
+
* Node binding (which offers `analyzeAsync` on a libuv worker thread), the
|
|
216
|
+
* WASM build runs on a single thread, so there is no non-blocking variant —
|
|
217
|
+
* the DSP pipeline always runs to completion on the calling thread. To keep
|
|
218
|
+
* the UI responsive for long inputs, drive this from a Web Worker and use
|
|
219
|
+
* {@link analyzeWithProgress} to report progress.
|
|
220
|
+
*/
|
|
221
|
+
export declare function analyze(request: MusicAnalyzeRequest): AnalysisResult;
|
|
222
|
+
export declare function analyze(samples: Float32Array, sampleRate?: number, options?: GuardedOptions & MusicAnalyzeOptions): AnalysisResult;
|
|
223
|
+
/**
|
|
224
|
+
* Canonical request form for {@link estimateMeter}.
|
|
225
|
+
*
|
|
226
|
+
* @remarks
|
|
227
|
+
* Every scoring field is optional and falls back to the core default when
|
|
228
|
+
* omitted; the core validates them and rejects a value it cannot answer rather
|
|
229
|
+
* than substituting one.
|
|
230
|
+
*/
|
|
231
|
+
export interface EstimateMeterRequest {
|
|
232
|
+
/** Beat positions in seconds, non-decreasing. */
|
|
233
|
+
beatTimes: ArrayLike<number>;
|
|
234
|
+
/**
|
|
235
|
+
* Per-beat accent value, the same length as {@link beatTimes}.
|
|
236
|
+
*
|
|
237
|
+
* @remarks
|
|
238
|
+
* `AnalysisResult.beatObservations.onsetStrength` is the intended source —
|
|
239
|
+
* it is the windowed value the library's own downbeat pass scores.
|
|
240
|
+
* `beats[].strength` also works but is a single unwindowed envelope frame.
|
|
241
|
+
* Neither needs pre-scaling: the series is divided by its own maximum before
|
|
242
|
+
* scoring, so only the accent contrast within it is read.
|
|
243
|
+
*
|
|
244
|
+
* A series assembled by hand from {@link onsetEnvelope} — one frame read at
|
|
245
|
+
* each beat time — is neither of those, and it carries a sample-rate
|
|
246
|
+
* dependence neither of them has: a hop counted in samples frames a different
|
|
247
|
+
* amount of time at each rate, so one waveform sampled at 32000, 44100 and
|
|
248
|
+
* 48000 Hz has produced three different winning numerators off beat times
|
|
249
|
+
* identical to the sample. Widening the read to a window around the beat does
|
|
250
|
+
* not remove it. A browser decodes at the output device's rate, so that is a
|
|
251
|
+
* different answer per visitor for the same clip.
|
|
252
|
+
*/
|
|
253
|
+
beatStrengths: ArrayLike<number>;
|
|
254
|
+
/**
|
|
255
|
+
* Meter numerators to score (default: `[3, 4, 6]`).
|
|
256
|
+
*
|
|
257
|
+
* @remarks
|
|
258
|
+
* Adding a numerator widens the search; it does not force the result. The
|
|
259
|
+
* list must hold between 1 and 16 entries, each in `[2, 32]`.
|
|
260
|
+
*/
|
|
261
|
+
candidateNumerators?: number[];
|
|
262
|
+
/**
|
|
263
|
+
* Beat unit reported for the detected meter (default: 4). Must be a power of
|
|
264
|
+
* two in `[1, 32]`.
|
|
265
|
+
*
|
|
266
|
+
* @remarks
|
|
267
|
+
* Reported as requested: whether a beat divides into three is measured from
|
|
268
|
+
* energy *between* the beats, which per-beat accents do not carry, so a
|
|
269
|
+
* compound meter is not resolvable here. A six accented 3+3 comes back with
|
|
270
|
+
* this denominator and `grouping === [3, 3]`.
|
|
271
|
+
*/
|
|
272
|
+
denominator?: number;
|
|
273
|
+
/** Weight of the downbeat accent term (default: 1). */
|
|
274
|
+
downbeatWeight?: number;
|
|
275
|
+
/** Weight of the measure-periodicity term (default: 0.5). */
|
|
276
|
+
measureWeight?: number;
|
|
277
|
+
/** Weight of the subdivision term (default: 0.15). */
|
|
278
|
+
subdivisionWeight?: number;
|
|
279
|
+
/**
|
|
280
|
+
* Score ratio above which a compound meter is preferred (default: 0.85).
|
|
281
|
+
*
|
|
282
|
+
* @remarks
|
|
283
|
+
* Only consulted when there is a subdivision to measure, so it has no effect
|
|
284
|
+
* here — this entry point scores per-beat accents alone.
|
|
285
|
+
*/
|
|
286
|
+
compoundSubdivisionThreshold?: number;
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Estimate meter over a caller-supplied beat series.
|
|
290
|
+
*
|
|
291
|
+
* @param request - Beat series plus optional scoring configuration
|
|
292
|
+
* @returns The selected signature, its downbeat phase and grouping, and the
|
|
293
|
+
* scored candidates
|
|
294
|
+
*
|
|
295
|
+
* @remarks
|
|
296
|
+
* Scores only the per-beat strengths, so no audio and no frame-level onset
|
|
297
|
+
* envelope is needed: an arbitrary span of an existing analysis can be scored
|
|
298
|
+
* without re-running it. Pass `beatObservations.onsetStrength` rather than
|
|
299
|
+
* `beats[].strength` — see {@link EstimateMeterRequest.beatStrengths}.
|
|
300
|
+
*
|
|
301
|
+
* The result carries `grouping` alongside the numerator: how the bar divides
|
|
302
|
+
* into accent groups of two and three beats, so a seven comes back as `[3, 2,
|
|
303
|
+
* 2]` or `[2, 2, 3]` rather than as a bare seven.
|
|
304
|
+
*
|
|
305
|
+
* Check `searched` before reading anything as a detection: a series too short
|
|
306
|
+
* to score any candidate reports a fixed fallback instead, and `candidateScores`
|
|
307
|
+
* grows with the square root of how many beats were scored, so scores from
|
|
308
|
+
* spans of different lengths are not directly comparable.
|
|
309
|
+
*/
|
|
310
|
+
export declare function estimateMeter(request: EstimateMeterRequest): MeterEstimate;
|
|
311
|
+
export declare function analyzeImpulseResponse(request: AnalyzeImpulseResponseRequest): AcousticResult;
|
|
312
|
+
export declare function analyzeImpulseResponse(samples: Float32Array, sampleRate?: number, nOctaveBands?: number, minDecayDb?: number): AcousticResult;
|
|
313
|
+
export declare function detectAcoustic(request: DetectAcousticRequest): AcousticResult;
|
|
314
|
+
export declare function detectAcoustic(samples: Float32Array, sampleRate?: number, options?: AcousticOptions): AcousticResult;
|
|
315
|
+
/**
|
|
316
|
+
* Synthesize a room impulse response from shoebox geometry. `hasError` is true
|
|
317
|
+
* when the source/listener falls outside the room (the RIR is then empty).
|
|
318
|
+
*/
|
|
319
|
+
export declare function synthesizeRir(options?: RirSynthOptions): RirResult;
|
|
320
|
+
/**
|
|
321
|
+
* Estimate an equivalent room (volume/dimensions/absorption/DRR) from a
|
|
322
|
+
* recording or impulse response.
|
|
323
|
+
*/
|
|
324
|
+
export declare function estimateRoom(request: EstimateRoomRequest): RoomEstimateResult;
|
|
325
|
+
export declare function estimateRoom(samples: Float32Array, sampleRate?: number, options?: RoomEstimateOptions): RoomEstimateResult;
|
|
326
|
+
/**
|
|
327
|
+
* Morph a recording's reverberation toward a target room (creative FX, not
|
|
328
|
+
* dereverberation).
|
|
329
|
+
*
|
|
330
|
+
* Returns the morphed samples in `audio` (input length plus the target room's
|
|
331
|
+
* reverb tail) alongside the target-room synthesis's own `diagnostics`, which
|
|
332
|
+
* report a room other than the one requested — see {@link RoomMorphResult}.
|
|
333
|
+
*/
|
|
334
|
+
export declare function roomMorph(request: RoomMorphRequest): RoomMorphResult;
|
|
335
|
+
export declare function roomMorph(samples: Float32Array, sampleRate: number, options?: RoomMorphOptions): RoomMorphResult;
|
|
336
|
+
/**
|
|
337
|
+
* Perform complete music analysis with progress reporting.
|
|
338
|
+
*
|
|
339
|
+
* @param samples - Audio samples (mono, float32)
|
|
340
|
+
* @param sampleRate - Sample rate in Hz (default: 22050)
|
|
341
|
+
* @param onProgress - Progress callback (progress: 0-1, stage: string)
|
|
342
|
+
* @returns Complete analysis result
|
|
343
|
+
*/
|
|
344
|
+
export declare function analyzeWithProgress(request: AnalyzeWithProgressRequest): AnalysisResult;
|
|
345
|
+
export declare function analyzeWithProgress(samples: Float32Array, sampleRate: number | undefined, onProgress: ProgressCallback, options?: MusicAnalyzeOptions): AnalysisResult;
|
|
346
|
+
export interface BpmCandidate {
|
|
347
|
+
bpm: number;
|
|
348
|
+
confidence: number;
|
|
349
|
+
}
|
|
350
|
+
export interface BpmAnalysisResult {
|
|
351
|
+
bpm: number;
|
|
352
|
+
confidence: number;
|
|
353
|
+
candidates: BpmCandidate[];
|
|
354
|
+
autocorrelation: Float32Array;
|
|
355
|
+
tempogram: Float32Array;
|
|
356
|
+
}
|
|
357
|
+
export interface RhythmAnalysisResult {
|
|
358
|
+
timeSignature: {
|
|
359
|
+
numerator: number;
|
|
360
|
+
denominator: number;
|
|
361
|
+
confidence: number;
|
|
362
|
+
};
|
|
363
|
+
syncopation: number;
|
|
364
|
+
grooveType: string;
|
|
365
|
+
patternRegularity: number;
|
|
366
|
+
tempoStability: number;
|
|
367
|
+
/**
|
|
368
|
+
* The beat tracker's own tempo, refined from the local beat period. It is a
|
|
369
|
+
* third figure rather than either tempo entry point's: measured against
|
|
370
|
+
* synthesized click trains it differs from both at every sample rate, and
|
|
371
|
+
* lands closer to the known tempo than either. Analysed at the sample rate
|
|
372
|
+
* you pass, so `nFft` and `hopLength` are in samples of your buffer.
|
|
373
|
+
*/
|
|
374
|
+
bpm: number;
|
|
375
|
+
beatIntervals: Float32Array;
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Dynamics metrics returned by {@link analyzeDynamics}.
|
|
379
|
+
*
|
|
380
|
+
* The Node package declares the same shape under the same name; the two are
|
|
381
|
+
* pinned to one field list by `tests/conformance/shared_type_shapes.json`.
|
|
382
|
+
*/
|
|
383
|
+
export interface DynamicsResult {
|
|
384
|
+
dynamicRangeDb: number;
|
|
385
|
+
peakDb: number;
|
|
386
|
+
rmsDb: number;
|
|
387
|
+
crestFactor: number;
|
|
388
|
+
loudnessRangeDb: number;
|
|
389
|
+
isCompressed: boolean;
|
|
390
|
+
/** Loudness curve timestamps (seconds), parallel to {@link loudnessRmsDb}. */
|
|
391
|
+
loudnessTimes: Float32Array;
|
|
392
|
+
/** Loudness curve RMS values (dB), parallel to {@link loudnessTimes}. */
|
|
393
|
+
loudnessRmsDb: Float32Array;
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
396
|
+
* @deprecated Use {@link DynamicsResult}. Retained so code written against the
|
|
397
|
+
* WASM-only spelling keeps compiling; the Node package exports the same alias.
|
|
398
|
+
*/
|
|
399
|
+
export type DynamicsAnalysisResult = DynamicsResult;
|
|
400
|
+
/** Timbre metrics for one analysis window. Entries are ordered by time in `timbreOverTime`. */
|
|
401
|
+
export interface TimbreFrame {
|
|
402
|
+
brightness: number;
|
|
403
|
+
warmth: number;
|
|
404
|
+
density: number;
|
|
405
|
+
roughness: number;
|
|
406
|
+
complexity: number;
|
|
407
|
+
}
|
|
408
|
+
export interface TimbreAnalysisResult extends TimbreFrame {
|
|
409
|
+
spectralCentroid: Float32Array;
|
|
410
|
+
spectralFlatness: Float32Array;
|
|
411
|
+
spectralRolloff: Float32Array;
|
|
412
|
+
/** Time-varying timbre metrics, one entry per analysis window. */
|
|
413
|
+
timbreOverTime: TimbreFrame[];
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Detailed BPM analysis (BPM, confidence, alternate candidates, autocorrelation,
|
|
417
|
+
* tempogram). Matches the Node `analyzeBpm` / Python `analyze_bpm` surface.
|
|
418
|
+
*/
|
|
419
|
+
export declare function analyzeBpm(request: AnalyzeBpmRequest): BpmAnalysisResult;
|
|
420
|
+
export declare function analyzeBpm(samples: Float32Array, sampleRate?: number, options?: AnalyzeBpmOptions): BpmAnalysisResult;
|
|
421
|
+
/**
|
|
422
|
+
* Detailed rhythm analysis (time signature, groove, syncopation, beat intervals).
|
|
423
|
+
*/
|
|
424
|
+
export declare function analyzeRhythm(request: AnalyzeRhythmRequest): RhythmAnalysisResult;
|
|
425
|
+
export declare function analyzeRhythm(samples: Float32Array, sampleRate?: number, options?: AnalyzeRhythmOptions): RhythmAnalysisResult;
|
|
426
|
+
/**
|
|
427
|
+
* Dynamics analysis (RMS, peak, crest factor, LRA, loudness curve).
|
|
428
|
+
*/
|
|
429
|
+
export declare function analyzeDynamics(request: AnalyzeDynamicsRequest): DynamicsResult;
|
|
430
|
+
export declare function analyzeDynamics(samples: Float32Array, sampleRate?: number, options?: AnalyzeDynamicsOptions): DynamicsResult;
|
|
431
|
+
/**
|
|
432
|
+
* Timbre analysis (brightness/warmth/density/roughness/complexity plus spectral
|
|
433
|
+
* features and per-window timbre frames).
|
|
434
|
+
*/
|
|
435
|
+
export declare function analyzeTimbre(request: AnalyzeTimbreRequest): TimbreAnalysisResult;
|
|
436
|
+
export declare function analyzeTimbre(samples: Float32Array, sampleRate?: number, options?: AnalyzeTimbreOptions): TimbreAnalysisResult;
|
|
437
|
+
/**
|
|
438
|
+
* Whether this WASM build was compiled with FFmpeg support. Mirrors Node /
|
|
439
|
+
* Python `hasFfmpegSupport`. In the published WASM binding this currently
|
|
440
|
+
* always returns `false` (FFmpeg is not bundled into the .wasm), but the API
|
|
441
|
+
* exists so caller code can branch on capabilities portably.
|
|
442
|
+
*/
|
|
443
|
+
export declare function hasFfmpegSupport(): boolean;
|
|
444
|
+
export {};
|
|
445
|
+
//# sourceMappingURL=quick_analysis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quick_analysis.d.ts","sourceRoot":"","sources":["../src/quick_analysis.ts"],"names":[],"mappings":"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"}
|