De Ce Noise Suppression
Utilizatorii vorbesc din cafenele, mașini, birouri zgomotoase. Voice AI-ul trebuie să înțeleagă clar indiferent de mediu.
+15 dB
SNR improvement
<10ms
Added latency
Real-time
Processing
Types of Noise
| Type | Examples | Difficulty | Best Technique |
|---|---|---|---|
| Stationary Noise | Fan, AC, hum | Easy | Spectral subtraction |
| Non-stationary Noise | Traffic, crowd | Medium | Adaptive filtering |
| Transient Noise | Clicks, keyboard | Hard | Transient detection |
| Speech-like Noise | Background voices | Very Hard | Deep learning |
Techniques Comparison
Spectral Subtraction
TraditionalPros
- + Low latency
- + Low CPU
Cons
- - Musical noise artifacts
- - Only stationary noise
Wiener Filter
TraditionalPros
- + Good quality
- + Well understood
Cons
- - Requires noise estimation
- - Moderate complexity
RNNoise
Deep LearningPros
- + Very low latency (10ms)
- + Works on most noise
Cons
- - Fixed model
- - May affect voice quality
Krisp-like Models
Deep LearningPros
- + Excellent quality
- + Handles all noise
Cons
- - Higher CPU/GPU
- - Proprietary
RNNoise Integration
RNNoise este open-source și oferă rezultate excelente cu latență minimă:
// RNNoise in WebAssembly
import { RNNoise } from '@jitsi/rnnoise-wasm';
const rnnoise = await RNNoise.create();
// Process audio frames (480 samples at 48kHz = 10ms)
function processAudio(inputFrame) {
// Input: Float32Array of 480 samples
// Output: Denoised Float32Array
const outputFrame = rnnoise.processFrame(inputFrame);
// VAD probability (0-1)
const vadProb = rnnoise.getVadProbability();
return { audio: outputFrame, vad: vadProb };
}Quality Metrics
SNR Improvement
Signal-to-Noise Ratio gain
Speech Distortion
Impact on voice quality
Latency Added
Processing delay
CPU Usage
Processing overhead