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§
- Noise
Reducer - Noise reduction via spectral subtraction with adaptive noise profiling.
- Noise
Reduction Config - Configuration for noise reduction via spectral subtraction.