Skip to main content

Crate ferraus_denoise

Crate ferraus_denoise 

Source
Expand description

§ferraus-denoise

Noise reduction: learn a noise fingerprint from a region of the recording, then remove it from the whole file with a soft spectral gate; or track the noise floor adaptively; or run a speech model (DeepFilterNet 3 through ONNX Runtime by default, RNNoise built in).

Commands: denoise, denoise profile, denoise profile merge.

§DeepFilterNet 3

--model dfn3 (the default, ADR 0006) runs the upstream ONNX export (denoise/dfn3: encoder, ERB decoder, DF decoder) on ONNX Runtime through ferraus-ml, with the STFT, feature normalization, ERB gains and deep filtering implemented in dfn3 after the reference libDF/enhance.py (output matches the reference to about 1e-6). The model comes from the model cache under the download policy of ADR 0004: when it is missing and downloads are off, the command fails with exit 5 and ferraus models pull denoise/dfn3. It never falls back to another model silently; --model rnnoise is the built-in, download-free alternative. Builds without the dfn3 feature default to RNNoise.

Modules§

dfn3
DeepFilterNet 3 (Schröter et al., 2023) on ONNX Runtime.
engine
The spectral gating engine shared by profile and adaptive modes. It follows the PRD’s seven steps:
metrics
Quality metrics for denoising and a naive reference gate.
ml
Model-based denoising: RNNoise (pure-Rust nnnoiseless, weights embedded) and the model slots for DeepFilterNet 3, music-aware denoise, and de-reverb checkpoints.
profile
Noise profiles: learning, automatic noise-region detection, the .noiseprof JSON format, and merging.
stft
STFT framing shared by the profile learner, the gate engine, and the metrics.

Functions§

ops
Ops this crate contributes to the command registry.