Высокоуровневая Python-оболочка над библиотекой openWakeWord, предназначенная для реализации фонового прослушивания и распознавания ключевых слов активации (Wake Words) в реальном времени.
Система спроектирована с учетом требований к производительности и возможности простой интеграции в другие проекты.
Использование sounddevice.InputStream с механизмом callback-функций позволяет выполнять захват и первичную обработку аудиопотока во внутренних потоках системных библиотек, не блокируя основной поток выполнения приложения.
Реализованы методы pause() и unpause(), которые критически важны для систем голосового взаимодействия (Voice User Interface). Это позволяет временно отключать распознавание в моменты, когда устройство само воспроизводит звук, исключая возможность ложных срабатываний на собственный голос.
- Cooldown: Настраиваемая задержка после срабатывания (
cooldown_sec), предотвращающая каскадные детекции одного и того же события. - Init Delay: Программная задержка начала анализа (
init_delay_sec) для игнорирования переходных процессов в аудио-тракте при включении микрофона. - Threshold: Настройка чувствительности для баланса между полнотой (recall) и точностью (precision).
Выполнение пользовательских callback-функций при обнаружении слова вынесено в отдельные потоки (daemon=True). Это гарантирует, что длительная обработка команды (например, сетевой запрос к LLM) не приведет к переполнению буфера аудио-стрима и потере данных.