fix(voice): откатить VAD preload — мешал wake-word ловить «Космо»
All checks were successful
Deploy / deploy (push) Successful in 1m51s

Параллельный getUserMedia от MicVAD конфликтует со stream'ом wake-word —
видимо Chrome применяет AGC/NS по-разному и wake получает «глухое» аудио.
Score упал с 0.988 до 0.093 — wake перестал срабатывать.

Возвращаемся: VAD создаётся ПОСЛЕ первого wake (~1-2с пауза),
но cancel/onSpeechEnd теперь только pause (не destroy), так что
повторные wake мгновенные.
This commit is contained in:
Cosmo
2026-04-27 11:03:09 +00:00
parent 7e3c5072bb
commit f74b10ba38

View File

@@ -213,10 +213,8 @@ export default function VoiceController() {
await wake.start() await wake.start()
wakeRef.current = wake wakeRef.current = wake
setState('listening') setState('listening')
// VAD НЕ прелоадим — его второй getUserMedia мешает wake-word audio.
// Прелоадим VAD в фоне — после первого wake реакция будет мгновенной, // Грузится при первом wake (~1-2с), но дальше переиспользуется (см. handleSpeechEnd).
// вместо +1-2с на загрузку Silero VAD.
initVAD().catch((e) => console.warn('[voice] VAD preload failed', e))
} catch (e: any) { } catch (e: any) {
console.error('[wake] init failed:', e) console.error('[wake] init failed:', e)
setState('error') setState('error')