BLACK LABELAcademy
← Our Failures

A False Silence Floor Causes Restart Storms: Calibrate Thresholds to Measured Reality

intermediate6 min read · updated 2026-06-20

Market & numbers — every figure sourced

restart_storm_period_seconds90 secondsest: observed mean interval between supervisor restarts during the false-floor incident, from supervisor log timestamps
true_silence_value_before0.0008 rmsest: value of the hardcoded TRUE_SILENCE constant that sat above the room's measured quiet floor
true_silence_value_after0.00001 rmsest: recalibrated env-overridable floor measured below the room's actual ambient quiet level
backoff_cap_seconds300 secondsGoogle Kubernetes Engine — Troubleshoot CrashLoopBackOff events

A False Silence Floor Causes Restart Storms: Calibrate Thresholds to Measured Reality

A threshold that should describe the world is only as good as the measurement behind it. Pick a number out of the air — "this is what silence sounds like," "this is the energy a wake word needs" — and set it above the level reality actually produces, and the system stops perceiving the world correctly. In an always-on listener, that single bad constant doesn't just degrade quality. It triggers a self-reinforcing failure: the process declares itself broken, the supervisor kills and respawns it, and the cycle repeats forever.

What We Tried

We ran an always-on voice loop ("hey ace") under a process supervisor. The loop had two threshold constants baked in as literals:

Both numbers were chosen by intuition, not by measuring the actual device in the actual room.

What Broke

Two independent failures, same root cause: a threshold set above the level reality produces.

1. The silence floor sat above the room's real quiet floor. We set the true-silence cutoff at an RMS of 0.0008. The room's genuinely-quiet ambient level was lower than that. So during normal silence the loop's own audio read below the "dead mic" threshold, concluded the mic was dead, and exited — even though the mic was perfectly healthy. The supervisor faithfully respawned it, the new process immediately read silence below the floor again, and exited again. We got a restart storm: a fresh restart roughly every 90 seconds, all night, with `mic_silent` and "wake word not configured" spam filling the logs. The self-heal designed to recover a dead mic was instead causing the outage.

2. The wake threshold was set above the user's real voice scores. Separately, the wake confidence bar was set so high that the user's own "hey ace" — which scored across a wide band — kept landing below the bar and was silently rejected. The system wasn't deaf because of hardware; it was deaf because the gate was calibrated against an imaginary, louder, more confident speaker than the one actually talking to it.

Both are the same bug wearing two costumes: the threshold encoded a belief about reality that reality did not match. When the gate is too high, true positives (real silence is normal, real voice is a wake) get classified as failures, and downstream machinery — a supervisor, a restart policy — amplifies the misclassification into a loop.

This is a known shape. Robust voice-activity detection in the literature does not hardcode a single energy cutoff; it tracks an adaptive noise floor and bounds the threshold so it can't go oversensitive in quiet rooms or under-sensitive in loud ones (adaptive noise floor tracking). Production VAD guidance is the same: thresholds must adjust to ambient noise to avoid false triggers, not assume one number fits every device and room.

The Fix

Three layers, in order of importance:

We regression-locked the corrected floor in tests and verified live: `deaf:false`, zero new restarts over the watch window. The mic was never broken. The number was.

Apply It

Sources

© 2026 Black Label · Education, not financial or legal advice. Every number is sourced or labeled an estimate. Subscribe for $30/month