pub struct SeparationConfig {
pub phase_coherence_weight: f32,
pub spectral_flux_weight: f32,
pub magnitude_correlation_weight: f32,
pub transient_sensitivity: f32,
pub temporal_smoothing: f32,
pub separation_curve: f32,
pub min_coherence: f32,
pub max_coherence: f32,
pub frequency_smoothing: bool,
}Expand description
Configuration for signal separation.
Fields§
§phase_coherence_weight: f32Weight for phase coherence in separation (0.0-1.0).
spectral_flux_weight: f32Weight for spectral flux in separation (0.0-1.0).
magnitude_correlation_weight: f32Weight for magnitude correlation (0.0-1.0).
transient_sensitivity: f32Transient sensitivity (higher = more sensitive to attacks).
temporal_smoothing: f32Temporal smoothing factor (0.0 = no smoothing, 1.0 = full smoothing).
separation_curve: f32Separation curve exponent (higher = sharper separation).
min_coherence: f32Minimum coherence threshold (below this = pure ambience).
max_coherence: f32Maximum coherence threshold (above this = pure direct).
frequency_smoothing: boolFrequency-dependent weighting (lower frequencies get more smoothing).
Implementations§
Source§impl SeparationConfig
impl SeparationConfig
Sourcepub fn with_phase_coherence_weight(self, weight: f32) -> Self
pub fn with_phase_coherence_weight(self, weight: f32) -> Self
Set phase coherence weight.
Sourcepub fn with_spectral_flux_weight(self, weight: f32) -> Self
pub fn with_spectral_flux_weight(self, weight: f32) -> Self
Set spectral flux weight.
Sourcepub fn with_transient_sensitivity(self, sensitivity: f32) -> Self
pub fn with_transient_sensitivity(self, sensitivity: f32) -> Self
Set transient sensitivity.
Sourcepub fn with_temporal_smoothing(self, smoothing: f32) -> Self
pub fn with_temporal_smoothing(self, smoothing: f32) -> Self
Set temporal smoothing.
Sourcepub fn with_separation_curve(self, curve: f32) -> Self
pub fn with_separation_curve(self, curve: f32) -> Self
Set separation curve.
Sourcepub fn music_preset() -> Self
pub fn music_preset() -> Self
Preset for music (more ambience preserved).
Sourcepub fn speech_preset() -> Self
pub fn speech_preset() -> Self
Preset for speech (cleaner separation).
Sourcepub fn aggressive_preset() -> Self
pub fn aggressive_preset() -> Self
Preset for aggressive separation.
Trait Implementations§
Source§impl Clone for SeparationConfig
impl Clone for SeparationConfig
Source§fn clone(&self) -> SeparationConfig
fn clone(&self) -> SeparationConfig
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SeparationConfig
impl Debug for SeparationConfig
Auto Trait Implementations§
impl Freeze for SeparationConfig
impl RefUnwindSafe for SeparationConfig
impl Send for SeparationConfig
impl Sync for SeparationConfig
impl Unpin for SeparationConfig
impl UnwindSafe for SeparationConfig
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)