pub struct Clean {
pub amount: f64,
pub highpass: Option<f64>,
pub lowpass: Option<f64>,
pub wind: bool,
pub declick: bool,
pub denoise: Denoise,
pub model: Option<String>,
pub dialogue: Option<bool>,
}Expand description
ffcine.audio.clean/1: per-clip clean chain, run through libavfilter in this order:
high-pass, wind, de-click, denoise, dialogue polish (EQ, de-esser, compressor). Dialogue-bus
clips without one get Clean::for_mode, the prototype’s clean_filters.
Fields§
§amount: f64Strength c in 0..=1 (strength in edit.yaml imports; the prototype’s clean).
0 turns denoise and the EQ/de-esser off.
highpass: Option<f64>High-pass corner in Hz (12 dB/oct); null for none.
lowpass: Option<f64>Low-pass corner in Hz (12 dB/oct), none by default.
wind: boolOutdoor wind preset: 24 dB/oct high-pass at 150 Hz, low shelf -6 dB at 300 Hz, de-click for gust pops.
declick: bool§denoise: Denoise§model: Option<String>RNNoise model for arnndn.
dialogue: Option<bool>Dialogue polish: presence EQ (+1.8c dB at 3.2 kHz), deesser i=0.35c, acompressor
-24 dB 2.5:1 8/160 ms. Default: on for dialogue (orig), off otherwise.
Implementations§
Source§impl Clean
impl Clean
Sourcepub fn for_mode(mode: LevelMode) -> Self
pub fn for_mode(mode: LevelMode) -> Self
The prototype’s chain for a clip of this mode: orig at 0.6 with the polish, nat only
the high-pass.
Sourcepub fn for_mode_in(mode: LevelMode, d: &ClipDefaults) -> Self
pub fn for_mode_in(mode: LevelMode, d: &ClipDefaults) -> Self
Clean::for_mode with the strengths and high-pass of d (project.mix).
Sourcepub fn filter_spec(&self, mode: LevelMode) -> String
pub fn filter_spec(&self, mode: LevelMode) -> String
The libavfilter chain (without format conversion); empty for a no-op. mode decides
the dialogue polish when dialogue is unset.