Comme je vais certainement bientôt en avoir besoin, je ressors de mes répertoires d’archives du fin fond d’un disque dur de mes NAS un script qui s’appelle (dorénavant) rhasspy-watch
(ou ‘rhasspy watch’ pour google).
Tu te rappelles certainement de snips-watch
qui permettait de voir en temps réel, dans un langage humain, ce qui se passait au niveau des messages MQTT.
Le problème est que j’avais besoin de plus de fonctionnalités comme de pouvoir sauvegarder et relire les commandes qui s’étaient mal passées. Mais surtout, de pouvoir ré-écouter ce que la reconnaissance vocale avait entendu pour éventuellement avoir à régler la config d’enregistrement sur le snips satellite.
A l’époque, j’avais donc développé à l’arrache un script qui me permettait de faire ça.
Et comme je vais en avoir besoin avec la migration de snips vers Rhasspy, je me suis dit que c’était le bon moment pour mettre un petit coup de dépoussiéreur et le sortir du placard.
Je me suis dit aussi que je pouvais le filer AS-IS comme on dit pour ceux qui voudraient s’amuser. Néanmoins attention ! J’ai développé ça comme un outil pour un besoin personnel ponctuel et non comme un script pour tout le monde. Donc, il te faudra peut-être mettre un peu les mains dans le cambouis pour qu’il tourne. Si tu n’essayes pas, tu ne sauras pas ! 🙂
Allez, c’est parti !
Bonjour Ced,
Tu m’as orienté sur ton script, en effet, c’est une très bonne base pour débuter sur MQTT, il y a pas mal de choses à récupérer !
1- Y a t il un intérêt à dockeriser ton script (tu sembles le proposer), vu qu’il n’y a pas beaucoup de dépendances… ?
2- Questions bêtes car je ne suis pas trop calé en python : pourquoi as-tu des fonctions vides (on_message, appelée par on_msg dans rhasspymqttclient.py) ?
3- J’ai vu dans ton dossier Git, un projet SNIPS NLU… est-ce meilleur que fsticuffs ?
4- En terme de reconnaissance d’intent, existe-il des fichiers setences.ini tout fait (il y en a qui traînent sur jeedom) qui fonctionnent bien (certains préconisent une seule intent avec plein de sentences) et qui peuvent servir de base de personnalisation ? Ton dernier lien du tuto “les sentences et les intents” ne fonctionne plus d’ailleurs.
Merci !
Damien
Bonjour Damien,
Normalement, il est censé déjà être Dockerisable. J’ai fait le merge d’un utilisateur qui l’a fait. Mais j’avoue ne pas l’avoir testé 🙂 Pour ce qui est de l’intérêt, je dira que ça dépend de chacun ! Moi perso, non 🙂
Pour les fonctions vides, même si elles apparaissent vides, elles ont un rôle dédié aux évènements (regarde ligne 262 à 264 de Rhasspy-watch.py). Ça permet de déclencher un évènement dont le code sera traité par le script principal.
Snips NLU était le NLU de Snips. Snips n’existant plus, il a perdu un peu d’intérêt car pas mal de boulot si on souhaite l’utiliser. Certains ont été essayé de l’implémenter. Je crois qu’il y avait eu à un moment l’idée de l’intégrer à Rhasspy mais je ne sais pas ce que le sujet est devenu
Pour les intents, non, il n’en existe pas des tout fait à ma connaissance. Peut-être sur le forum Jeedom
@ pluche
Ced