@libraz/libsonare 1.2.1 → 1.2.3
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/README.md +56 -4
- package/dist/index.d.ts +820 -296
- package/dist/index.js +770 -128
- package/dist/index.js.map +1 -1
- package/dist/sonare-rt.wasm +0 -0
- package/dist/sonare.js +1 -1
- package/dist/sonare.wasm +0 -0
- package/dist/worklet.d.ts +101 -3
- package/dist/worklet.js +706 -69
- package/dist/worklet.js.map +1 -1
- package/package.json +6 -6
- package/src/index.ts +1764 -287
- package/src/public_types.ts +128 -0
- package/src/sonare.js.d.ts +580 -79
- package/src/stream_types.ts +4 -1
- package/src/worklet.ts +796 -66
- package/src/wasm_types.ts +0 -1259
package/src/public_types.ts
CHANGED
|
@@ -421,6 +421,69 @@ export interface AcousticResult {
|
|
|
421
421
|
isBlind: boolean;
|
|
422
422
|
}
|
|
423
423
|
|
|
424
|
+
/** Shoebox geometry + placement shared by RIR synthesis and the room morph. */
|
|
425
|
+
export interface RoomGeometryOptions {
|
|
426
|
+
lengthM?: number;
|
|
427
|
+
widthM?: number;
|
|
428
|
+
heightM?: number;
|
|
429
|
+
absorption?: number;
|
|
430
|
+
sourceX?: number;
|
|
431
|
+
sourceY?: number;
|
|
432
|
+
sourceZ?: number;
|
|
433
|
+
listenerX?: number;
|
|
434
|
+
listenerY?: number;
|
|
435
|
+
listenerZ?: number;
|
|
436
|
+
ismOrder?: number;
|
|
437
|
+
seed?: number;
|
|
438
|
+
maxSeconds?: number;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
export interface RirSynthOptions extends RoomGeometryOptions {
|
|
442
|
+
sampleRate?: number;
|
|
443
|
+
/** Use the Eyring statistical late-tail model (default true); false = Sabine. */
|
|
444
|
+
preferEyring?: boolean;
|
|
445
|
+
/** Early/late crossover in ms (0 = auto, ~sqrt(V) ms). */
|
|
446
|
+
mixingTimeMs?: number;
|
|
447
|
+
/** Equal-power crossfade width around the mixing time in ms (0 = default). */
|
|
448
|
+
crossfadeMs?: number;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
export interface RirResult {
|
|
452
|
+
rir: Float32Array;
|
|
453
|
+
sampleRate: number;
|
|
454
|
+
hasError: boolean;
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
export interface RoomEstimateOptions {
|
|
458
|
+
aspectHintLw?: number;
|
|
459
|
+
aspectHintLh?: number;
|
|
460
|
+
referenceAbsorption?: number;
|
|
461
|
+
preferEyring?: boolean;
|
|
462
|
+
nOctaveBands?: number;
|
|
463
|
+
/** Analyzer routing: 0 = auto, 1 = blind, 2 = impulse-response. */
|
|
464
|
+
mode?: number;
|
|
465
|
+
/** Analyzer decay-fit span in dB (0 = library default). */
|
|
466
|
+
minDecayDb?: number;
|
|
467
|
+
/** Analyzer noise-floor margin in dB (0 = library default). */
|
|
468
|
+
noiseFloorMarginDb?: number;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
export interface RoomEstimateResult {
|
|
472
|
+
volume: number;
|
|
473
|
+
length: number;
|
|
474
|
+
width: number;
|
|
475
|
+
height: number;
|
|
476
|
+
drrDb: number;
|
|
477
|
+
confidence: number;
|
|
478
|
+
absorptionBands: Float32Array;
|
|
479
|
+
rt60Bands: Float32Array;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
export interface RoomMorphOptions extends RoomGeometryOptions {
|
|
483
|
+
wet?: number;
|
|
484
|
+
sourceTailSuppression?: number;
|
|
485
|
+
}
|
|
486
|
+
|
|
424
487
|
/**
|
|
425
488
|
* HPSS (Harmonic-Percussive Source Separation) result
|
|
426
489
|
*/
|
|
@@ -855,6 +918,71 @@ export interface StreamingRetuneConfig {
|
|
|
855
918
|
grainSize?: number;
|
|
856
919
|
}
|
|
857
920
|
|
|
921
|
+
export type VoicePresetId =
|
|
922
|
+
| 'neutral-monitor'
|
|
923
|
+
| 'bright-idol'
|
|
924
|
+
| 'soft-whisper'
|
|
925
|
+
| 'deep-narrator'
|
|
926
|
+
| 'robot-mascot'
|
|
927
|
+
| 'dark-villain';
|
|
928
|
+
|
|
929
|
+
export interface RealtimeVoiceChangerPreset {
|
|
930
|
+
schemaVersion: 1;
|
|
931
|
+
id?: string;
|
|
932
|
+
name?: string;
|
|
933
|
+
description?: string;
|
|
934
|
+
macros?: Record<string, number>;
|
|
935
|
+
dsp?: Record<string, unknown>;
|
|
936
|
+
}
|
|
937
|
+
|
|
938
|
+
export type RealtimeVoiceChangerConfigInput = VoicePresetId | RealtimeVoiceChangerPreset;
|
|
939
|
+
|
|
940
|
+
/**
|
|
941
|
+
* Flat (POD) realtime voice-changer configuration. Field names mirror the
|
|
942
|
+
* C ABI `SonareRealtimeVoiceChangerConfig` / Python POD exactly (snake_case),
|
|
943
|
+
* so a config can be round-tripped across bindings without renaming.
|
|
944
|
+
*/
|
|
945
|
+
export interface RealtimeVoiceChangerPodConfig {
|
|
946
|
+
input_gain_db: number;
|
|
947
|
+
output_gain_db: number;
|
|
948
|
+
wet_mix: number;
|
|
949
|
+
retune_semitones: number;
|
|
950
|
+
retune_mix: number;
|
|
951
|
+
retune_grain_size: number;
|
|
952
|
+
formant_factor: number;
|
|
953
|
+
formant_amount: number;
|
|
954
|
+
formant_body: number;
|
|
955
|
+
formant_brightness: number;
|
|
956
|
+
formant_nasal: number;
|
|
957
|
+
eq_highpass_hz: number;
|
|
958
|
+
eq_body_db: number;
|
|
959
|
+
eq_presence_db: number;
|
|
960
|
+
eq_air_db: number;
|
|
961
|
+
gate_threshold_db: number;
|
|
962
|
+
gate_attack_ms: number;
|
|
963
|
+
gate_release_ms: number;
|
|
964
|
+
gate_range_db: number;
|
|
965
|
+
compressor_threshold_db: number;
|
|
966
|
+
compressor_ratio: number;
|
|
967
|
+
compressor_attack_ms: number;
|
|
968
|
+
compressor_release_ms: number;
|
|
969
|
+
compressor_makeup_gain_db: number;
|
|
970
|
+
deesser_frequency_hz: number;
|
|
971
|
+
deesser_threshold_db: number;
|
|
972
|
+
deesser_ratio: number;
|
|
973
|
+
deesser_range_db: number;
|
|
974
|
+
reverb_mix: number;
|
|
975
|
+
reverb_time_ms: number;
|
|
976
|
+
reverb_damping: number;
|
|
977
|
+
reverb_seed: number;
|
|
978
|
+
limiter_ceiling_db: number;
|
|
979
|
+
limiter_release_ms: number;
|
|
980
|
+
/** Non-zero enables the 4x-oversampled inter-sample-peak limiter (default enabled). */
|
|
981
|
+
limiter_enable_isp_limiter: boolean;
|
|
982
|
+
/** True-peak ceiling in dBTP applied by the ISP limiter (default -1.0). */
|
|
983
|
+
limiter_isp_ceiling_dbtp: number;
|
|
984
|
+
}
|
|
985
|
+
|
|
858
986
|
/** Options for {@link StreamingEqualizer.match}. */
|
|
859
987
|
export interface EqMatchOptions {
|
|
860
988
|
sampleRate?: number;
|