Galidog Docs
Introduction
Outils tiers
CrashlyticsMapboxNatural Language ProcessingPorcupinePréambuleFonctionnement techniqueSentry
Utilisation

Porcupine

Préambule

Un système de Hotword est mise en place sur l'application mobile.

Concrètement, voici le principe : lorsqu'un mot clé est prononcé « oralement » par l'utilisateur, l'application Galidog, alors installée sur le téléphone de l'utilisateur, va intercepter ce mot clé et attendre que l'utilisateur prononce une action connue par le système pour enclencher un comportement ciblé.

Cette pratique est similaire à ce qui est maintenant connu du grand public, à savoir : les assistants vocaux. Les plus connus restant Alexa (by Amazon) ou encore celui du géant Google via son assistant Ok Google.

Dans le cadre de l'application Galidog, l'équipe de TroisPointZéro a opté pour l'utilisation d'une librairie permettant de mettre un place un « écouteur » : porcupine-react-native. Bien qu'il en existe plusieurs sur le marché, c'est l'une des seules nous permettant de mettre en place ce procédé sur une application react-native.

Fonctionnement technique

Les actions suivantes devront être réalisées depuis le projet galidog-frontend !

Il est possible, soit :

  • d'utiliser les hotwords par défaut qui sont proposés : « alexa », « porcupine », « picovoice », etc. Vous devrez alors exécuter la ligne de commande suivante :
$ sh scripts/generate-config.sh ENVIRONMENT alexa|porcupine|picovoice|... > src/Config/index.js

ENVIRONMENT peut être dev|staging|production

  • d'utiliser son propre wake word model (au format .ppn) en le créant sur la console de Picovoice. Vous devrez alors réaliser les étapes suivantes :

Attention ! Si vous utilisez votre propre « wake word model », celui-ci aura une durée de vie de maximum 1 mois (si vous conservez l'offre gratuite (non commerciale)). Passé ce délai, il faudra (re)générer un « wake word model » ; puis le (re)télécharger dans les sources de l'application ; ce qui nécessitera un rebuild de l'APK.

  1. déplacez le fichier .ppn précédemment téléchargé dans le répertoire src/Assets/Porcupine/nom_hotword.ppn
  2. modifiez le fichier scripts/generate-porcupine-resources.js en remplaçant le nom du fichier .ppn existant par nom_hotword.ppn
  3. exécutez les lignes de commande suivantes depuis la racine du projet mobile :
$ npm run generate-porcupine-resources
$ sh scripts/generate-config.sh ENVIRONMENT nom_hotword.ppn > src/Config/index.js

ENVIRONMENT peut être dev|staging|production