перед переделкой переводчика -vosk models и все упоминания в проекте
This commit is contained in:
@@ -21,6 +21,8 @@ class WakeWordDetector:
|
||||
self.audio_stream = None
|
||||
self.pa = None
|
||||
self._stream_closed = True # Флаг состояния потока (закрыт/открыт)
|
||||
self._last_hit_ts = 0.0
|
||||
self._hit_streak = 0
|
||||
|
||||
def initialize(self):
|
||||
"""Инициализация Porcupine и PyAudio."""
|
||||
@@ -118,6 +120,8 @@ class WakeWordDetector:
|
||||
Returns:
|
||||
True, если фраза обнаружена прямо сейчас.
|
||||
"""
|
||||
import time
|
||||
|
||||
if not self.porcupine:
|
||||
self.initialize()
|
||||
|
||||
@@ -131,8 +135,17 @@ class WakeWordDetector:
|
||||
|
||||
keyword_index = self.porcupine.process(pcm)
|
||||
if keyword_index >= 0:
|
||||
print("🛑 Wake word обнаружен во время ответа!")
|
||||
return True
|
||||
now = time.time()
|
||||
if now - self._last_hit_ts < 0.6:
|
||||
self._hit_streak += 1
|
||||
else:
|
||||
self._hit_streak = 1
|
||||
self._last_hit_ts = now
|
||||
|
||||
if self._hit_streak >= 2:
|
||||
self._hit_streak = 0
|
||||
print("🛑 Wake word подтвержден во время ответа!")
|
||||
return True
|
||||
return False
|
||||
except Exception:
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user