@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.
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 +6 -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 +873 -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 +477 -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 +129 -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 +3758 -1362
  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 +457 -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 +652 -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 +510 -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 +164 -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 +850 -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 +3909 -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 +335 -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 +128 -0
  179. package/dist/worklet/engine-mixer-facade.d.ts.map +1 -0
  180. package/dist/worklet/engine-node.d.ts +81 -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 +68 -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 +73 -0
  193. package/dist/worklet/engine-strips.d.ts.map +1 -0
  194. package/dist/worklet/engine-sync.d.ts +37 -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 +397 -0
  199. package/dist/worklet/engine.d.ts.map +1 -0
  200. package/dist/worklet/guards.d.ts +47 -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 +323 -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 +2763 -501
  215. package/dist/worklet.js.map +1 -1
  216. package/package.json +23 -12
  217. package/src/_effects_common.ts +17 -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 +97 -22
  226. package/src/effects_note_ops.ts +635 -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 +377 -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 +282 -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 +346 -32
  246. package/src/mastering_dynamics.ts +22 -11
  247. package/src/metering.ts +67 -24
  248. package/src/mixer.ts +212 -3
  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 +268 -270
  259. package/src/public_types.ts +122 -3
  260. package/src/public_types_acoustic.ts +112 -3
  261. package/src/public_types_mastering.ts +254 -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 +195 -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 +487 -1
  268. package/src/quick_analysis.ts +203 -26
  269. package/src/realtime_engine.ts +711 -28
  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 +1122 -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 +194 -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 +444 -10
  287. package/src/worklet/engine-node.ts +78 -26
  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 +272 -83
  291. package/src/worklet/engine-register.ts +32 -18
  292. package/src/worklet/engine-strips.ts +280 -9
  293. package/src/worklet/engine-sync.ts +14 -6
  294. package/src/worklet/engine.ts +365 -31
  295. package/src/worklet/guards.ts +140 -44
  296. package/src/worklet/messages.ts +227 -2
  297. package/src/worklet/mixer-processor.ts +109 -47
  298. package/src/worklet/playback-processor.ts +300 -0
  299. package/src/worklet/protocol.ts +53 -3
  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":"realtime_engine.d.ts","sourceRoot":"","sources":["../src/realtime_engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ import type { RealtimeVoiceChangerConfigInput, RealtimeVoiceChangerPodConfig, VoicePresetId } from './public_types';
