Snips – créer un hotword personnalisé

Mise en production du hotword personnalisé

On crée un répertoire dans /etc que l’on va appeler snips

$ sudo mkdir -p /etc/snips/

Puis déplace le répertoire contenant les fichiers .wav et le fichier json dans ce nouveau répertoire

$ sudo mv <chemin_vers_modele> /etc/snips/

Ce qui pour moi donne :

$ sudo mv /home/pi/snips-record-personal-hotword/personal_2019_01_13T22_21_53 /etc/snips/

On vérifie quand même que tout est bien là avec ces 2 commandes

$ ls /etc/snips
personal_2019_01_13T22_21_53
$ ls /etc/snips/personal_2019_01_13T22_21_53
0.wav  1.wav  2.wav  config.json

Tout est bien au bon endroit. Il ne nous reste plus qu’à modifier le fichier « snips.toml » pour lui dire d’utiliser ce nouveau mot clé

$ sudo nano /etc/snips.toml

Et dans la partie hotword on passe de ceci :

[snips-hotword]
# model = "/usr/share/snips/hotword"
# hotword_id = "default"
# sensitivity = "0.5"
# audio = ["bureau@mqtt"]
# no_vad_inhibitor = false
# vad_messages = false

A cela :

[snips-hotword]
model = ["/etc/snips/personal_2019_01_13T22_21_53=0.5"]
# hotword_id = "default"
# sensitivity = "0.5"
# audio = ["bureau@mqtt"]
# no_vad_inhibitor = false
# vad_messages = false

On a donc modifié la ligne « model » pour y mettre notre nouveau hotword. On y a mis :

model = ["<chemin_vers_modele>=<sensitivity>"]

Et si tu as plusieurs hotwords à mettre, et bien tu les ajoutes en les séparant par des virgules

model = ["<chemin_vers_modele_un>=<sensitivity>","<chemin_vers_modele_deux>=<sensitivity>"]

Et si en plus, tu veux quand même garder le hotword « Hey ! Snips » en plus des hotwords personnalisés, alors ajoute le chemin suivant :
/usr/share/snips/assistant/custom_hotword avec =<sensitivity>

Ce qui me donne au final :

[snips-hotword]
model = ["/etc/snips/personal_2019_01_13T22_21_53=0.5","/usr/share/snips/assistant/custom_hotword=0.4"]
# hotword_id = "default"
# sensitivity = "0.5"
# audio = ["bureau@mqtt"]
# no_vad_inhibitor = false
# vad_messages = false

Comme d’habitude, un CTRL+O pour sauvegarder et un CTRL+X pour quitter nano.

Il ne reste plus qu’à remettre snips en marche et regarder le résultat

$ sudo systemctl restart snips-hotword; sudo systemctl restart snips-dialogue

4 Comments

  1. Je tenais à te remercier pour tes articles détaillés sur snips qui sont bien fait et j’ai vu également que tu avais commencé un premier article sur openhab qui sont malheureusement rare en français vivement la suite !!

  2. Bonjour,

    Je tente de mettre plusieurs modèle de Hotword, mais je n’y arrive pas.
    Il ne prend en compte que le dernier chemin présent dans la syntaxe ci dessous.
    Il y a pas un pb dans la syntaxe ?

    Merci
    model = [« = », »= »]

    • Bonjour Qben,

      As tu essayé le chapitre « test de bon fonctionnement » ? Est ce que le service snips-hotword fonctionne correctement avec ton/tes hotwords personnalisés ? Si oui, c’est alors effectivement un problème de syntaxe même si à première vue, je vois ce que tu as voulu écrire et je dirai que c’est bon.

      Dans le pire des cas, ouvre un ticket sur le forum de snips (en anglais) et je t’y aiderai. Il reste aussi le discord où je suis régulièrement et où tu peux me toquer.

      On arrivera à les faire fonctionner tes hotwords 😉

      Cedcox

Poster un Commentaire

Votre adresse de messagerie ne sera pas publiée.


*


Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.