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
EDIT : Comme indiqué en commentaire, il ne faut pas oublier d’aller sur la console d’administration et de sélectionner « Personnal wake word » en lieu et place de « Hey snips ». Et évidemment derrière, on relance l’installation de l’assistant pour la prise en compte.

Merci à seb54 pour le rappel ! 😉
bonjour, mon test est ok, la commande
$ ls /etc/snips/personal_josette
me donne bien les 4 fichiers, j’ai bien corrigé la ligne sous [snips hot-word] :
model = [« /etc/snips/personal_josette=0.5 »]
Mais c’est toujours le hey snips qui se charge après avoir remis en marche snips…
Je ne vois vraiment pas où est mon erreur, syntaxe ok et test ok, qqn a eu le problème svp??
merci!
je me réponds à moi même, tout est rentré dans l’ordre, je ne sais pas comment. Peut être après avoir choisi « personal wake word » sur la console de l’assistant (https://console.snips.ai/assistant/proj_xxxxxxxxx/edit), ce qui n’est demandé nulle part dans le tuto.
En tout cas ça marche nikel!
Bonjour Seb,
Merci pour le rappel, je viens de mettre à jour l’article 😉
Ced
Bonjour Cox,
Je commence mes recherches sur Snips, car un ami qui voulais faire un assistant pour sa domotique a changé de support et va commencer avec Snips bientôt et arrêter Sarah de https://blog.encausse.net/sarah/
Nous sommes tous les deux fans de la série Eurêka, et notre question est sur les HotWord officiels, comme vous travaillé chez snips, vous savez peut être?
Il y a Jarvis de Iroman mais pas de SARAH de Eurêka!!
Est-il prévu de l’integrer un jour?
Car, pour avoir sarah pour plusieurs personnes dans la maison, ça devient compliqué… et des fan de la série qui voudrait avec une assistante Vocale du même nom aussi, je pense.
Pour finir, j’adore vos explications et pour une intégration, c’est d’une aide superbe!
Maintenant, reste plus qu’à investir pour snips dans mon bureau pour commencer.
Merci bcp
Bonjour,
Avec Snips, il est possible d’avoir un hotword par personne, ce qui permet de savoir qui l’a déclenché. Mais cela nécessite de mettre un peu plus les mains dans le cambouis avec la récupération des infos dans les messages MQTT.
Amusez vous bien avec Snips !
Ced
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 !!
Merci beaucoup !!! 😉
Ced
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