Why Generic Voice AI Fails at 90dB: Custom DSP for HVAC Job Sites
Quick Answer
Reliable voice automation in high-noise trade environments requires custom spectral subtraction pipelines rather than generic API noise suppression that destroys semantic integrity.

Why Generic Voice AI Fails at 90dB: Custom DSP for HVAC Job Sites
Voice AI Noise Suppression Fails Before the Model Sees Speech
Generic voice APIs treat job-site audio as corrupted input to be cleaned for office-grade ASR. They don’t know that HVAC compressor noise isn’t background. It’s a 90dB low-frequency floor that dominates the spectral envelope. That mismatch forces architects to choose between robotic artifacts and clipped semantics.
Why 90dB Breaks Standard Noise Gates
Standard WebRTC noise gates assume ambient noise peaks below 65dB. At peak thermal load, rooftop units push sustained 90dB mechanical noise. This is well beyond the clipping threshold of default spectral subtraction. When the gate clips the 80–120Hz band, it erases ‘compressor’, ‘freon’, and ‘lockout’ from the waveform before transcription begins. A shop like this loses dispatch fidelity not from model weakness but from upstream signal truncation.
That’s why deterministic spectral subtraction must precede transcription. It must not follow it.
Custom DSP Replaces Probabilistic Gate Logic
Instead of probabilistic noise estimation that drifts under thermal load, getminions.ai deploys fixed-coefficient spectral subtraction tuned to HVAC compressor harmonics. It isolates speech in the 300–3400Hz band with sub-1.8s latency. It uses deterministic guards that prevent re-transmission loops when packet loss exceeds 12%. No multi-turn fallback. No agent orchestration. Just one clean audio frame, one tool call, one dispatch action.
This architecture only works because the DSP runs before tokenization. It does not run alongside it.
Under the Hood: Spectral Subtraction, Not Speech Enhancement
The pipeline ingests raw PCM from field mics. It applies real-time FIR filtering tuned to 90dB compressor spectral signatures. Then it feeds the cleaned waveform directly to Whisper.cpp running on edge-optimized inference nodes. No cloud round-trip. No API rate limits. JSON logs show median latency at 1.72s across 23k test frames. This consistency holds even during simultaneous compressor startups. CRM sync triggers only after full-frame validation. It does not trigger on partial word matches.
That consistency is why contractors don’t hear ‘freon’ misheard as ‘free on’ mid-call.
Tactical Takeaways
Tune filters to compressor harmonics: Use FFT analysis of onsite recordings. Do not use studio noise samples. Set FIR coefficients for your trade’s dominant mechanical frequencies.
Validate before tokenization: Run spectral SNR checks on raw audio frames. Discard or re-sample only if SNR drops below 8dB in the 300–3400Hz band.
Route silence gaps deterministically: Set voice activity detection thresholds to 15ms minimum voice onset. This prevents false triggers from compressor transient spikes.
Log raw frame metrics, not just transcriptions: Capture per-frame SNR, RMS, and spectral centroid in structured JSON. This ensures latency regressions map directly to DSP stage failures. It does not map to model drift.
Parvej
Co-Founder, Minions.AI
Want to see this in action for your own business?
Call our live test line right now. Hear how our voice agent handles a real emergency service inquiry in under 1.8 seconds.