@libraz/libsonare 1.2.1 → 1.2.2

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.
@@ -855,6 +855,67 @@ export interface StreamingRetuneConfig {
855
855
  grainSize?: number;
856
856
  }
857
857
 
858
+ export type VoicePresetId =
859
+ | 'neutral-monitor'
860
+ | 'bright-idol'
861
+ | 'soft-whisper'
862
+ | 'deep-narrator'
863
+ | 'robot-mascot'
864
+ | 'dark-villain';
865
+
866
+ export interface RealtimeVoiceChangerPreset {
867
+ schemaVersion: 1;
868
+ id?: string;
869
+ name?: string;
870
+ description?: string;
871
+ macros?: Record<string, number>;
872
+ dsp?: Record<string, unknown>;
873
+ }
874
+
875
+ export type RealtimeVoiceChangerConfigInput = VoicePresetId | RealtimeVoiceChangerPreset;
876
+
877
+ /**
878
+ * Flat (POD) realtime voice-changer configuration. Field names mirror the
879
+ * C ABI `SonareRealtimeVoiceChangerConfig` / Python POD exactly (snake_case),
880
+ * so a config can be round-tripped across bindings without renaming.
881
+ */
882
+ export interface RealtimeVoiceChangerPodConfig {
883
+ input_gain_db: number;
884
+ output_gain_db: number;
885
+ wet_mix: number;
886
+ retune_semitones: number;
887
+ retune_mix: number;
888
+ retune_grain_size: number;
889
+ formant_factor: number;
890
+ formant_amount: number;
891
+ formant_body: number;
892
+ formant_brightness: number;
893
+ formant_nasal: number;
894
+ eq_highpass_hz: number;
895
+ eq_body_db: number;
896
+ eq_presence_db: number;
897
+ eq_air_db: number;
898
+ gate_threshold_db: number;
899
+ gate_attack_ms: number;
900
+ gate_release_ms: number;
901
+ gate_range_db: number;
902
+ compressor_threshold_db: number;
903
+ compressor_ratio: number;
904
+ compressor_attack_ms: number;
905
+ compressor_release_ms: number;
906
+ compressor_makeup_gain_db: number;
907
+ deesser_frequency_hz: number;
908
+ deesser_threshold_db: number;
909
+ deesser_ratio: number;
910
+ deesser_range_db: number;
911
+ reverb_mix: number;
912
+ reverb_time_ms: number;
913
+ reverb_damping: number;
914
+ reverb_seed: number;
915
+ limiter_ceiling_db: number;
916
+ limiter_release_ms: number;
917
+ }
918
+
858
919
  /** Options for {@link StreamingEqualizer.match}. */
859
920
  export interface EqMatchOptions {
860
921
  sampleRate?: number;