@libraz/libsonare 1.7.2 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +178 -0
- package/README.md +26 -203
- package/dist/_chain_config.d.ts +14 -0
- package/dist/_chain_config.d.ts.map +1 -0
- package/dist/_effects_common.d.ts +6 -0
- package/dist/_effects_common.d.ts.map +1 -0
- package/dist/_feature_validation.d.ts +8 -0
- package/dist/_feature_validation.d.ts.map +1 -0
- package/dist/_fft_options.d.ts +24 -0
- package/dist/_fft_options.d.ts.map +1 -0
- package/dist/align_take.d.ts +50 -0
- package/dist/align_take.d.ts.map +1 -0
- package/dist/analysis.d.ts +29 -5840
- package/dist/analysis.d.ts.map +1 -0
- package/dist/analysis.js +873 -722
- package/dist/analysis.js.map +1 -1
- package/dist/analysis_helpers.d.ts +9 -0
- package/dist/analysis_helpers.d.ts.map +1 -0
- package/dist/audio.d.ts +163 -0
- package/dist/audio.d.ts.map +1 -0
- package/dist/clip_page_streamer.d.ts +133 -0
- package/dist/clip_page_streamer.d.ts.map +1 -0
- package/dist/codes.d.ts +44 -0
- package/dist/codes.d.ts.map +1 -0
- package/dist/effects_mastering.d.ts +23 -0
- package/dist/effects_mastering.d.ts.map +1 -0
- package/dist/effects_note_ops.d.ts +477 -0
- package/dist/effects_note_ops.d.ts.map +1 -0
- package/dist/effects_percussive.d.ts +185 -0
- package/dist/effects_percussive.d.ts.map +1 -0
- package/dist/effects_separation.d.ts +65 -0
- package/dist/effects_separation.d.ts.map +1 -0
- package/dist/effects_spectral.d.ts +28 -0
- package/dist/effects_spectral.d.ts.map +1 -0
- package/dist/effects_timepitch.d.ts +129 -0
- package/dist/effects_timepitch.d.ts.map +1 -0
- package/dist/effects_voice_change.d.ts +53 -0
- package/dist/effects_voice_change.d.ts.map +1 -0
- package/dist/errors.d.ts +51 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/feature_core.d.ts +341 -0
- package/dist/feature_core.d.ts.map +1 -0
- package/dist/feature_decompose.d.ts +278 -0
- package/dist/feature_decompose.d.ts.map +1 -0
- package/dist/feature_inverse.d.ts +128 -0
- package/dist/feature_inverse.d.ts.map +1 -0
- package/dist/feature_loudness.d.ts +66 -0
- package/dist/feature_loudness.d.ts.map +1 -0
- package/dist/feature_music.d.ts +307 -0
- package/dist/feature_music.d.ts.map +1 -0
- package/dist/feature_pitch.d.ts +108 -0
- package/dist/feature_pitch.d.ts.map +1 -0
- package/dist/feature_resample.d.ts +16 -0
- package/dist/feature_resample.d.ts.map +1 -0
- package/dist/feature_spectral.d.ts +137 -0
- package/dist/feature_spectral.d.ts.map +1 -0
- package/dist/feature_spectrogram.d.ts +198 -0
- package/dist/feature_spectrogram.d.ts.map +1 -0
- package/dist/features.d.ts +10 -0
- package/dist/features.d.ts.map +1 -0
- package/dist/hrtf/default.shrf +0 -0
- package/dist/index.d.ts +74 -7431
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3758 -1362
- package/dist/index.js.map +1 -1
- package/dist/instrument_types.d.ts +517 -0
- package/dist/instrument_types.d.ts.map +1 -0
- package/dist/live_audio.d.ts +35 -0
- package/dist/live_audio.d.ts.map +1 -0
- package/dist/mastering_chain.d.ts +213 -0
- package/dist/mastering_chain.d.ts.map +1 -0
- package/dist/mastering_core.d.ts +457 -0
- package/dist/mastering_core.d.ts.map +1 -0
- package/dist/mastering_dynamics.d.ts +80 -0
- package/dist/mastering_dynamics.d.ts.map +1 -0
- package/dist/metering.d.ts +287 -0
- package/dist/metering.d.ts.map +1 -0
- package/dist/mixer.d.ts +464 -0
- package/dist/mixer.d.ts.map +1 -0
- package/dist/mixing_assistant.d.ts +62 -0
- package/dist/mixing_assistant.d.ts.map +1 -0
- package/dist/mixing_oneshot.d.ts +40 -0
- package/dist/mixing_oneshot.d.ts.map +1 -0
- package/dist/module_state.d.ts +15 -0
- package/dist/module_state.d.ts.map +1 -0
- package/dist/opfs_clip_pages.d.ts +28 -0
- package/dist/opfs_clip_pages.d.ts.map +1 -0
- package/dist/playback_renderer.d.ts +128 -0
- package/dist/playback_renderer.d.ts.map +1 -0
- package/dist/polyphony.d.ts +202 -0
- package/dist/polyphony.d.ts.map +1 -0
- package/dist/project.d.ts +8 -0
- package/dist/project.d.ts.map +1 -0
- package/dist/project_class.d.ts +562 -0
- package/dist/project_class.d.ts.map +1 -0
- package/dist/project_internal.d.ts +194 -0
- package/dist/project_internal.d.ts.map +1 -0
- package/dist/project_synth.d.ts +74 -0
- package/dist/project_synth.d.ts.map +1 -0
- package/dist/project_types.d.ts +652 -0
- package/dist/project_types.d.ts.map +1 -0
- package/dist/public_types.d.ts +185 -0
- package/dist/public_types.d.ts.map +1 -0
- package/dist/public_types_acoustic.d.ts +215 -0
- package/dist/public_types_acoustic.d.ts.map +1 -0
- package/dist/public_types_mastering.d.ts +510 -0
- package/dist/public_types_mastering.d.ts.map +1 -0
- package/dist/public_types_mixing.d.ts +436 -0
- package/dist/public_types_mixing.d.ts.map +1 -0
- package/dist/public_types_music.d.ts +619 -0
- package/dist/public_types_music.d.ts.map +1 -0
- package/dist/public_types_playback.d.ts +164 -0
- package/dist/public_types_playback.d.ts.map +1 -0
- package/dist/public_types_realtime.d.ts +174 -0
- package/dist/public_types_realtime.d.ts.map +1 -0
- package/dist/public_types_repair.d.ts +424 -0
- package/dist/public_types_repair.d.ts.map +1 -0
- package/dist/public_types_spectral.d.ts +697 -0
- package/dist/public_types_spectral.d.ts.map +1 -0
- package/dist/quick_analysis.d.ts +445 -0
- package/dist/quick_analysis.d.ts.map +1 -0
- package/dist/realtime_engine.d.ts +850 -0
- package/dist/realtime_engine.d.ts.map +1 -0
- package/dist/realtime_voice_changer.d.ts +158 -0
- package/dist/realtime_voice_changer.d.ts.map +1 -0
- package/dist/repair_dereverb.d.ts +187 -0
- package/dist/repair_dereverb.d.ts.map +1 -0
- package/dist/repair_impulsive.d.ts +186 -0
- package/dist/repair_impulsive.d.ts.map +1 -0
- package/dist/repair_noise.d.ts +239 -0
- package/dist/repair_noise.d.ts.map +1 -0
- package/dist/repair_trim.d.ts +123 -0
- package/dist/repair_trim.d.ts.map +1 -0
- package/dist/sample_bank.d.ts +84 -0
- package/dist/sample_bank.d.ts.map +1 -0
- package/dist/scale.d.ts +10 -0
- package/dist/scale.d.ts.map +1 -0
- package/dist/schemas/mixer-scene.schema.json +393 -0
- package/dist/schemas/playback-renderer-config.schema.json +392 -0
- package/dist/sonare-analysis.d.ts +8 -0
- package/dist/sonare-analysis.js +2 -2
- package/dist/sonare-analysis.wasm +0 -0
- package/dist/sonare.d.ts +3909 -0
- package/dist/sonare.js +2 -2
- package/dist/sonare.wasm +0 -0
- package/dist/stream_analyzer.d.ts +163 -0
- package/dist/stream_analyzer.d.ts.map +1 -0
- package/dist/stream_types.d.ts +214 -0
- package/dist/stream_types.d.ts.map +1 -0
- package/dist/streaming_mixing.d.ts +6 -0
- package/dist/streaming_mixing.d.ts.map +1 -0
- package/dist/streaming_processors.d.ts +335 -0
- package/dist/streaming_processors.d.ts.map +1 -0
- package/dist/transcribe.d.ts +77 -0
- package/dist/transcribe.d.ts.map +1 -0
- package/dist/validation.d.ts +140 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/web_midi.d.ts +77 -0
- package/dist/web_midi.d.ts.map +1 -0
- package/dist/worker.d.ts +5 -48
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +94 -41
- package/dist/worker.js.map +1 -1
- package/dist/worker_client.d.ts +96 -0
- package/dist/worker_client.d.ts.map +1 -0
- package/dist/worker_protocol.d.ts +43 -0
- package/dist/worker_protocol.d.ts.map +1 -0
- package/dist/worklet/audio_types.d.ts +21 -0
- package/dist/worklet/audio_types.d.ts.map +1 -0
- package/dist/worklet/engine-automation.d.ts +29 -0
- package/dist/worklet/engine-automation.d.ts.map +1 -0
- package/dist/worklet/engine-capture-facade.d.ts +35 -0
- package/dist/worklet/engine-capture-facade.d.ts.map +1 -0
- package/dist/worklet/engine-clips.d.ts +23 -0
- package/dist/worklet/engine-clips.d.ts.map +1 -0
- package/dist/worklet/engine-markers.d.ts +40 -0
- package/dist/worklet/engine-markers.d.ts.map +1 -0
- package/dist/worklet/engine-mixer-facade.d.ts +128 -0
- package/dist/worklet/engine-mixer-facade.d.ts.map +1 -0
- package/dist/worklet/engine-node.d.ts +81 -0
- package/dist/worklet/engine-node.d.ts.map +1 -0
- package/dist/worklet/engine-offline.d.ts +81 -0
- package/dist/worklet/engine-offline.d.ts.map +1 -0
- package/dist/worklet/engine-options.d.ts +12 -0
- package/dist/worklet/engine-options.d.ts.map +1 -0
- package/dist/worklet/engine-parameter-facade.d.ts +106 -0
- package/dist/worklet/engine-parameter-facade.d.ts.map +1 -0
- package/dist/worklet/engine-processor.d.ts +68 -0
- package/dist/worklet/engine-processor.d.ts.map +1 -0
- package/dist/worklet/engine-register.d.ts +2 -0
- package/dist/worklet/engine-register.d.ts.map +1 -0
- package/dist/worklet/engine-strips.d.ts +73 -0
- package/dist/worklet/engine-strips.d.ts.map +1 -0
- package/dist/worklet/engine-sync.d.ts +37 -0
- package/dist/worklet/engine-sync.d.ts.map +1 -0
- package/dist/worklet/engine-tempo-facade.d.ts +48 -0
- package/dist/worklet/engine-tempo-facade.d.ts.map +1 -0
- package/dist/worklet/engine.d.ts +397 -0
- package/dist/worklet/engine.d.ts.map +1 -0
- package/dist/worklet/guards.d.ts +47 -0
- package/dist/worklet/guards.d.ts.map +1 -0
- package/dist/worklet/messages.d.ts +710 -0
- package/dist/worklet/messages.d.ts.map +1 -0
- package/dist/worklet/mixer-processor.d.ts +46 -0
- package/dist/worklet/mixer-processor.d.ts.map +1 -0
- package/dist/worklet/playback-processor.d.ts +62 -0
- package/dist/worklet/playback-processor.d.ts.map +1 -0
- package/dist/worklet/protocol.d.ts +323 -0
- package/dist/worklet/protocol.d.ts.map +1 -0
- package/dist/worklet/voice-changer-processor.d.ts +41 -0
- package/dist/worklet/voice-changer-processor.d.ts.map +1 -0
- package/dist/worklet.d.ts +16 -2515
- package/dist/worklet.d.ts.map +1 -0
- package/dist/worklet.js +2763 -501
- package/dist/worklet.js.map +1 -1
- package/package.json +23 -12
- package/src/_effects_common.ts +17 -0
- package/src/_feature_validation.ts +34 -0
- package/src/_fft_options.ts +39 -0
- package/src/align_take.ts +64 -0
- package/src/analysis.ts +56 -3
- package/src/analysis_helpers.ts +7 -0
- package/src/audio.ts +106 -3
- package/src/codes.ts +39 -2
- package/src/effects_mastering.ts +97 -22
- package/src/effects_note_ops.ts +635 -0
- package/src/effects_percussive.ts +217 -0
- package/src/effects_separation.ts +150 -0
- package/src/effects_spectral.ts +60 -0
- package/src/effects_timepitch.ts +377 -0
- package/src/errors.ts +23 -1
- package/src/feature_core.ts +127 -2
- package/src/feature_decompose.ts +633 -0
- package/src/feature_inverse.ts +454 -0
- package/src/feature_loudness.ts +125 -0
- package/src/feature_music.ts +107 -14
- package/src/feature_pitch.ts +96 -1
- package/src/feature_spectral.ts +16 -611
- package/src/feature_spectrogram.ts +63 -450
- package/src/features.ts +36 -22
- package/src/index.ts +282 -30
- package/src/instrument_types.ts +645 -0
- package/src/live_audio.ts +27 -1
- package/src/mastering_chain.ts +184 -0
- package/src/mastering_core.ts +346 -32
- package/src/mastering_dynamics.ts +22 -11
- package/src/metering.ts +67 -24
- package/src/mixer.ts +212 -3
- package/src/mixing_assistant.ts +138 -0
- package/src/mixing_oneshot.ts +10 -5
- package/src/module_state.ts +24 -2
- package/src/playback_renderer.ts +252 -0
- package/src/polyphony.ts +279 -0
- package/src/project.ts +61 -24
- package/src/project_class.ts +450 -27
- package/src/project_internal.ts +149 -42
- package/src/project_synth.ts +67 -1
- package/src/project_types.ts +268 -270
- package/src/public_types.ts +122 -3
- package/src/public_types_acoustic.ts +112 -3
- package/src/public_types_mastering.ts +254 -73
- package/src/public_types_mixing.ts +363 -1
- package/src/public_types_music.ts +312 -2
- package/src/public_types_playback.ts +195 -0
- package/src/public_types_realtime.ts +39 -7
- package/src/public_types_repair.ts +446 -0
- package/src/public_types_spectral.ts +487 -1
- package/src/quick_analysis.ts +203 -26
- package/src/realtime_engine.ts +711 -28
- package/src/realtime_voice_changer.ts +55 -1
- package/src/repair_dereverb.ts +299 -0
- package/src/repair_impulsive.ts +395 -0
- package/src/repair_noise.ts +425 -0
- package/src/repair_trim.ts +226 -0
- package/src/sample_bank.ts +113 -0
- package/src/sonare.js.d.ts +1122 -30
- package/src/stream_analyzer.ts +36 -4
- package/src/stream_types.ts +37 -0
- package/src/streaming_mixing.ts +1 -1
- package/src/streaming_processors.ts +194 -10
- package/src/transcribe.ts +89 -0
- package/src/validation.ts +285 -11
- package/src/web_midi.ts +1 -6
- package/src/worker.ts +18 -2
- package/src/worklet/audio_types.ts +37 -0
- package/src/worklet/engine-mixer-facade.ts +444 -10
- package/src/worklet/engine-node.ts +78 -26
- package/src/worklet/engine-offline.ts +14 -8
- package/src/worklet/engine-parameter-facade.ts +21 -0
- package/src/worklet/engine-processor.ts +272 -83
- package/src/worklet/engine-register.ts +32 -18
- package/src/worklet/engine-strips.ts +280 -9
- package/src/worklet/engine-sync.ts +14 -6
- package/src/worklet/engine.ts +365 -31
- package/src/worklet/guards.ts +140 -44
- package/src/worklet/messages.ts +227 -2
- package/src/worklet/mixer-processor.ts +109 -47
- package/src/worklet/playback-processor.ts +300 -0
- package/src/worklet/protocol.ts +53 -3
- package/src/worklet/voice-changer-processor.ts +17 -11
- package/src/worklet.ts +17 -0
- package/src/effects_transform.ts +0 -718
- package/src/mastering_repair.ts +0 -273
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/worklet/messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { WorkletInput, WorkletOutput } from './audio_types';
|
|
2
|
+
import type { SonareWorkletMessage, SonareWorkletProcessorOptions, WorkletTransport } from './messages';
|
|
3
|
+
/**
|
|
4
|
+
* AudioWorklet-style mixer bridge backed by the package's single `sonare.wasm`.
|
|
5
|
+
*
|
|
6
|
+
* The WASM module must already be initialized via `init()` before constructing
|
|
7
|
+
* this bridge. Each AudioWorklet input is treated as one stereo strip:
|
|
8
|
+
* `inputs[strip][0]` is left and `inputs[strip][1]` is right. Missing channels
|
|
9
|
+
* are replaced with preallocated silence.
|
|
10
|
+
*/
|
|
11
|
+
export declare class SonareWorkletProcessor {
|
|
12
|
+
readonly sampleRate: number;
|
|
13
|
+
readonly blockSize: number;
|
|
14
|
+
private mixer;
|
|
15
|
+
private realtime;
|
|
16
|
+
private closed;
|
|
17
|
+
private processedFrames;
|
|
18
|
+
private lastMeterFrame;
|
|
19
|
+
private meterIntervalFrames;
|
|
20
|
+
private spectrumIntervalFrames;
|
|
21
|
+
private lastSpectrumFrame;
|
|
22
|
+
private transport?;
|
|
23
|
+
private meterRing?;
|
|
24
|
+
/**
|
|
25
|
+
* Reused meter record, so a publish writes fields instead of allocating one.
|
|
26
|
+
*
|
|
27
|
+
* `targetId` is always the master and the four LUFS / gain-reduction fields
|
|
28
|
+
* are always unavailable here — the mixer worklet does not run the
|
|
29
|
+
* K-weighting filters, and a floor value would read as silence — so both are
|
|
30
|
+
* set once rather than per interval.
|
|
31
|
+
*/
|
|
32
|
+
private readonly meterScratch;
|
|
33
|
+
private spectrumRing?;
|
|
34
|
+
private spectrumBands;
|
|
35
|
+
constructor(options: SonareWorkletProcessorOptions, transport?: WorkletTransport);
|
|
36
|
+
process(inputs: WorkletInput, outputs: WorkletOutput): boolean;
|
|
37
|
+
receiveMessage(message: SonareWorkletMessage): void;
|
|
38
|
+
destroy(): void;
|
|
39
|
+
private publishMeter;
|
|
40
|
+
private writeMeterRing;
|
|
41
|
+
private publishSpectrum;
|
|
42
|
+
private computeSpectrum;
|
|
43
|
+
private writeSpectrumRing;
|
|
44
|
+
}
|
|
45
|
+
export declare function registerSonareWorkletProcessor(name?: string): void;
|
|
46
|
+
//# sourceMappingURL=mixer-processor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mixer-processor.d.ts","sourceRoot":"","sources":["../../src/worklet/mixer-processor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,KAAK,EACV,oBAAoB,EACpB,6BAA6B,EAE7B,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAcpB;;;;;;;GAOG;AACH,qBAAa,sBAAsB;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAmB;IACrC,OAAO,CAAC,SAAS,CAAC,CAAwB;IAC1C;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAe3B;IACF,OAAO,CAAC,YAAY,CAAC,CAA2B;IAChD,OAAO,CAAC,aAAa,CAAe;gBAExB,OAAO,EAAE,6BAA6B,EAAE,SAAS,CAAC,EAAE,gBAAgB;IA8ChF,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO;IA8D9D,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAgCnD,OAAO,IAAI,IAAI;IAOf,OAAO,CAAC,YAAY;IAwEpB,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,eAAe;IA4BvB,OAAO,CAAC,iBAAiB;CAiB1B;AAED,wBAAgB,8BAA8B,CAAC,IAAI,SAA6B,GAAG,IAAI,CAqCtF"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { type WorkletInput, type WorkletOutput } from './audio_types';
|
|
2
|
+
import type { SonarePlaybackDiagnosticsReplyMessage, SonarePlaybackMessage, SonarePlaybackNodeOptions, SonarePlaybackWorkletProcessorOptions, WorkletPort } from './messages';
|
|
3
|
+
/**
|
|
4
|
+
* The playback renderer inside an AudioWorklet.
|
|
5
|
+
*
|
|
6
|
+
* `inputs[0].length` is the block's input channel count, so a
|
|
7
|
+
* `MediaElementAudioSourceNode` whose channel count follows the media drives
|
|
8
|
+
* `input.layout: "auto"` directly. A block with no input channels (no active
|
|
9
|
+
* connection: paused, ended, loading) renders silence on the active layout. A
|
|
10
|
+
* block whose channel count the renderer refuses renders silence the same way
|
|
11
|
+
* and counts toward `unsupported_input_blocks`; either way the renderer
|
|
12
|
+
* advances by the block, so the timeline never shifts. Nothing throws on the
|
|
13
|
+
* audio thread.
|
|
14
|
+
*
|
|
15
|
+
* Every buffer is allocated in the constructor: `process()` copies into WASM
|
|
16
|
+
* heap planes and allocates nothing.
|
|
17
|
+
*/
|
|
18
|
+
export declare class SonarePlaybackWorkletProcessor {
|
|
19
|
+
private static warnedBlockOverflow;
|
|
20
|
+
private readonly renderer;
|
|
21
|
+
private readonly native;
|
|
22
|
+
private readonly port?;
|
|
23
|
+
private readonly maxBlockSize;
|
|
24
|
+
private readonly outputChannels;
|
|
25
|
+
private inputPlanes;
|
|
26
|
+
private outputPlanes;
|
|
27
|
+
private unsupportedInputBlocks;
|
|
28
|
+
private destroyed;
|
|
29
|
+
constructor(options?: SonarePlaybackWorkletProcessorOptions, port?: WorkletPort);
|
|
30
|
+
/**
|
|
31
|
+
* Handles a control-plane message. AudioWorklet port handlers run on the
|
|
32
|
+
* rendering thread between `process()` calls, which is what makes `reset`
|
|
33
|
+
* safe here. A refused message is answered with an `error` message.
|
|
34
|
+
*/
|
|
35
|
+
receiveMessage(message: SonarePlaybackMessage): void;
|
|
36
|
+
/** The renderer's diagnostics plus `unsupported_input_blocks`, as a plain object. */
|
|
37
|
+
diagnostics(): SonarePlaybackDiagnosticsReplyMessage['diagnostics'];
|
|
38
|
+
process(inputs: WorkletInput, outputs: WorkletOutput): boolean;
|
|
39
|
+
destroy(): void;
|
|
40
|
+
private acquirePlanes;
|
|
41
|
+
private clampFrames;
|
|
42
|
+
}
|
|
43
|
+
export declare function registerSonarePlaybackWorkletProcessor(name?: string): void;
|
|
44
|
+
/**
|
|
45
|
+
* Creates the AudioWorkletNode for a processor registered with
|
|
46
|
+
* {@link registerSonarePlaybackWorkletProcessor}. The node's input follows its
|
|
47
|
+
* source's channel count without any browser up/down mix
|
|
48
|
+
* (`channelCountMode: "max"`, `channelInterpretation: "discrete"`), and its
|
|
49
|
+
* output carries the target's channel count. The configuration is serialized
|
|
50
|
+
* here, on the main thread.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```ts
|
|
54
|
+
* await context.audioWorklet.addModule(playbackWorkletUrl);
|
|
55
|
+
* const hrtf = await (await fetch(hrtfUrl)).arrayBuffer();
|
|
56
|
+
* const node = createSonarePlaybackNode(context, { config: {}, hrtf });
|
|
57
|
+
* context.createMediaElementSource(video).connect(node).connect(context.destination);
|
|
58
|
+
* video.addEventListener('seeking', () => node.port.postMessage({ type: 'reset' }));
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export declare function createSonarePlaybackNode(context: BaseAudioContext, options?: SonarePlaybackNodeOptions): AudioWorkletNode;
|
|
62
|
+
//# sourceMappingURL=playback-processor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playback-processor.d.ts","sourceRoot":"","sources":["../../src/worklet/playback-processor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsB,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAE1F,OAAO,KAAK,EACV,qCAAqC,EAErC,qBAAqB,EACrB,yBAAyB,EACzB,qCAAqC,EACrC,WAAW,EACZ,MAAM,YAAY,CAAC;AAyBpB;;;;;;;;;;;;;;GAcG;AACH,qBAAa,8BAA8B;IACzC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,GAAE,qCAA0C,EAAE,IAAI,CAAC,EAAE,WAAW;IAuBnF;;;;OAIG;IACH,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAkCpD,qFAAqF;IACrF,WAAW,IAAI,qCAAqC,CAAC,aAAa,CAAC;IAOnE,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO;IAmD9D,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,WAAW;CAcpB;AAED,wBAAgB,sCAAsC,CAAC,IAAI,SAA8B,GAAG,IAAI,CAmC/F;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,gBAAgB,EACzB,OAAO,GAAE,yBAA8B,GACtC,gBAAgB,CAoBlB"}
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
import type { EngineMeterTelemetry, EngineTelemetry } from '../index';
|
|
2
|
+
export declare const ENGINE_MIXER_PARAM_FADER_DB = 1;
|
|
3
|
+
export declare const ENGINE_MIXER_PARAM_PAN = 2;
|
|
4
|
+
export declare function engineMixerLaneTarget(laneIndex: number, paramKind: number): number;
|
|
5
|
+
export declare function engineMixerBusTarget(busIndex: number, paramKind: number): number;
|
|
6
|
+
export declare function engineMixerMasterTarget(paramKind: number): number;
|
|
7
|
+
export interface SonareWorkletMeterSnapshot {
|
|
8
|
+
type: 'meter';
|
|
9
|
+
targetId: number;
|
|
10
|
+
frame: number;
|
|
11
|
+
peakDbL: number;
|
|
12
|
+
peakDbR: number;
|
|
13
|
+
rmsDbL: number;
|
|
14
|
+
rmsDbR: number;
|
|
15
|
+
correlation: number;
|
|
16
|
+
/**
|
|
17
|
+
* Left-channel inter-sample (true) peak in dB, from the ITU-R BS.1770-4
|
|
18
|
+
* polyphase reconstruction at 4x. A streaming measurement, and the render
|
|
19
|
+
* quantum makes that visible here: the centered reconstruction stencil needs a
|
|
20
|
+
* few future samples a realtime path does not have, so each block's last
|
|
21
|
+
* samples read marginally low (about 0.1 dB across 64..8192-sample blocks on a
|
|
22
|
+
* near-Nyquist tone, always under-reading). Use `meteringTruePeakDb` over the
|
|
23
|
+
* whole signal for an exact dBTP number.
|
|
24
|
+
*/
|
|
25
|
+
truePeakDbL: number;
|
|
26
|
+
/** Right-channel inter-sample (true) peak in dB. See {@link truePeakDbL}. */
|
|
27
|
+
truePeakDbR: number;
|
|
28
|
+
momentaryLufs: number;
|
|
29
|
+
shortTermLufs: number;
|
|
30
|
+
integratedLufs: number;
|
|
31
|
+
gainReductionDb: number;
|
|
32
|
+
}
|
|
33
|
+
export interface SonareWorkletSpectrumSnapshot {
|
|
34
|
+
type: 'spectrum';
|
|
35
|
+
frame: number;
|
|
36
|
+
bands: Float32Array;
|
|
37
|
+
}
|
|
38
|
+
export declare const SONARE_METER_RING_HEADER_INTS = 4;
|
|
39
|
+
export declare const SONARE_METER_RING_RECORD_FLOATS = 14;
|
|
40
|
+
export declare const SONARE_SPECTRUM_RING_HEADER_INTS = 5;
|
|
41
|
+
export declare const SONARE_SCOPE_RING_HEADER_INTS = 6;
|
|
42
|
+
export declare const SONARE_SCOPE_RING_RECORD_PREFIX_FLOATS = 5;
|
|
43
|
+
/** Low 24 bits of a frame index (exact in Float32). */
|
|
44
|
+
export declare function encodeFrameLo(frame: number): number;
|
|
45
|
+
/** High bits of a frame index above 2^24 (exact in Float32 up to ~2^48). */
|
|
46
|
+
export declare function encodeFrameHi(frame: number): number;
|
|
47
|
+
/** Reconstruct a frame index from its low/high Float32 lanes. */
|
|
48
|
+
export declare function decodeFrame(lo: number, hi: number): number;
|
|
49
|
+
export declare const SONARE_ENGINE_RING_HEADER_INTS = 5;
|
|
50
|
+
export declare const SONARE_ENGINE_COMMAND_RECORD_BYTES = 32;
|
|
51
|
+
export declare const SONARE_ENGINE_TELEMETRY_RECORD_BYTES = 48;
|
|
52
|
+
export declare const SONARE_CLIP_PAGE_REQUEST_RING_HEADER_INTS = 5;
|
|
53
|
+
export declare const SONARE_CLIP_PAGE_REQUEST_RING_RECORD_UINT32S = 2;
|
|
54
|
+
export declare const SONARE_EXTERNAL_MIDI_RING_HEADER_INTS = 5;
|
|
55
|
+
export declare const SONARE_EXTERNAL_MIDI_RING_RECORD_UINT32S = 4;
|
|
56
|
+
export declare enum SonareEngineCommandType {
|
|
57
|
+
SetParam = 0,
|
|
58
|
+
SetParamSmoothed = 1,
|
|
59
|
+
TransportPlay = 2,
|
|
60
|
+
TransportStop = 3,
|
|
61
|
+
TransportSeekSample = 4,
|
|
62
|
+
TransportSeekPpq = 5,
|
|
63
|
+
SetTempoMap = 6,
|
|
64
|
+
SetLoop = 7,
|
|
65
|
+
SwapGraph = 8,
|
|
66
|
+
SwapAutomation = 9,
|
|
67
|
+
SetSoloMute = 10,
|
|
68
|
+
AddClip = 11,
|
|
69
|
+
RemoveClip = 12,
|
|
70
|
+
ArmRecord = 13,
|
|
71
|
+
Punch = 14,
|
|
72
|
+
SetMetronome = 15,
|
|
73
|
+
SetMarker = 16,
|
|
74
|
+
SeekMarker = 17,
|
|
75
|
+
SetTrackMonitorMode = 26
|
|
76
|
+
}
|
|
77
|
+
export declare enum SonareEngineTelemetryType {
|
|
78
|
+
ProcessBlock = 0,
|
|
79
|
+
Error = 1
|
|
80
|
+
}
|
|
81
|
+
export declare enum SonareEngineTelemetryError {
|
|
82
|
+
None = 0,
|
|
83
|
+
CommandQueueOverflow = 1,
|
|
84
|
+
PendingCommandOverflow = 2,
|
|
85
|
+
BoundaryOverflow = 3,
|
|
86
|
+
TelemetryOverflow = 4,
|
|
87
|
+
CaptureOverflow = 5,
|
|
88
|
+
MaxBlockExceeded = 6,
|
|
89
|
+
UnknownTarget = 7,
|
|
90
|
+
NonRealtimeSafeParameter = 8,
|
|
91
|
+
NotPrepared = 9,
|
|
92
|
+
NonQueueableCommand = 10,
|
|
93
|
+
AutomationBindTargetOverflow = 11,
|
|
94
|
+
StaleAutomationLanes = 12,
|
|
95
|
+
SmoothedParameterCapacity = 13,
|
|
96
|
+
CommandBacklogDeferred = 14,
|
|
97
|
+
ClipPageUnderrun = 15,
|
|
98
|
+
InsertAutomationOverflow = 16,
|
|
99
|
+
MidiClockOverflow = 17,
|
|
100
|
+
MetronomeOverflow = 18,
|
|
101
|
+
InvalidCommand = 19,
|
|
102
|
+
MaxChannelsExceeded = 20,
|
|
103
|
+
ParameterBaseOverflow = 21
|
|
104
|
+
}
|
|
105
|
+
export interface SonareMeterRingBuffer {
|
|
106
|
+
sharedBuffer: SharedArrayBuffer;
|
|
107
|
+
header: Int32Array;
|
|
108
|
+
records: Float32Array;
|
|
109
|
+
capacity: number;
|
|
110
|
+
}
|
|
111
|
+
export interface SonareMeterRingReadResult {
|
|
112
|
+
nextReadIndex: number;
|
|
113
|
+
meters: SonareWorkletMeterSnapshot[];
|
|
114
|
+
}
|
|
115
|
+
export interface SonareSpectrumRingBuffer {
|
|
116
|
+
sharedBuffer: SharedArrayBuffer;
|
|
117
|
+
header: Int32Array;
|
|
118
|
+
records: Float32Array;
|
|
119
|
+
capacity: number;
|
|
120
|
+
bands: number;
|
|
121
|
+
}
|
|
122
|
+
export interface SonareSpectrumRingReadResult {
|
|
123
|
+
nextReadIndex: number;
|
|
124
|
+
spectra: SonareWorkletSpectrumSnapshot[];
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* A single target-addressed scope record drained from the realtime engine's
|
|
128
|
+
* scope ring: an FFT magnitude spectrum plus a decimated goniometer/vectorscope
|
|
129
|
+
* point cloud. Unlike {@link SonareWorkletSpectrumSnapshot} (the legacy
|
|
130
|
+
* coarse-DFT meter spectrum), this carries a `targetId` (master/lane/bus) and a
|
|
131
|
+
* stereo point cloud, mirroring the engine's `ScopeTelemetryRecord`.
|
|
132
|
+
*/
|
|
133
|
+
export interface SonareWorkletScopeSnapshot {
|
|
134
|
+
type: 'scope';
|
|
135
|
+
targetId: number;
|
|
136
|
+
frame: number;
|
|
137
|
+
/** Linear-band magnitudes in dB (length = the configured band count). */
|
|
138
|
+
bands: Float32Array;
|
|
139
|
+
/** Interleaved stereo goniometer points: [l0, r0, l1, r1, ...]. */
|
|
140
|
+
points: Float32Array;
|
|
141
|
+
}
|
|
142
|
+
export interface SonareScopeRingBuffer {
|
|
143
|
+
sharedBuffer: SharedArrayBuffer;
|
|
144
|
+
header: Int32Array;
|
|
145
|
+
records: Float32Array;
|
|
146
|
+
capacity: number;
|
|
147
|
+
bands: number;
|
|
148
|
+
maxPoints: number;
|
|
149
|
+
}
|
|
150
|
+
export interface SonareScopeRingReadResult {
|
|
151
|
+
nextReadIndex: number;
|
|
152
|
+
scopes: SonareWorkletScopeSnapshot[];
|
|
153
|
+
}
|
|
154
|
+
export interface SonareExternalMidiRingEvent {
|
|
155
|
+
destinationId: number;
|
|
156
|
+
renderFrame: number;
|
|
157
|
+
byteWord: number;
|
|
158
|
+
byteCount: number;
|
|
159
|
+
}
|
|
160
|
+
export interface SonareExternalMidiRingBuffer {
|
|
161
|
+
sharedBuffer: SharedArrayBuffer;
|
|
162
|
+
header: Int32Array;
|
|
163
|
+
records: Uint32Array;
|
|
164
|
+
capacity: number;
|
|
165
|
+
}
|
|
166
|
+
export interface SharedExternalMidiRingWriter {
|
|
167
|
+
header: Int32Array;
|
|
168
|
+
records: Uint32Array;
|
|
169
|
+
capacity: number;
|
|
170
|
+
}
|
|
171
|
+
export interface SonareExternalMidiRingReadResult {
|
|
172
|
+
events: SonareExternalMidiRingEvent[];
|
|
173
|
+
dropped: number;
|
|
174
|
+
}
|
|
175
|
+
export interface SharedScopeRingWriter {
|
|
176
|
+
header: Int32Array;
|
|
177
|
+
records: Float32Array;
|
|
178
|
+
capacity: number;
|
|
179
|
+
bands: number;
|
|
180
|
+
maxPoints: number;
|
|
181
|
+
recordFloats: number;
|
|
182
|
+
}
|
|
183
|
+
export interface SonareEngineCommandRecord {
|
|
184
|
+
type: SonareEngineCommandType | number;
|
|
185
|
+
targetId?: number;
|
|
186
|
+
sampleTime?: number | bigint;
|
|
187
|
+
argFloat?: number;
|
|
188
|
+
argInt?: number | bigint;
|
|
189
|
+
}
|
|
190
|
+
export interface SonareEngineTelemetryRecord {
|
|
191
|
+
type: SonareEngineTelemetryType | number;
|
|
192
|
+
error: SonareEngineTelemetryError | number;
|
|
193
|
+
renderFrame: number;
|
|
194
|
+
timelineSample: number;
|
|
195
|
+
audibleTimelineSample: number;
|
|
196
|
+
graphLatencySamplesQ8: number;
|
|
197
|
+
value: number;
|
|
198
|
+
}
|
|
199
|
+
export interface SonareEngineCommandRingBuffer {
|
|
200
|
+
sharedBuffer: SharedArrayBuffer;
|
|
201
|
+
header: Int32Array;
|
|
202
|
+
view: DataView;
|
|
203
|
+
capacity: number;
|
|
204
|
+
}
|
|
205
|
+
export interface SonareEngineTelemetryRingBuffer {
|
|
206
|
+
sharedBuffer: SharedArrayBuffer;
|
|
207
|
+
header: Int32Array;
|
|
208
|
+
view: DataView;
|
|
209
|
+
capacity: number;
|
|
210
|
+
}
|
|
211
|
+
export interface SonareEngineTelemetryRingReadResult {
|
|
212
|
+
nextReadIndex: number;
|
|
213
|
+
telemetry: SonareEngineTelemetryRecord[];
|
|
214
|
+
}
|
|
215
|
+
export interface SonareClipPageRequest {
|
|
216
|
+
clipId: number;
|
|
217
|
+
pageIndex: number;
|
|
218
|
+
}
|
|
219
|
+
export interface SonareClipPageRequestRingBuffer {
|
|
220
|
+
sharedBuffer: SharedArrayBuffer;
|
|
221
|
+
header: Int32Array;
|
|
222
|
+
records: Uint32Array;
|
|
223
|
+
capacity: number;
|
|
224
|
+
}
|
|
225
|
+
export interface SharedClipPageRequestRingWriter {
|
|
226
|
+
header: Int32Array;
|
|
227
|
+
records: Uint32Array;
|
|
228
|
+
capacity: number;
|
|
229
|
+
}
|
|
230
|
+
export interface SonareClipPageRequestRingReadResult {
|
|
231
|
+
requests: SonareClipPageRequest[];
|
|
232
|
+
/** Cumulative uint32 drop count for native and SAB-ring overflows. */
|
|
233
|
+
dropped: number;
|
|
234
|
+
}
|
|
235
|
+
export interface SharedMeterRingWriter {
|
|
236
|
+
header: Int32Array;
|
|
237
|
+
records: Float32Array;
|
|
238
|
+
capacity: number;
|
|
239
|
+
}
|
|
240
|
+
export interface SharedSpectrumRingWriter {
|
|
241
|
+
header: Int32Array;
|
|
242
|
+
records: Float32Array;
|
|
243
|
+
capacity: number;
|
|
244
|
+
bands: number;
|
|
245
|
+
recordFloats: number;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Shared finite dB floor (`sonare::constants::kFloorDb`). Every level-in-dB
|
|
249
|
+
* field on a worklet snapshot bottoms out here rather than at `-Infinity`.
|
|
250
|
+
*/
|
|
251
|
+
export declare const SONARE_FLOOR_DB = -120;
|
|
252
|
+
/**
|
|
253
|
+
* Magnitude to dB with the shared finite floor.
|
|
254
|
+
*
|
|
255
|
+
* `-Infinity` is not a usable value for a meter reading: it propagates NaN
|
|
256
|
+
* through the usual `(db + 60) / 60 * height` bar geometry, serializes to
|
|
257
|
+
* `null` through `JSON.stringify`, and poisons `Math.min`/`Math.max`
|
|
258
|
+
* aggregation. The native meters have always floored at `kFloorDb`, so a
|
|
259
|
+
* producer emitting `-Infinity` also made the two worklets disagree about
|
|
260
|
+
* silence.
|
|
261
|
+
*/
|
|
262
|
+
export declare function toDb(value: number): number;
|
|
263
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
264
|
+
export declare function sonareMeterRingBufferByteLength(capacity: number): number;
|
|
265
|
+
export declare function createSonareMeterRingBuffer(capacity?: number): SonareMeterRingBuffer;
|
|
266
|
+
export declare function readSonareMeterRingBuffer(ring: SonareMeterRingBuffer, readIndex?: number): SonareMeterRingReadResult;
|
|
267
|
+
export declare function sonareSpectrumRingBufferByteLength(capacity: number, bands?: number): number;
|
|
268
|
+
export declare function createSonareSpectrumRingBuffer(capacity?: number, bands?: number): SonareSpectrumRingBuffer;
|
|
269
|
+
export declare function readSonareSpectrumRingBuffer(ring: SonareSpectrumRingBuffer, readIndex?: number): SonareSpectrumRingReadResult;
|
|
270
|
+
export declare function sonareScopeRingRecordFloats(bands: number, maxPoints: number): number;
|
|
271
|
+
export declare function sonareScopeRingBufferByteLength(capacity: number, bands?: number, maxPoints?: number): number;
|
|
272
|
+
export declare function createSonareScopeRingBuffer(capacity?: number, bands?: number, maxPoints?: number): SonareScopeRingBuffer;
|
|
273
|
+
export declare function readSonareScopeRingBuffer(ring: SonareScopeRingBuffer, readIndex?: number): SonareScopeRingReadResult;
|
|
274
|
+
export declare function scopeRingFromSharedBuffer(sharedBuffer: SharedArrayBuffer, fallbackCapacity?: number, fallbackBands?: number, fallbackMaxPoints?: number): SharedScopeRingWriter;
|
|
275
|
+
export declare function sonareEngineCommandRingBufferByteLength(capacity: number): number;
|
|
276
|
+
export declare function sonareEngineTelemetryRingBufferByteLength(capacity: number): number;
|
|
277
|
+
export declare function sonareClipPageRequestRingBufferByteLength(capacity: number): number;
|
|
278
|
+
export declare function sonareExternalMidiRingBufferByteLength(capacity: number): number;
|
|
279
|
+
export declare function externalMidiRingFromSharedBuffer(sharedBuffer: SharedArrayBuffer, fallbackCapacity?: number): SharedExternalMidiRingWriter;
|
|
280
|
+
export declare function createSonareExternalMidiRingBuffer(capacity?: number): SonareExternalMidiRingBuffer;
|
|
281
|
+
/** Write one lowered MIDI-1 event without allocations from the audio worklet. */
|
|
282
|
+
export declare function pushSonareExternalMidiRingBuffer(ring: SharedExternalMidiRingWriter, destinationId: number, renderFrame: number, byteWord: number, byteCount: number): boolean;
|
|
283
|
+
/** Main-thread drain. It is intentionally the only place MIDI byte arrays are built. */
|
|
284
|
+
export declare function readSonareExternalMidiRingBuffer(ring: SonareExternalMidiRingBuffer): SonareExternalMidiRingReadResult;
|
|
285
|
+
export declare function createSonareClipPageRequestRingBuffer(capacity?: number): SonareClipPageRequestRingBuffer;
|
|
286
|
+
/**
|
|
287
|
+
* Writes one request without allocating. Invalid uint32 coordinates and a full
|
|
288
|
+
* ring are counted as drops so the main thread can surface a bounded-loss
|
|
289
|
+
* diagnostic without receiving a worklet postMessage.
|
|
290
|
+
*/
|
|
291
|
+
export declare function pushSonareClipPageRequestRingBuffer(ring: SharedClipPageRequestRingWriter, clipId: number, pageIndex: number): boolean;
|
|
292
|
+
/** Drains the SPSC request ring on the main thread. Object creation is here, never in process(). */
|
|
293
|
+
export declare function readSonareClipPageRequestRingBuffer(ring: SonareClipPageRequestRingBuffer): SonareClipPageRequestRingReadResult;
|
|
294
|
+
export declare function createSonareEngineCommandRingBuffer(capacity?: number): SonareEngineCommandRingBuffer;
|
|
295
|
+
export declare function createSonareEngineTelemetryRingBuffer(capacity?: number): SonareEngineTelemetryRingBuffer;
|
|
296
|
+
export declare function pushSonareEngineCommandRingBuffer(ring: SonareEngineCommandRingBuffer, command: SonareEngineCommandRecord): boolean;
|
|
297
|
+
export declare function popSonareEngineCommandRingBuffer(ring: SonareEngineCommandRingBuffer): SonareEngineCommandRecord | null;
|
|
298
|
+
export declare function writeSonareEngineTelemetryRingBuffer(ring: SonareEngineTelemetryRingBuffer, telemetry: SonareEngineTelemetryRecord): void;
|
|
299
|
+
export declare function readSonareEngineTelemetryRingBuffer(ring: SonareEngineTelemetryRingBuffer, readIndex?: number): SonareEngineTelemetryRingReadResult;
|
|
300
|
+
export declare function meterRingFromSharedBuffer(sharedBuffer: SharedArrayBuffer, fallbackCapacity?: number): SharedMeterRingWriter;
|
|
301
|
+
export declare function spectrumRingFromSharedBuffer(sharedBuffer: SharedArrayBuffer, fallbackCapacity?: number, fallbackBands?: number): SharedSpectrumRingWriter;
|
|
302
|
+
export declare function engineRingFromSharedBuffer(sharedBuffer: SharedArrayBuffer, recordBytes: number, fallbackCapacity?: number): {
|
|
303
|
+
header: Int32Array;
|
|
304
|
+
view: DataView;
|
|
305
|
+
capacity: number;
|
|
306
|
+
};
|
|
307
|
+
export declare function clipPageRequestRingFromSharedBuffer(sharedBuffer: SharedArrayBuffer, fallbackCapacity?: number): SharedClipPageRequestRingWriter;
|
|
308
|
+
/**
|
|
309
|
+
* The domain of a uint32 record slot: no fraction, no sign, no overflow.
|
|
310
|
+
*
|
|
311
|
+
* `setUint32` folds anything outside it into a legal value, so a negative id
|
|
312
|
+
* becomes a large one and 2**32 becomes 0. An absent value is out of domain;
|
|
313
|
+
* a slot with a default resolves it before asking.
|
|
314
|
+
*/
|
|
315
|
+
export declare function isUint32Slot(value: number | undefined): boolean;
|
|
316
|
+
/** Store a signed 64-bit safe integer as two 32-bit words without BigInt. */
|
|
317
|
+
export declare function writeInt64Words(view: DataView, offset: number, value: number): void;
|
|
318
|
+
/** Reconstruct a signed 64-bit safe integer stored by {@link writeInt64Words}. */
|
|
319
|
+
export declare function readInt64Words(view: DataView, offset: number): number;
|
|
320
|
+
export declare function telemetryFromEngine(telemetry: EngineTelemetry): SonareEngineTelemetryRecord;
|
|
321
|
+
export declare function meterFromEngine(meter: EngineMeterTelemetry): SonareWorkletMeterSnapshot;
|
|
322
|
+
export declare function magnitudeToDb(value: number): number;
|
|
323
|
+
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/worklet/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type WorkletInput, type WorkletOutput } from './audio_types';
|
|
2
|
+
import type { SonareRealtimeVoiceChangerMessage, SonareRealtimeVoiceChangerWorkletProcessorOptions } from './messages';
|
|
3
|
+
export declare class SonareRealtimeVoiceChangerWorkletProcessor {
|
|
4
|
+
private static warnedMonoOverflow;
|
|
5
|
+
private static warnedInterleavedOverflow;
|
|
6
|
+
private changer;
|
|
7
|
+
private readonly sampleRate;
|
|
8
|
+
private readonly blockSize;
|
|
9
|
+
private readonly channelCount;
|
|
10
|
+
private monoInput;
|
|
11
|
+
private monoOutput;
|
|
12
|
+
private bufferGeneration;
|
|
13
|
+
private planarChannels;
|
|
14
|
+
private readonly monoPlane;
|
|
15
|
+
private destroyed;
|
|
16
|
+
constructor(options?: SonareRealtimeVoiceChangerWorkletProcessorOptions);
|
|
17
|
+
/**
|
|
18
|
+
* Handles a control-plane message from the main thread. AudioWorklet port
|
|
19
|
+
* handlers run on the same audio rendering thread as `process()`: this path
|
|
20
|
+
* therefore accepts only a pre-normalized POD and never parses JSON.
|
|
21
|
+
*/
|
|
22
|
+
receiveMessage(message: SonareRealtimeVoiceChangerMessage): void;
|
|
23
|
+
process(inputs: WorkletInput, outputs: WorkletOutput): boolean;
|
|
24
|
+
destroy(): void;
|
|
25
|
+
private reacquireBuffers;
|
|
26
|
+
/**
|
|
27
|
+
* Returns the number of frames we can actually process given the
|
|
28
|
+
* pre-allocated capacity. If the host requests more frames than the
|
|
29
|
+
* worst-case block size declared at construction time, we clamp to the
|
|
30
|
+
* available capacity and warn once — we MUST NOT reallocate on the
|
|
31
|
+
* realtime audio thread.
|
|
32
|
+
*/
|
|
33
|
+
private ensureMonoCapacity;
|
|
34
|
+
/**
|
|
35
|
+
* Same contract as ensureMonoCapacity but for the planar per-channel
|
|
36
|
+
* scratch. Returns the number of frames that fit in the available capacity.
|
|
37
|
+
*/
|
|
38
|
+
private ensureInterleavedCapacity;
|
|
39
|
+
}
|
|
40
|
+
export declare function registerSonareRealtimeVoiceChangerWorkletProcessor(name?: string): void;
|
|
41
|
+
//# sourceMappingURL=voice-changer-processor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice-changer-processor.d.ts","sourceRoot":"","sources":["../../src/worklet/voice-changer-processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAE1F,OAAO,KAAK,EACV,iCAAiC,EACjC,iDAAiD,EAElD,MAAM,YAAY,CAAC;AAEpB,qBAAa,0CAA0C;IACrD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAS;IAC1C,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAAS;IACjD,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAItC,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,gBAAgB,CAAS;IAKjC,OAAO,CAAC,cAAc,CAAiB;IAEvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;IACnE,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,GAAE,iDAAsD;IAoB3E;;;;OAIG;IACH,cAAc,CAAC,OAAO,EAAE,iCAAiC,GAAG,IAAI;IAahE,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO;IAuE9D,OAAO,IAAI,IAAI;IAYf,OAAO,CAAC,gBAAgB;IAWxB;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;;OAGG;IACH,OAAO,CAAC,yBAAyB;CAgBlC;AAED,wBAAgB,kDAAkD,CAChE,IAAI,SAA4C,GAC/C,IAAI,CAqCN"}
|