-
Notifications
You must be signed in to change notification settings - Fork 8
porcupine
Детектор ключевых слов, который может быть использован как альтернатива Snowboy. Porcupine не поставляется с терминалом и должен быть установлен самостоятельно.
Начиная с версии 1.6 поддержка x86 прекращена, используйте версию 1.5 (по ссылам [1.5] или переключая tag).
- Поддерживает Windows и i386 системы.
- Позволяет с помощью Porcupine Optimizer [1.5] создавать любые универсальные модели (только для x86).
- Не поддерживает создание персональных моделей.
- Платформозависимые модели.
- Не поддерживает Orange pi aarch64.
- Не предоставляет VAD.
Если вы изначально планируете использовать Porcupine, то можно не устанавливать Snowboy и игнорировать его ошибки во время установки.
Можно явно задать детектор в настройках ([listener] detector), но если он не задан то это не требуется.
Для переключения со Snowboy на Porcupine, нужно создать директорию mdmTerminal2/src/detectors/porcupine/ и поместить туда 2 файла необходимые для его работы:
-
libpv_porcupine.{so|dll|dylib}из Porcupine/lib/ [1.5] соответствующий ос и архитектуре платформы. -
porcupine_params.pvиз Porcupine/lib/common/ [1.5].Для использования менее ресурсоемких и точных моделей
Tinyнужно взять и переименоватьporcupine_tiny_params.pv(не рекомендуется).
При запуске терминал автоматически переключится на Porcupine о чем сообщит в логе:
2019-03-18 02:44:19,864 INFO CFG: Hotword detection: Porcupine
Для возврата на Snowboy достаточно удалить любой из этих файлов или mdmTerminal2/src/detectors/porcupine/ целиком.
Готовые модели можно взять из Porcupine/resources/keyword_files/ [1.5]. Модели нужно выбирать в зависимости от платформы и версии porcupine.
Если вы выбрали porcupine_tiny_params.pv, то нужно использовать модели _tiny.ppn и наоборот. Tiny и Standart не совместимы между собой.
Модели Standart под некоторые платформы можно создать с помощью Porcupine Optimizer [1.5].
Также, для работы в chrome_mode нужно самостоятельно добавить фразы соответствующие модели в settings.ini, например:
[models]
alexa_windows.ppn = Alexa|Алекса
bumblebee_windows.ppn = Бамблби|bumblebee- Нужно делать небольшую паузу между ключевым словом и фразой в
chrome_mode. - VAD snowboy недоступен, вместо него будет использован energy.
- Настройки
[settings] audio_gainи[noise_suppression] snowboy_apply_frontendне имеют эффекта. - Компиляция моделей будет отключена.