Rhasspy-watch

Cas d’exemple

Cas N°1 : Juste regarder en live ce qui se passe

Donc là, rien de très compliqué, on lance ceci :

python3 ./rhasspy-watch.py --host rhasspy-master.local 

Tu l’auras compris, remplace rhasspy-master.local par ton serveur MQTT.

Et voilà ce que ça donne :

Les utilisateurs de snips-watch ne seront pas dépaysés

Cas N°2 : Regarder et enregistrer les messages MQTT

Là, on va sauvegarder tous les messages texte au format json et tous les messages de type stream audio au format wav.

On pourra donc ré-écouter les streams audio qui sont passés.

Le répertoire par défaut est un répertoire qui s’appelle archives dans le même dossier que le script. Il est possible de le définir grâce au paramètre --jsonfolder.

La ligne de commande :

python3 ./rhasspy-watch.py --host rhasspy-master.local  --mqtt_db

Il ne te reste plus qu’à lancer une ou deux commande à ton Rhasspy et d’aller voir le résultat dans ton répertoire archives.

Si on veut ré-écouter un fichier :

aplay 20200430012901013936_bureau_record.wav

Là aussi, ton flair technique t’aura fait comprendre que s’il y a record dans le nom du fichier, c’est que c’est ce que la reconnaissance vocale a reçu. S’il y a play, c’est le message vocal qu’a renvoyé Rhasspy.

Combien de fois une commande vocale n’avait pas marché et que je n’avais pas la possibilité de savoir quel composant avait posé souci !

Cas N°3 : Ressortir les messages entre 2 dates

Parfois, il peut être intéressant de ressortir uniquement la période à analyser plutôt que de se taper tout l’historique. Pour ça, il nous faut une date/heure de départ et une date/heure d’arrêt de recherche :

La ligne de commande :

python3 ./rhasspy-watch.py --mode search --datetime_start "2020-04-25 15h30" --datetime_stop "2020-04-25 17h30"

Là, on constate qu’on a pas besoin de se connecter au serveur MQTT puisqu’on fait des requêtes. On va donc faire la recherche des messages entre 15h30 et 17h30 le 25 Avril 2020.

L’affichage est exactement identique à s’il était en live.

Bien évidemment, ça ne marche que si tu as activé l’option d’enregistrement des messages.

Cas N°4 : Cas N°3 + affichage en mode “raw”

Si tu aimes souffrir ou que tu fais partie des quelques dizaines de personnes à travers le monde qui savent lire et parler le json couramment, alors cette option est pour toi.

La ligne de commande :

python3 ./rhasspy-watch.py --mode search --datetime_start "2020-04-25 15h30" --datetime_stop "2020-04-25 17h30" --outputFormat "raw"

Et voilà le résultat :

2 Comments

  1. 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

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.