2
+ /**
3
+ * Zero-copy realtime buffer pair for {@link RealtimeVoiceChanger} mono
4
+ * processing. The `input` / `output` `Float32Array`s are typed-memory views
5
+ * onto the WASM heap — write samples into `input`, call `process()`, then
6
+ * read from `output`. The views are owned by the {@link RealtimeVoiceChanger}
7
+ * and remain valid until `delete()` is called on it.
8
+ */
9
+ export interface RealtimeVoiceChangerMonoBuffer {
10
+ input: Float32Array;
11
+ output: Float32Array;
12
+ process: () => void;
13
+ }
14
+ /**
15
+ * Zero-copy realtime buffer pair for {@link RealtimeVoiceChanger} interleaved
16
+ * multi-channel processing. Layout is L0,R0,L1,R1,... for stereo. The views
17
+ * are owned by the {@link RealtimeVoiceChanger}.
18
+ */
19
+ export interface RealtimeVoiceChangerInterleavedBuffer {
20
+ input: Float32Array;
21
+ output: Float32Array;
22
+ channels: number;
23
+ process: () => void;
24
+ }
25
+ /**
26
+ * Zero-copy realtime buffer for {@link RealtimeVoiceChanger} planar stereo
27
+ * processing. Each entry in `channels` is a heap-backed `Float32Array` for one
28
+ * channel (matching AudioWorklet's native layout). Process happens in place:
29
+ * write samples into each channel view, call `process()`, then read back from
30
+ * the same views.
31
+ */
32
+ export interface RealtimeVoiceChangerPlanarBuffer {
33
+ channels: Float32Array[];
34
+ process: () => void;
35
+ }
36
+ export declare class RealtimeVoiceChanger {
37
+ private changer;
38
+ private released;
39
+ /**
40
+ * Creates a voice changer. Supplying `sampleRate` prepares it immediately,
41
+ * matching the Node and Python constructors; omitting it preserves the
42
+ * explicit {@link prepare} lifecycle for callers that configure later.
43
+ */
44
+ constructor(config?: RealtimeVoiceChangerConfigInput | RealtimeVoiceChangerPodConfig, sampleRate?: number, maxBlockSize?: number, channels?: number);
45
+ prepare(sampleRate: number, maxBlockSize?: number, channels?: number): void;
46
+ reset(): void;
47
+ setConfig(config: RealtimeVoiceChangerConfigInput | RealtimeVoiceChangerPodConfig): void;
48
+ /**
49
+ * Apply a flat, pre-normalized config without JSON serialization. Intended
50
+ * for AudioWorklet control messages whose sender prepared the POD on the
51
+ * main thread.
52
+ */
53
+ setPodConfig(config: RealtimeVoiceChangerPodConfig): void;
54
+ configJson(): string;
55
+ latencySamples(): number;
56
+ /**
57
+ * Channel-blocks in which the chain discarded its own state because a
58
+ * non-finite value had reached it.
59
+ *
60
+ * Advisory telemetry, and the only thing that separates a degraded stream
61
+ * from a clean one. Every stage of this chain leaves an in-domain finite
62
+ * value where a non-finite one was — the input scrub and the
63
+ * inter-sample-peak limiter substitute silence, the sample-domain limiter
64
+ * folds an infinity onto its ceiling — so the output stays finite, in range
65
+ * and free of any error while carrying samples unrelated to the input. A
66
+ * non-zero count is what says the samples in between were not computed from
67
+ * what you supplied.
68
+ *
69
+ * Monotonic for the lifetime of the instance. The unit is one processed
70
+ * block, never a channel, so a stereo block that discards on both channels
71
+ * adds one and the number does not depend on a dimension you did not choose.
72
+ *
73
+ * @example
74
+ * ```ts
75
+ * changer.processInterleaved(block, 2);
76
+ * if (changer.nonFiniteDiscardCount() > 0) {
77
+ * // the audio just produced is not a function of `block`
78
+ * }
79
+ * ```
80
+ */
81
+ nonFiniteDiscardCount(): number;
82
+ /**
83
+ * Monotonically increases whenever {@link prepare} can replace the native
84
+ * scratch buffers. Cached WASM heap views must be reacquired after it changes.
85
+ */
86
+ bufferGeneration(): number;
87
+ processMono(samples: Float32Array): Float32Array;
88
+ processMonoInto(samples: Float32Array, output: Float32Array): void;
89
+ processInterleaved(samples: Float32Array, channels: number): Float32Array;
90
+ processInterleavedInto(samples: Float32Array, channels: number, output: Float32Array): void;
91
+ /**
92
+ * Acquire a typed-memory view onto the WASM heap for mono input.
93
+ *
94
+ * Write your input samples into the returned `Float32Array` directly (e.g.
95
+ * via `input.set(source)`); no copy crosses the JS↔C++ bridge until
96
+ * {@link processPreparedMono} is called. The view is owned by this
97
+ * RealtimeVoiceChanger and becomes invalid after {@link delete}; it may
98
+ * also be invalidated if you later call this method with a larger
99
+ * `numSamples` value (the underlying buffer may be reallocated).
100
+ */
101
+ getMonoInputBuffer(numSamples: number): Float32Array;
102
+ /** Mono output view counterpart to {@link getMonoInputBuffer}. */
103
+ getMonoOutputBuffer(numSamples: number): Float32Array;
104
+ /**
105
+ * Process the previously-acquired mono input buffer in place. The output
106
+ * appears in the buffer returned by {@link getMonoOutputBuffer}. No JS↔C++
107
+ * sample-level crossings happen on this call — it just hands control to
108
+ * the underlying DSP on already-on-heap data.
109
+ */
110
+ processPreparedMono(numSamples: number): void;
111
+ /** Interleaved input view (layout L0,R0,L1,R1,...). */
112
+ getInterleavedInputBuffer(numFrames: number, numChannels: number): Float32Array;
113
+ /** Interleaved output view counterpart. */
114
+ getInterleavedOutputBuffer(numFrames: number, numChannels: number): Float32Array;
115
+ /**
116
+ * Process the previously-acquired interleaved buffer in place. Output
117
+ * appears in the buffer returned by {@link getInterleavedOutputBuffer}.
118
+ */
119
+ processPreparedInterleaved(numFrames: number, numChannels: number): void;
120
+ /**
121
+ * Planar-channel input/output view (one Float32Array per channel). Matches
122
+ * AudioWorklet's native layout; processing happens in place.
123
+ */
124
+ getPlanarChannelBuffer(channel: number, numFrames: number): Float32Array;
125
+ /**
126
+ * Process the previously-acquired planar channel buffers in place. Each
127
+ * channel must have been obtained from {@link getPlanarChannelBuffer}
128
+ * with the same `numFrames`. Output replaces input in the same buffers.
129
+ */
130
+ processPreparedPlanar(numFrames: number): void;
131
+ /**
132
+ * Convenience factory for the mono zero-copy path: returns the input/output
133
+ * heap views plus a `process()` thunk wired to the same `numSamples`. The
134
+ * views are reused across calls and become invalid after {@link delete}.
135
+ */
136
+ createRealtimeMonoBuffer(numSamples: number): RealtimeVoiceChangerMonoBuffer;
137
+ /** Same as {@link createRealtimeMonoBuffer} but for interleaved I/O. */
138
+ createRealtimeInterleavedBuffer(numFrames: number, numChannels: number): RealtimeVoiceChangerInterleavedBuffer;
139
+ /**
140
+ * Convenience factory for the planar zero-copy path. Acquires one
141
+ * heap-backed Float32Array per channel and returns a `process()` thunk
142
+ * wired to the same `numFrames`. Buffers are reused across calls and
143
+ * become invalid after {@link delete}.
144
+ */
145
+ createRealtimePlanarBuffer(numFrames: number, numChannels: number): RealtimeVoiceChangerPlanarBuffer;
146
+ /** Releases the native handle. Idempotent, as the Node facade is. */
147
+ delete(): void;
148
+ /** Alias for {@link delete}, provided for cross-binding (Node) compatibility. */
149
+ destroy(): void;
150
+ }
151
+ export declare function realtimeVoiceChangerPresetNames(): VoicePresetId[];
152
+ export declare function realtimeVoiceChangerPresetJson(name: VoicePresetId): string;
153
+ export declare function validateRealtimeVoiceChangerPresetJson(json: string): {
154
+ ok: boolean;
155
+ normalizedJson?: string;
156
+ error?: string;
157
+ };
158
+ //# sourceMappingURL=realtime_voice_changer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime_voice_changer.d.ts","sourceRoot":"","sources":["../src/realtime_voice_changer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,187 @@
1
+ /**
2
+ * Reverberation repair, with its detector and the room-driven configuration.
3
+ */
4
+ import type { RoomEstimateResult } from './public_types_acoustic';
5
+ import type { MasteringRepairDereverbClassicalLinkedResult, MasteringRepairDereverbClassicalStereoResult, ReverbDetection } from './public_types_repair';
6
+ /** Options for `masteringRepairDereverbClassical`. */
7
+ export interface DereverbClassicalOptions {
8
+ threshold?: number;
9
+ attenuation?: number;
10
+ nFft?: number;
11
+ hopLength?: number;
12
+ t60Sec?: number;
13
+ lateDelayMs?: number;
14
+ overSubtraction?: number;
15
+ spectralFloor?: number;
16
+ wpeEnabled?: boolean;
17
+ wpeIterations?: number;
18
+ wpeTaps?: number;
19
+ wpeStrength?: number;
20
+ }
21
+ export interface MasteringRepairDereverbClassicalRequest extends DereverbClassicalOptions {
22
+ samples: Float32Array;
23
+ sampleRate: number;
24
+ }
25
+ /** Request form of `masteringRepairDereverbClassicalStereo`. */
26
+ export interface MasteringRepairDereverbClassicalStereoRequest extends DereverbClassicalOptions {
27
+ left: Float32Array;
28
+ right: Float32Array;
29
+ sampleRate?: number;
30
+ }
31
+ /** Request form of `masteringRepairDereverbClassicalLinked`. */
32
+ export interface MasteringRepairDereverbClassicalLinkedRequest extends DereverbClassicalOptions {
33
+ /** At least one channel; all the same length. */
34
+ channels: Float32Array[];
35
+ sampleRate?: number;
36
+ }
37
+ /** Request form of `masteringRepairDereverbConfigForRoom`. */
38
+ export interface MasteringRepairDereverbConfigForRoomRequest extends DereverbClassicalOptions {
39
+ /** The measured room, from `estimateRoom`. Only `volume` and `rt60Bands` are read. */
40
+ estimate: RoomEstimateResult;
41
+ }
42
+ /** Offline classical dereverberator (spectral subtraction + optional WPE). */
43
+ export declare function masteringRepairDereverbClassical(request: MasteringRepairDereverbClassicalRequest): Float32Array;
44
+ export declare function masteringRepairDereverbClassical(samples: Float32Array, sampleRate: number, options?: DereverbClassicalOptions): Float32Array;
45
+ /**
46
+ * Offline classical dereverberator for a stereo pair (spectral subtraction plus an optional
47
+ * WPE pre-stage), driven by one channel-linked mask.
48
+ *
49
+ * The mask is built from the channel-summed power, and the WPE stage accumulates over both
50
+ * channels and applies one predictor set to each, so neither stage can move an interchannel
51
+ * level or phase difference. That is also why the result carries a single `report` rather than
52
+ * one per channel.
53
+ *
54
+ * Every field of that report is a ratio or a fraction, so unlike the denoise pair nothing in
55
+ * it shifts with the channel count: a stereo figure here is comparable against a mono one.
56
+ *
57
+ * An input shorter than `nFft` is PADDED for analysis rather than rejected, the opposite of
58
+ * {@link masteringRepairDenoiseClassicalStereo}.
59
+ *
60
+ * Two report fields are gated on the WPE stage, which is off unless `wpeEnabled` is set:
61
+ * `detected.latePredictability` and `wpePredictorNorm` are then both exactly 0, which is the
62
+ * measurement rather than an unset field. `detected.lateDecayRatioDb` runs the other way from
63
+ * what its name suggests — less negative means the material sustains across the module's late
64
+ * lag, so a reverberant input reads *higher* than the same material dry.
65
+ *
66
+ * `threshold` and `attenuation` are both validated to `[0, 1]`, so the strongest gate this
67
+ * accepts is `threshold: 0.99`, not an arbitrarily large number.
68
+ *
69
+ * @example
70
+ * ```ts
71
+ * const { left, right, report } = masteringRepairDereverbClassicalStereo({
72
+ * left: leftSamples,
73
+ * right: rightSamples,
74
+ * sampleRate: 48000,
75
+ * wpeEnabled: true,
76
+ * });
77
+ * console.log(report.detected.lateDecayRatioDb, report.wpePredictorNorm);
78
+ * ```
79
+ */
80
+ export declare function masteringRepairDereverbClassicalStereo(request: MasteringRepairDereverbClassicalStereoRequest): MasteringRepairDereverbClassicalStereoResult;
81
+ export declare function masteringRepairDereverbClassicalStereo(left: Float32Array, right: Float32Array, sampleRate: number, config?: DereverbClassicalOptions): MasteringRepairDereverbClassicalStereoResult;
82
+ /**
83
+ * Offline classical dereverberator for any number of channels (spectral subtraction plus an
84
+ * optional WPE pre-stage), driven by one channel-linked mask.
85
+ *
86
+ * The N-channel form of {@link masteringRepairDereverbClassicalStereo}: the mask is built from
87
+ * the channel-summed power and the WPE stage accumulates over every channel and applies one
88
+ * predictor set to each, so neither stage can move an interchannel level or phase difference
89
+ * however many channels there are. One `report` for the set, and one output per input channel in
90
+ * input order.
91
+ *
92
+ * A single channel reproduces {@link masteringRepairDereverbClassical} bit for bit, and two
93
+ * reproduce {@link masteringRepairDereverbClassicalStereo} plane for plane — `channels[0]` is the
94
+ * left plane and `channels[1]` the right.
95
+ *
96
+ * Every field of the report is a ratio or a fraction, so nothing in it shifts with the channel
97
+ * count: a figure measured over a set is comparable against a mono one. That is the opposite of
98
+ * {@link masteringRepairDenoiseClassicalLinked}, whose `detected` levels are absolute and move by
99
+ * `10*log10(N)`.
100
+ *
101
+ * An input shorter than `nFft` is PADDED for analysis rather than rejected — again the opposite
102
+ * of that entry, which refuses one.
103
+ *
104
+ * Two report fields are gated on the WPE stage, which is off unless `wpeEnabled` is set:
105
+ * `detected.latePredictability` and `wpePredictorNorm` are then both exactly 0, which is the
106
+ * measurement rather than an unset field.
107
+ *
108
+ * @example
109
+ * ```ts
110
+ * const { channels, report } = masteringRepairDereverbClassicalLinked({
111
+ * channels: [frontLeft, frontRight, centre],
112
+ * sampleRate: 48000,
113
+ * wpeEnabled: true,
114
+ * });
115
+ * console.log(channels.length, report.detected.lateDecayRatioDb);
116
+ * ```
117
+ */
118
+ export declare function masteringRepairDereverbClassicalLinked(request: MasteringRepairDereverbClassicalLinkedRequest): MasteringRepairDereverbClassicalLinkedResult;
119
+ export declare function masteringRepairDereverbClassicalLinked(channels: Float32Array[], sampleRate: number, config?: DereverbClassicalOptions): MasteringRepairDereverbClassicalLinkedResult;
120
+ /**
121
+ * Point a dereverb config at a measured room.
122
+ *
123
+ * The pair to {@link estimateRoom}, which measures a recording blind. Returns a complete
124
+ * config for {@link masteringRepairDereverbClassical}, so the caller does not have to know
125
+ * which reverberation-time band to use or how the late delay relates to room size.
126
+ *
127
+ * What the room decides is *where* the tail is. Exactly two fields come back changed from
128
+ * what was passed in:
129
+ *
130
+ * - `t60Sec` — the mid-frequency reverberation time, the average of the 500 Hz and 1 kHz
131
+ * octaves an ISO 3382 room is quoted by.
132
+ * - `lateDelayMs` — Polack's mixing time, sqrt(volume) in milliseconds, past which the
133
+ * response is a diffuse tail rather than separable early reflections.
134
+ *
135
+ * How *much* to remove is taste rather than measurement, so `attenuation`, `threshold`,
136
+ * `overSubtraction` and `spectralFloor` are never written. A measurement that did not
137
+ * converge leaves its own field alone, so a partial estimate still configures the half it
138
+ * measured; a low-`confidence` estimate is still applied, because whether to trust it is
139
+ * the caller's call.
140
+ *
141
+ * Every field of `config` that is omitted falls back to the library's own dereverb default,
142
+ * matching {@link masteringRepairDereverbClassical}, so calling this with only an estimate
143
+ * returns a config that is ready to run. The C ABI underneath reads and writes the whole
144
+ * config and takes every field literally — it has no "zero means default" rule — which is
145
+ * why an omitted field resolves to its default here rather than to zero.
146
+ *
147
+ * @param estimate - The measured room, from {@link estimateRoom}. Only `volume` and
148
+ * `rt60Bands` are read. The request form carries it as `estimate` alongside the config
149
+ * fields.
150
+ * @param config - The config to point at the room; omitted fields take the library default.
151
+ * @returns A complete dereverb config.
152
+ *
153
+ * @example
154
+ * ```ts
155
+ * const estimate = estimateRoom(samples, sampleRate);
156
+ * const config = masteringRepairDereverbConfigForRoom(estimate);
157
+ * const clean = masteringRepairDereverbClassical(samples, sampleRate, config);
158
+ * ```
159
+ *
160
+ * When NEITHER mid band converged, `t60Sec` falls back to the average of whatever
161
+ * bands did, so a low-band-only estimate configures something rather than nothing --
162
+ * that value is no longer a mid-frequency figure. Only `volume`, `rt60Bands` and the
163
+ * band count are read; the rest of the estimate is ignored.
164
+ */
165
+ export declare function masteringRepairDereverbConfigForRoom(request: MasteringRepairDereverbConfigForRoomRequest): Required<DereverbClassicalOptions>;
166
+ export declare function masteringRepairDereverbConfigForRoom(estimate: RoomEstimateResult, config?: DereverbClassicalOptions): Required<DereverbClassicalOptions>;
167
+ /** Request form of `masteringRepairDetectReverb`. */
168
+ export interface MasteringRepairDetectReverbRequest extends DereverbClassicalOptions {
169
+ samples: Float32Array;
170
+ sampleRate: number;
171
+ }
172
+ /**
173
+ * Measures reverberation without dereverberating.
174
+ *
175
+ * NOT an ISO 3382 reverberation time — use `estimateRoom` for a graded RT60. This reports what
176
+ * {@link masteringRepairDereverbClassical} itself measures while deciding how much to subtract.
177
+ *
178
+ * A buffer shorter than `nFft` is PADDED for analysis, as the repair pads it, which is the
179
+ * opposite of {@link masteringRepairDetectNoiseFloor}.
180
+ *
181
+ * `latePredictability` comes from the WPE stage, which runs only under `wpeEnabled` — clear by
182
+ * default — and then only its covariance and solve; the prediction is never subtracted. A
183
+ * default-config call therefore reports exactly 0 there as its measurement.
184
+ */
185
+ export declare function masteringRepairDetectReverb(request: MasteringRepairDetectReverbRequest): ReverbDetection;
186
+ export declare function masteringRepairDetectReverb(samples: Float32Array, sampleRate: number, options?: DereverbClassicalOptions): ReverbDetection;
187
+ //# sourceMappingURL=repair_dereverb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repair_dereverb.d.ts","sourceRoot":"","sources":["../src/repair_dereverb.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Impulsive-defect repair: declick, declip and decrackle, with their detectors.
3
+ */
4
+ import type { ClickDetection, ClipDetection, CrackleDetection, MasteringRepairDeclickStereoResult, MasteringRepairDeclipStereoResult, MasteringRepairDecrackleStereoResult } from './public_types_repair';
5
+ /** Options for `masteringRepairDeclick`. */
6
+ export interface DeclickOptions {
7
+ threshold?: number;
8
+ neighborRatio?: number;
9
+ maxClickSamples?: number;
10
+ lpcOrder?: number;
11
+ residualRatio?: number;
12
+ }
13
+ export interface MasteringRepairDeclickRequest extends DeclickOptions {
14
+ samples: Float32Array;
15
+ sampleRate: number;
16
+ }
17
+ /** Request form of `masteringRepairDeclickStereo`. */
18
+ export interface MasteringRepairDeclickStereoRequest extends DeclickOptions {
19
+ left: Float32Array;
20
+ right: Float32Array;
21
+ sampleRate?: number;
22
+ }
23
+ /**
24
+ * Offline LPC-based declicker for a stereo pair.
25
+ *
26
+ * A run either channel's own detection selects is repaired in BOTH channels —
27
+ * a common-mode click repaired on one side only would move the stereo image.
28
+ * Only the selection is shared: each channel's fill is computed from its own
29
+ * samples and its own AR model, which is why `leftReport` and `rightReport`
30
+ * genuinely differ. Prefer this over calling `masteringRepairDeclick` on each
31
+ * channel separately whenever a click may land in only one channel — a
32
+ * per-channel pass never repairs the other side's image-shifting click.
33
+ */
34
+ export declare function masteringRepairDeclickStereo(request: MasteringRepairDeclickStereoRequest): MasteringRepairDeclickStereoResult;
35
+ export declare function masteringRepairDeclickStereo(left: Float32Array, right: Float32Array, sampleRate: number, config?: DeclickOptions): MasteringRepairDeclickStereoResult;
36
+ /** Offline LPC-based declicker. */
37
+ export declare function masteringRepairDeclick(request: MasteringRepairDeclickRequest): Float32Array;
38
+ export declare function masteringRepairDeclick(samples: Float32Array, sampleRate: number, options?: DeclickOptions): Float32Array;
39
+ /** Options for `masteringRepairDeclip`. */
40
+ export interface DeclipOptions {
41
+ clipThreshold?: number;
42
+ lpcOrder?: number;
43
+ iterations?: number;
44
+ lpcBlend?: number;
45
+ }
46
+ export interface MasteringRepairDeclipRequest extends DeclipOptions {
47
+ samples: Float32Array;
48
+ sampleRate: number;
49
+ }
50
+ /** Request form of `masteringRepairDeclipStereo`. */
51
+ export interface MasteringRepairDeclipStereoRequest extends DeclipOptions {
52
+ left: Float32Array;
53
+ right: Float32Array;
54
+ sampleRate?: number;
55
+ }
56
+ /** Algorithms accepted by `masteringRepairDecrackle`. */
57
+ export type DecrackleMode = 'median' | 'waveletShrinkage';
58
+ /** Options for `masteringRepairDecrackle`. */
59
+ export interface DecrackleOptions {
60
+ threshold?: number;
61
+ mode?: DecrackleMode;
62
+ levels?: number;
63
+ }
64
+ export interface MasteringRepairDecrackleRequest extends DecrackleOptions {
65
+ samples: Float32Array;
66
+ sampleRate: number;
67
+ }
68
+ /** Request form of `masteringRepairDecrackleStereo`. */
69
+ export interface MasteringRepairDecrackleStereoRequest extends DecrackleOptions {
70
+ left: Float32Array;
71
+ right: Float32Array;
72
+ sampleRate?: number;
73
+ }
74
+ /**
75
+ * Offline LPC-based declipper.
76
+ *
77
+ * Only clipped runs of at most 512 consecutive samples are reconstructed with the LPC solver.
78
+ * The cap is a fixed sample count: it is not derived from `lpcOrder`, from `sampleRate`, or from
79
+ * any other option, so its duration depends on the rate (~10.7 ms at 48 kHz). A longer run is
80
+ * filled with cubic / linear interpolation instead, which keeps the solver's dense matrices
81
+ * bounded by the cap rather than by the input. Exceeding the cap silently changes the
82
+ * reconstruction method rather than throwing: `lpcOrder`, `iterations` and `lpcBlend` have no
83
+ * effect on the interpolated run.
84
+ */
85
+ export declare function masteringRepairDeclip(request: MasteringRepairDeclipRequest): Float32Array;
86
+ export declare function masteringRepairDeclip(samples: Float32Array, sampleRate: number, options?: DeclipOptions): Float32Array;
87
+ /**
88
+ * Offline LPC-based declipper for a stereo pair.
89
+ *
90
+ * Takes the union of both channels' clipped runs. Each channel reconstructs
91
+ * the whole of every union run it has at least one clipped sample in; a
92
+ * channel with none is left untouched there — reconstructing unclipped audio
93
+ * to match the other side would replace real samples with an estimate. A
94
+ * plateau clipped in only one channel therefore produces no linking:
95
+ * `linkedRuns` is non-zero only where both channels are clipped in the same
96
+ * region with different extents.
97
+ */
98
+ export declare function masteringRepairDeclipStereo(request: MasteringRepairDeclipStereoRequest): MasteringRepairDeclipStereoResult;
99
+ export declare function masteringRepairDeclipStereo(left: Float32Array, right: Float32Array, sampleRate: number, config?: DeclipOptions): MasteringRepairDeclipStereoResult;
100
+ /** Offline crackle suppressor (median or wavelet-shrinkage). */
101
+ export declare function masteringRepairDecrackle(request: MasteringRepairDecrackleRequest): Float32Array;
102
+ export declare function masteringRepairDecrackle(samples: Float32Array, sampleRate: number, options?: DecrackleOptions): Float32Array;
103
+ /**
104
+ * Offline crackle suppressor (median or wavelet-shrinkage) for a stereo pair.
105
+ *
106
+ * Crackle is surface damage: the two channels carry different scratches at different instants,
107
+ * so there is no common event for a shared decision to agree about. Each channel is decrackled
108
+ * on its own -- there is no linking, unlike {@link masteringRepairDeclickStereo} and
109
+ * {@link masteringRepairDeclipStereo} -- and this entry point exists to keep the reports and
110
+ * the channel-length contract in one place.
111
+ */
112
+ export declare function masteringRepairDecrackleStereo(request: MasteringRepairDecrackleStereoRequest): MasteringRepairDecrackleStereoResult;
113
+ export declare function masteringRepairDecrackleStereo(left: Float32Array, right: Float32Array, sampleRate: number, config?: DecrackleOptions): MasteringRepairDecrackleStereoResult;
114
+ /** Request form of `masteringRepairDetectClicks`. */
115
+ export interface MasteringRepairDetectClicksRequest extends DeclickOptions {
116
+ samples: Float32Array;
117
+ sampleRate: number;
118
+ }
119
+ /** Request form of `masteringRepairDetectClipping`. */
120
+ export interface MasteringRepairDetectClippingRequest extends DeclipOptions {
121
+ samples: Float32Array;
122
+ sampleRate: number;
123
+ }
124
+ /** Request form of `masteringRepairDetectCrackle`. */
125
+ export interface MasteringRepairDetectCrackleRequest extends DecrackleOptions {
126
+ samples: Float32Array;
127
+ sampleRate: number;
128
+ }
129
+ /**
130
+ * Measures clicks without repairing.
131
+ *
132
+ * Runs the same LPC analysis {@link masteringRepairDeclick} runs, so a run counted here is one
133
+ * the repair would act on — a cheaper threshold-only scan would report runs it leaves alone.
134
+ * That also means the options that shape the repair shape the count: a large `rejected` says
135
+ * `maxClickSamples` or `neighborRatio` is too tight for this material, not that the material is
136
+ * clean.
137
+ *
138
+ * @example
139
+ * ```ts
140
+ * const detected = masteringRepairDetectClicks({ samples, sampleRate: 48000 });
141
+ * if (detected.perSecond > 1) samples = masteringRepairDeclick({ samples, sampleRate: 48000 });
142
+ * ```
143
+ */
144
+ export declare function masteringRepairDetectClicks(request: MasteringRepairDetectClicksRequest): ClickDetection;
145
+ export declare function masteringRepairDetectClicks(samples: Float32Array, sampleRate: number, options?: DeclickOptions): ClickDetection;
146
+ /**
147
+ * Measures clipping without repairing.
148
+ *
149
+ * Counts samples at or past `clipThreshold`. No other option reaches the result — `lpcOrder`,
150
+ * `iterations` and `lpcBlend` are validated and then unread, since nothing here is
151
+ * reconstructed. `sampleRate` is validated without being read for the same reason: no field of
152
+ * the result is a rate.
153
+ *
154
+ * Compare `longestRunSamples` against the 512-sample LPC cap to tell in advance which runs
155
+ * {@link masteringRepairDeclip} would fill by interpolation rather than with the solver.
156
+ *
157
+ * `flatRunCount`, `longestFlatRunSamples`, `flatSampleCount` and `flatLevel` answer a different
158
+ * question from the four fields above: those are read against `clipThreshold`, so they count the
159
+ * apex of any waveform that reaches it — a full-scale sine reports thousands of "clipped" samples
160
+ * having never been clipped — and they miss material clipped in one tool and attenuated in the
161
+ * next, which leaves nothing at the threshold. The flat-top fields instead count runs of at least
162
+ * 3 consecutive bit-identical samples whose level sits within 1 dB of the signal's peak, so they
163
+ * catch a clipped-then-attenuated waveform that `sampleCount` reports as clean.
164
+ *
165
+ * Two opposite errors follow from what a flat top actually is. A genuinely flat-topped waveform —
166
+ * a square or pulse train, a fully limited master — counts as clipped here too and cannot be told
167
+ * apart from clipping in the time domain: a false positive. In the other direction, anything that
168
+ * moves the two channels' samples independently before this runs erases a real flat top, so a
169
+ * zero reading is not proof the material was never clipped — a stereo downmix does this, and so
170
+ * do resampling and lossy coding, because the plateau stops being exactly level once each sample
171
+ * is nudged on its own. **Detect each channel of a stereo signal separately, before any downmix,
172
+ * never on the mixed-down result.**
173
+ */
174
+ export declare function masteringRepairDetectClipping(request: MasteringRepairDetectClippingRequest): ClipDetection;
175
+ export declare function masteringRepairDetectClipping(samples: Float32Array, sampleRate: number, options?: DeclipOptions): ClipDetection;
176
+ /**
177
+ * Measures crackle without repairing.
178
+ *
179
+ * Measured by the median criterion whatever `mode` is set to: wavelet shrinkage removes crackle
180
+ * without ever deciding that a sample is crackle, so these counts do not describe what a
181
+ * wavelet-mode repair would remove. A caller therefore gets the same answer before choosing a
182
+ * mode.
183
+ */
184
+ export declare function masteringRepairDetectCrackle(request: MasteringRepairDetectCrackleRequest): CrackleDetection;
185
+ export declare function masteringRepairDetectCrackle(samples: Float32Array, sampleRate: number, options?: DecrackleOptions): CrackleDetection;
186
+ //# sourceMappingURL=repair_impulsive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repair_impulsive.d.ts","sourceRoot":"","sources":["../src/repair_impulsive.ts"],"names":[],"mappings":"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"}