Skip to content

Releases: icastingspells/alicewakeword

v0.1.2 — Faster EVA activation

Choose a tag to compare

@icastingspells icastingspells released this 27 Oct 21:25

Уменьшена задержка между распознаванием «Ева» и запросом активации Алисы.

Раньше перед каждым запросом вычислялся SHA-256 бинарника maind размером 22 МБ. На проверенной Lite 2 это занимало около 0,70 секунды. Теперь хеш maind проверяется только установщиком, включая предварительную проверку установки; при загрузке EVA, включении службы и активации по слову он больше не вычисляется.

Проверки аппаратного mute, блокировка повторного запуска, ограничения времени работы CLI и проверки launcher сохранены. После изменения прошивки совместимость следует заново проверить установщиком.

Модель EVA, нативный движок и аудиоотвод идентичны v0.1.1. Исправленные скрипты установлены на физическую Lite 2 без перезапуска Алисы; EVA продолжает работать в active. Субъективное сокращение задержки после изменения ещё не измерялось.

Проверено: 20 тестов CLI/shell и 3 проверки launcher. Архив и его внутренние контрольные суммы проверены.

Обновление:

python alicewakeword.py install --host HOST
python alicewakeword.py activate --host HOST

Установка возвращает EVA в observe и требует нового контрольного замера. При обновлении работающей установки с прежним аудиоотводом перезагрузка не требуется.

v0.1.1 — Fix wake-up after log rotation

Choose a tag to compare

@icastingspells icastingspells released this 27 Oct 15:03

Исправлено распознавание без последующего пробуждения после ротации журнала Quasar.

В v0.1.0 скрипт искал последнее состояние IDLE в текущем maind.log. После
ротации запись могла отсутствовать либо оставаться только в журнале предыдущей
загрузки; модель распознавала слово, но скрипт молча пропускал вызов CLI.

  • Удалена зависимость активации от содержимого журнала Quasar. Запрос передаётся
    штатному CLI; его обрабатывает штатная машина состояний.
  • Сохранены аппаратная проверка mute, проверка прошивки, lock и ограничитель CLI.
  • Добавлены сообщения EVA_ACTIVATION_SKIPPED с причинами пропуска.
  • Добавлены пять shell-тестов: отсутствие журналов, mute, неизвестное состояние,
    занятый lock и несовпадающая прошивка.

Проверено: 20 тестов CLI/shell, 3 проверки launcher, 17 проверок ARM VM,
численное сравнение графов и 96 сравнений rolling-кэша. Физическая Lite 2
подтвердила пробуждение и ответ; контрольный замер 43,135 мс без потерь PCM.
В последующем наблюдении также не было потерь пакетов.

Обновление устанавливается в observe; затем требуется контрольный замер:

python alicewakeword.py install --host HOST
python alicewakeword.py activate --host HOST

При обновлении уже работающей установки с тем же аудиоотводом перезагрузка
не требуется. Для первой установки остаётся необходима перезагрузка.

v0.1.0 — Lite 2 installer and custom openWakeWord models

Choose a tag to compare

@icastingspells icastingspells released this 27 Oct 14:06

Первый публичный выпуск AliceWakeWord для Яндекс Станции Lite 2 / Plum.

Поддерживаемая прошивка: 0.369.1.46.4778258659.20261013.133.
Нужен уже работающий root SSH или ADB. Версия прошивки проверяется по SHA-256.

  • Готовый пакет EVA: статический нативный движок и неблокирующий аудиоотвод.
  • Установка через SSH без SCP/SFTP либо через ADB; управление, автозапуск и удаление.
  • Сборка других совместимых float32 TFLite-классификаторов openWakeWord [1,16,96].
  • Настраиваемый порог; новые модели требуют контрольного замера перед активацией.
  • Точная проверка rolling-кэша и численное сравнение графов с LiteRT.
  • Аппаратная защита mute и ограниченный вызов штатного CLI Алисы.
python alicewakeword.py install --host HOST --check
python alicewakeword.py install --host HOST --reboot
# После восстановления связи:
python alicewakeword.py activate --host HOST

Своя модель:

python alicewakeword.py setup
python alicewakeword.py build --model my_word.tflite --threshold 0.5
python alicewakeword.py install --host HOST --package dist/alicewakeword-plum.tar.gz --reboot

Архив устанавливается в observe. Штатное слово «Алиса» остаётся включённым.
Физическая Lite 2 подтвердила пробуждение, ответ и автозапуск; длительные тесты
с музыкой и дальней речью ещё нужны. Пики задержки при старте/диалоге возможны,
в проведённых тестах без потерь PCM.

Проверки: 15 тестов CLI/пакета, 3 проверки launcher, 17 проверок ARM VM,
9 численных сравнений графов и 96 сравнений кэша. Чистая копия исходников
создала побайтно тот же архив, без дампа прошивки или лабораторных файлов.

alicewakeword-plum.sha256 содержит SHA-256 архива; package.json — хеши файлов,
профиль устройства и хеш classifier. eva.tflite — исходный пример модели.
Условия использования исходников и моделей указаны в LICENSE и NOTICE.