Skip to main content

Module noise_reduction

Module noise_reduction 

Source
Expand description

Noise reduction via spectral subtraction.

Reduces background noise while preserving speech intelligibility using adaptive spectral subtraction with VAD-informed noise profiling.

§Capabilities

  • Stationary Noise Reduction: Effectively removes constant background noise (HVAC hum, white noise, fan noise, café ambience)
  • ≥6 dB SNR Improvement: Validated on white noise, low-frequency hum, and ambient café noise
  • Phase Preservation: Maintains speech intelligibility by preserving original signal phase
  • VAD Integration: Adapts noise profile only during detected silence
  • Real-Time: <15ms latency per 500ms chunk (typically 0.2-0.3ms)

§Limitations

Spectral subtraction is designed for STATIONARY noise only.

  • Non-stationary noise: Struggles with time-varying noise (individual voices, music, babble with distinct speakers). Use Wiener filtering or deep learning approaches for non-stationary scenarios.
  • Speech-like interference: Cannot separate overlapping speakers or remove foreground speech interference (requires source separation techniques).
  • Musical noise artifacts: Tonal artifacts may occur with aggressive settings. Mitigated via spectral floor parameter (β=0.02 default).
  • Transient noise: Impulsive sounds (door slams, clicks) are not handled well. Consider median filtering for transient suppression.

§When to Use This

Good fit:

  • Background HVAC/fan noise
  • Café/restaurant ambient noise (general chatter blur, dishes)
  • Low-frequency hum (electrical interference)
  • Stationary white/pink noise

Poor fit:

  • Multi-speaker separation (babble with distinct voices)
  • Music removal
  • Non-stationary interference
  • Echo/reverb reduction (use AEC instead)

Structs§

NoiseReducer
Noise reduction via spectral subtraction with adaptive noise profiling.
NoiseReductionConfig
Configuration for noise reduction via spectral subtraction.