Почему даже 35-мс облачный STT бесполезен, когда один DPC на 2 мс убивает твой 10-мс аудио-буфер на живом звонке.
На Windows латентность-бюджет начинается в ядре. ISR ≤25 µs, DPC ≤100 µs. Когда nvlddmkm.sys, tcpip.sys или storport.sys держат ядро >1–2 мс, audio engine пропускает период. Shared-mode WASAPI 10-мс буфер даёт underrun. Whisper или Soniox видят испорченный PCM — гипотезы сдвигаются, перевод опаздывает.
Dual-stream (микрофон + loopback) отделяет стороны, только если колбэк пустой: ring-buffer, ресемпл, VAD вне audio thread. LatencyMon показывает виновника. Пин IRQ и MSI роняют пики с 2000 µs до 150 µs.
Talkaside держит dual-stream, измеряет latency, локальные модели и on-device хранение, чтобы анализ не зависел от провайдера, когда драйвер жрёт буфер.