2023-08-08 02:22:16 +00:00
|
|
|
"""Wake word models."""
|
|
|
|
from dataclasses import dataclass
|
|
|
|
|
|
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
|
|
class WakeWord:
|
|
|
|
"""Wake word model."""
|
|
|
|
|
2023-09-26 17:12:16 +00:00
|
|
|
id: str
|
2023-08-08 02:22:16 +00:00
|
|
|
name: str
|
|
|
|
|
|
|
|
|
|
|
|
@dataclass
|
|
|
|
class DetectionResult:
|
|
|
|
"""Result of wake word detection."""
|
|
|
|
|
2023-09-26 17:12:16 +00:00
|
|
|
wake_word_id: str
|
2023-08-08 02:22:16 +00:00
|
|
|
"""Id of detected wake word"""
|
|
|
|
|
|
|
|
timestamp: int | None
|
|
|
|
"""Timestamp of audio chunk with detected wake word"""
|
|
|
|
|
|
|
|
queued_audio: list[tuple[bytes, int]] | None = None
|
|
|
|
"""Audio chunks that were queued when wake word was detected."""
|