@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.
Files changed (303) hide show
  1. package/NOTICE +178 -0
  2. package/README.md +26 -203
  3. package/dist/_chain_config.d.ts +14 -0
  4. package/dist/_chain_config.d.ts.map +1 -0
  5. package/dist/_effects_common.d.ts +7 -0
  6. package/dist/_effects_common.d.ts.map +1 -0
  7. package/dist/_feature_validation.d.ts +8 -0
  8. package/dist/_feature_validation.d.ts.map +1 -0
  9. package/dist/_fft_options.d.ts +24 -0
  10. package/dist/_fft_options.d.ts.map +1 -0
  11. package/dist/align_take.d.ts +50 -0
  12. package/dist/align_take.d.ts.map +1 -0
  13. package/dist/analysis.d.ts +29 -5840
  14. package/dist/analysis.d.ts.map +1 -0
  15. package/dist/analysis.js +874 -722
  16. package/dist/analysis.js.map +1 -1
  17. package/dist/analysis_helpers.d.ts +9 -0
  18. package/dist/analysis_helpers.d.ts.map +1 -0
  19. package/dist/audio.d.ts +163 -0
  20. package/dist/audio.d.ts.map +1 -0
  21. package/dist/clip_page_streamer.d.ts +133 -0
  22. package/dist/clip_page_streamer.d.ts.map +1 -0
  23. package/dist/codes.d.ts +44 -0
  24. package/dist/codes.d.ts.map +1 -0
  25. package/dist/effects_mastering.d.ts +23 -0
  26. package/dist/effects_mastering.d.ts.map +1 -0
  27. package/dist/effects_note_ops.d.ts +502 -0
  28. package/dist/effects_note_ops.d.ts.map +1 -0
  29. package/dist/effects_percussive.d.ts +185 -0
  30. package/dist/effects_percussive.d.ts.map +1 -0
  31. package/dist/effects_separation.d.ts +65 -0
  32. package/dist/effects_separation.d.ts.map +1 -0
  33. package/dist/effects_spectral.d.ts +28 -0
  34. package/dist/effects_spectral.d.ts.map +1 -0
  35. package/dist/effects_timepitch.d.ts +134 -0
  36. package/dist/effects_timepitch.d.ts.map +1 -0
  37. package/dist/effects_voice_change.d.ts +53 -0
  38. package/dist/effects_voice_change.d.ts.map +1 -0
  39. package/dist/errors.d.ts +51 -0
  40. package/dist/errors.d.ts.map +1 -0
  41. package/dist/feature_core.d.ts +341 -0
  42. package/dist/feature_core.d.ts.map +1 -0
  43. package/dist/feature_decompose.d.ts +278 -0
  44. package/dist/feature_decompose.d.ts.map +1 -0
  45. package/dist/feature_inverse.d.ts +128 -0
  46. package/dist/feature_inverse.d.ts.map +1 -0
  47. package/dist/feature_loudness.d.ts +66 -0
  48. package/dist/feature_loudness.d.ts.map +1 -0
  49. package/dist/feature_music.d.ts +307 -0
  50. package/dist/feature_music.d.ts.map +1 -0
  51. package/dist/feature_pitch.d.ts +108 -0
  52. package/dist/feature_pitch.d.ts.map +1 -0
  53. package/dist/feature_resample.d.ts +16 -0
  54. package/dist/feature_resample.d.ts.map +1 -0
  55. package/dist/feature_spectral.d.ts +137 -0
  56. package/dist/feature_spectral.d.ts.map +1 -0
  57. package/dist/feature_spectrogram.d.ts +198 -0
  58. package/dist/feature_spectrogram.d.ts.map +1 -0
  59. package/dist/features.d.ts +10 -0
  60. package/dist/features.d.ts.map +1 -0
  61. package/dist/hrtf/default.shrf +0 -0
  62. package/dist/index.d.ts +74 -7431
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +4173 -1621
  65. package/dist/index.js.map +1 -1
  66. package/dist/instrument_types.d.ts +517 -0
  67. package/dist/instrument_types.d.ts.map +1 -0
  68. package/dist/live_audio.d.ts +35 -0
  69. package/dist/live_audio.d.ts.map +1 -0
  70. package/dist/mastering_chain.d.ts +213 -0
  71. package/dist/mastering_chain.d.ts.map +1 -0
  72. package/dist/mastering_core.d.ts +483 -0
  73. package/dist/mastering_core.d.ts.map +1 -0
  74. package/dist/mastering_dynamics.d.ts +80 -0
  75. package/dist/mastering_dynamics.d.ts.map +1 -0
  76. package/dist/metering.d.ts +287 -0
  77. package/dist/metering.d.ts.map +1 -0
  78. package/dist/mixer.d.ts +464 -0
  79. package/dist/mixer.d.ts.map +1 -0
  80. package/dist/mixing_assistant.d.ts +62 -0
  81. package/dist/mixing_assistant.d.ts.map +1 -0
  82. package/dist/mixing_oneshot.d.ts +40 -0
  83. package/dist/mixing_oneshot.d.ts.map +1 -0
  84. package/dist/module_state.d.ts +15 -0
  85. package/dist/module_state.d.ts.map +1 -0
  86. package/dist/opfs_clip_pages.d.ts +28 -0
  87. package/dist/opfs_clip_pages.d.ts.map +1 -0
  88. package/dist/playback_renderer.d.ts +128 -0
  89. package/dist/playback_renderer.d.ts.map +1 -0
  90. package/dist/polyphony.d.ts +202 -0
  91. package/dist/polyphony.d.ts.map +1 -0
  92. package/dist/project.d.ts +8 -0
  93. package/dist/project.d.ts.map +1 -0
  94. package/dist/project_class.d.ts +562 -0
  95. package/dist/project_class.d.ts.map +1 -0
  96. package/dist/project_internal.d.ts +194 -0
  97. package/dist/project_internal.d.ts.map +1 -0
  98. package/dist/project_synth.d.ts +74 -0
  99. package/dist/project_synth.d.ts.map +1 -0
  100. package/dist/project_types.d.ts +654 -0
  101. package/dist/project_types.d.ts.map +1 -0
  102. package/dist/public_types.d.ts +185 -0
  103. package/dist/public_types.d.ts.map +1 -0
  104. package/dist/public_types_acoustic.d.ts +215 -0
  105. package/dist/public_types_acoustic.d.ts.map +1 -0
  106. package/dist/public_types_mastering.d.ts +528 -0
  107. package/dist/public_types_mastering.d.ts.map +1 -0
  108. package/dist/public_types_mixing.d.ts +436 -0
  109. package/dist/public_types_mixing.d.ts.map +1 -0
  110. package/dist/public_types_music.d.ts +619 -0
  111. package/dist/public_types_music.d.ts.map +1 -0
  112. package/dist/public_types_playback.d.ts +165 -0
  113. package/dist/public_types_playback.d.ts.map +1 -0
  114. package/dist/public_types_realtime.d.ts +174 -0
  115. package/dist/public_types_realtime.d.ts.map +1 -0
  116. package/dist/public_types_repair.d.ts +424 -0
  117. package/dist/public_types_repair.d.ts.map +1 -0
  118. package/dist/public_types_spectral.d.ts +697 -0
  119. package/dist/public_types_spectral.d.ts.map +1 -0
  120. package/dist/quick_analysis.d.ts +445 -0
  121. package/dist/quick_analysis.d.ts.map +1 -0
  122. package/dist/realtime_engine.d.ts +893 -0
  123. package/dist/realtime_engine.d.ts.map +1 -0
  124. package/dist/realtime_voice_changer.d.ts +158 -0
  125. package/dist/realtime_voice_changer.d.ts.map +1 -0
  126. package/dist/repair_dereverb.d.ts +187 -0
  127. package/dist/repair_dereverb.d.ts.map +1 -0
  128. package/dist/repair_impulsive.d.ts +186 -0
  129. package/dist/repair_impulsive.d.ts.map +1 -0
  130. package/dist/repair_noise.d.ts +239 -0
  131. package/dist/repair_noise.d.ts.map +1 -0
  132. package/dist/repair_trim.d.ts +123 -0
  133. package/dist/repair_trim.d.ts.map +1 -0
  134. package/dist/sample_bank.d.ts +84 -0
  135. package/dist/sample_bank.d.ts.map +1 -0
  136. package/dist/scale.d.ts +10 -0
  137. package/dist/scale.d.ts.map +1 -0
  138. package/dist/schemas/mixer-scene.schema.json +393 -0
  139. package/dist/schemas/playback-renderer-config.schema.json +392 -0
  140. package/dist/sonare-analysis.d.ts +8 -0
  141. package/dist/sonare-analysis.js +2 -2
  142. package/dist/sonare-analysis.wasm +0 -0
  143. package/dist/sonare.d.ts +3945 -0
  144. package/dist/sonare.js +2 -2
  145. package/dist/sonare.wasm +0 -0
  146. package/dist/stream_analyzer.d.ts +163 -0
  147. package/dist/stream_analyzer.d.ts.map +1 -0
  148. package/dist/stream_types.d.ts +214 -0
  149. package/dist/stream_types.d.ts.map +1 -0
  150. package/dist/streaming_mixing.d.ts +6 -0
  151. package/dist/streaming_mixing.d.ts.map +1 -0
  152. package/dist/streaming_processors.d.ts +340 -0
  153. package/dist/streaming_processors.d.ts.map +1 -0
  154. package/dist/transcribe.d.ts +77 -0
  155. package/dist/transcribe.d.ts.map +1 -0
  156. package/dist/validation.d.ts +140 -0
  157. package/dist/validation.d.ts.map +1 -0
  158. package/dist/web_midi.d.ts +77 -0
  159. package/dist/web_midi.d.ts.map +1 -0
  160. package/dist/worker.d.ts +5 -48
  161. package/dist/worker.d.ts.map +1 -0
  162. package/dist/worker.js +94 -41
  163. package/dist/worker.js.map +1 -1
  164. package/dist/worker_client.d.ts +96 -0
  165. package/dist/worker_client.d.ts.map +1 -0
  166. package/dist/worker_protocol.d.ts +43 -0
  167. package/dist/worker_protocol.d.ts.map +1 -0
  168. package/dist/worklet/audio_types.d.ts +21 -0
  169. package/dist/worklet/audio_types.d.ts.map +1 -0
  170. package/dist/worklet/engine-automation.d.ts +29 -0
  171. package/dist/worklet/engine-automation.d.ts.map +1 -0
  172. package/dist/worklet/engine-capture-facade.d.ts +35 -0
  173. package/dist/worklet/engine-capture-facade.d.ts.map +1 -0
  174. package/dist/worklet/engine-clips.d.ts +23 -0
  175. package/dist/worklet/engine-clips.d.ts.map +1 -0
  176. package/dist/worklet/engine-markers.d.ts +40 -0
  177. package/dist/worklet/engine-markers.d.ts.map +1 -0
  178. package/dist/worklet/engine-mixer-facade.d.ts +164 -0
  179. package/dist/worklet/engine-mixer-facade.d.ts.map +1 -0
  180. package/dist/worklet/engine-node.d.ts +83 -0
  181. package/dist/worklet/engine-node.d.ts.map +1 -0
  182. package/dist/worklet/engine-offline.d.ts +81 -0
  183. package/dist/worklet/engine-offline.d.ts.map +1 -0
  184. package/dist/worklet/engine-options.d.ts +12 -0
  185. package/dist/worklet/engine-options.d.ts.map +1 -0
  186. package/dist/worklet/engine-parameter-facade.d.ts +106 -0
  187. package/dist/worklet/engine-parameter-facade.d.ts.map +1 -0
  188. package/dist/worklet/engine-processor.d.ts +72 -0
  189. package/dist/worklet/engine-processor.d.ts.map +1 -0
  190. package/dist/worklet/engine-register.d.ts +2 -0
  191. package/dist/worklet/engine-register.d.ts.map +1 -0
  192. package/dist/worklet/engine-strips.d.ts +75 -0
  193. package/dist/worklet/engine-strips.d.ts.map +1 -0
  194. package/dist/worklet/engine-sync.d.ts +39 -0
  195. package/dist/worklet/engine-sync.d.ts.map +1 -0
  196. package/dist/worklet/engine-tempo-facade.d.ts +48 -0
  197. package/dist/worklet/engine-tempo-facade.d.ts.map +1 -0
  198. package/dist/worklet/engine.d.ts +418 -0
  199. package/dist/worklet/engine.d.ts.map +1 -0
  200. package/dist/worklet/guards.d.ts +53 -0
  201. package/dist/worklet/guards.d.ts.map +1 -0
  202. package/dist/worklet/messages.d.ts +710 -0
  203. package/dist/worklet/messages.d.ts.map +1 -0
  204. package/dist/worklet/mixer-processor.d.ts +46 -0
  205. package/dist/worklet/mixer-processor.d.ts.map +1 -0
  206. package/dist/worklet/playback-processor.d.ts +62 -0
  207. package/dist/worklet/playback-processor.d.ts.map +1 -0
  208. package/dist/worklet/protocol.d.ts +331 -0
  209. package/dist/worklet/protocol.d.ts.map +1 -0
  210. package/dist/worklet/voice-changer-processor.d.ts +41 -0
  211. package/dist/worklet/voice-changer-processor.d.ts.map +1 -0
  212. package/dist/worklet.d.ts +16 -2515
  213. package/dist/worklet.d.ts.map +1 -0
  214. package/dist/worklet.js +3200 -541
  215. package/dist/worklet.js.map +1 -1
  216. package/package.json +23 -12
  217. package/src/_effects_common.ts +47 -0
  218. package/src/_feature_validation.ts +34 -0
  219. package/src/_fft_options.ts +39 -0
  220. package/src/align_take.ts +64 -0
  221. package/src/analysis.ts +56 -3
  222. package/src/analysis_helpers.ts +7 -0
  223. package/src/audio.ts +106 -3
  224. package/src/codes.ts +39 -2
  225. package/src/effects_mastering.ts +101 -22
  226. package/src/effects_note_ops.ts +683 -0
  227. package/src/effects_percussive.ts +217 -0
  228. package/src/effects_separation.ts +150 -0
  229. package/src/effects_spectral.ts +60 -0
  230. package/src/effects_timepitch.ts +388 -0
  231. package/src/errors.ts +23 -1
  232. package/src/feature_core.ts +127 -2
  233. package/src/feature_decompose.ts +633 -0
  234. package/src/feature_inverse.ts +454 -0
  235. package/src/feature_loudness.ts +125 -0
  236. package/src/feature_music.ts +107 -14
  237. package/src/feature_pitch.ts +96 -1
  238. package/src/feature_spectral.ts +16 -611
  239. package/src/feature_spectrogram.ts +63 -450
  240. package/src/features.ts +36 -22
  241. package/src/index.ts +288 -30
  242. package/src/instrument_types.ts +645 -0
  243. package/src/live_audio.ts +27 -1
  244. package/src/mastering_chain.ts +184 -0
  245. package/src/mastering_core.ts +441 -32
  246. package/src/mastering_dynamics.ts +22 -11
  247. package/src/metering.ts +67 -24
  248. package/src/mixer.ts +251 -22
  249. package/src/mixing_assistant.ts +138 -0
  250. package/src/mixing_oneshot.ts +10 -5
  251. package/src/module_state.ts +24 -2
  252. package/src/playback_renderer.ts +252 -0
  253. package/src/polyphony.ts +279 -0
  254. package/src/project.ts +61 -24
  255. package/src/project_class.ts +450 -27
  256. package/src/project_internal.ts +149 -42
  257. package/src/project_synth.ts +67 -1
  258. package/src/project_types.ts +271 -271
  259. package/src/public_types.ts +122 -3
  260. package/src/public_types_acoustic.ts +112 -3
  261. package/src/public_types_mastering.ts +275 -73
  262. package/src/public_types_mixing.ts +363 -1
  263. package/src/public_types_music.ts +312 -2
  264. package/src/public_types_playback.ts +196 -0
  265. package/src/public_types_realtime.ts +39 -7
  266. package/src/public_types_repair.ts +446 -0
  267. package/src/public_types_spectral.ts +491 -5
  268. package/src/quick_analysis.ts +203 -26
  269. package/src/realtime_engine.ts +773 -34
  270. package/src/realtime_voice_changer.ts +55 -1
  271. package/src/repair_dereverb.ts +299 -0
  272. package/src/repair_impulsive.ts +395 -0
  273. package/src/repair_noise.ts +425 -0
  274. package/src/repair_trim.ts +226 -0
  275. package/src/sample_bank.ts +113 -0
  276. package/src/sonare.js.d.ts +1158 -30
  277. package/src/stream_analyzer.ts +36 -4
  278. package/src/stream_types.ts +37 -0
  279. package/src/streaming_mixing.ts +1 -1
  280. package/src/streaming_processors.ts +202 -10
  281. package/src/transcribe.ts +89 -0
  282. package/src/validation.ts +285 -11
  283. package/src/web_midi.ts +1 -6
  284. package/src/worker.ts +18 -2
  285. package/src/worklet/audio_types.ts +37 -0
  286. package/src/worklet/engine-mixer-facade.ts +800 -32
  287. package/src/worklet/engine-node.ts +99 -29
  288. package/src/worklet/engine-offline.ts +14 -8
  289. package/src/worklet/engine-parameter-facade.ts +21 -0
  290. package/src/worklet/engine-processor.ts +332 -93
  291. package/src/worklet/engine-register.ts +32 -18
  292. package/src/worklet/engine-strips.ts +275 -9
  293. package/src/worklet/engine-sync.ts +20 -7
  294. package/src/worklet/engine.ts +394 -48
  295. package/src/worklet/guards.ts +195 -44
  296. package/src/worklet/messages.ts +229 -2
  297. package/src/worklet/mixer-processor.ts +117 -48
  298. package/src/worklet/playback-processor.ts +300 -0
  299. package/src/worklet/protocol.ts +82 -11
  300. package/src/worklet/voice-changer-processor.ts +17 -11
  301. package/src/worklet.ts +17 -0
  302. package/src/effects_transform.ts +0 -718
  303. 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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"}