Je suis actuellement sur le développement et plus particulièrement l’intégration de rhasspy sur gladys.
(Permet de reconnaitre la voix / reconnaitre des phrases / parler)
Contexte
Pour se faire il faut donc faire quelques modifications dans Gladys. Actuellement pour parler avec Gladys il est nécessaire de passer par la box Discussion, on parle avec Gladys et Gladys répond à l’utilisateur via un websocket.
Du coup le service rhasspy lui va faire tourner un docker, récupérer les messages via websocket et les envoyer à Gladys. Le problème c’est que pour envoyer des messages à Gladys il faut être un utilisateur. Sauf que la réponse doit revenir sur le service rhasspy.
Specification fonctionnelle
En tant qu’utilisateur, je souhaite :
pouvoir parler avec Gladys et avoir une réponse oral.
Parler avec Gladys de manière sécurisée et que toutes les données soient gardées en local
Avoir un historique de toutes les demandes effectuées
Création d’utilisateur applicatif
Tout en gardant le fonctionnement de Gladys discussion, on peut envisager de créer un utilisateur applicatif lié au service Rhasspy. Cet utilisateur pourra communiquer avec Gladys et donc recevoir les réponses de Gladys sans que cela apparaisse dans une box discussion. (En effet associer une voix et un utilisateur est très difficilement envisageable pour le moment).
L’utilisateur applicatif sera un utilisateur “caché” qui n’aura pas les mêmes droits qu’un utilisateur standard. Il communiquera uniquement avec le système afin de réaliser des actions.
Fonctionnement du service
Le système va installer de manière transparente un conteneur avec toutes les configurations nécessaires au bon fonctionnement des services de reconnaissance / parole.
Un utilisateur applicatif sera crée par le service et affecté au service.
Le service sera connecté en websocket à rhasspy. Lorsque l’on reçois un message, celui-ci est envoyé à Gladys, gladys interprète ce message et renvoie une réponse. Cette réponse sera transmise à rhasspy pour qu’elle soit exécuté à l’oral.
Retour ?
J’aimerai avoir vos avis sur le petit texte que j’ai écris juste au dessus. Avez vous d’autres idées de fonctionnement ? Merci
Le soucis c’est pas rhasspy. Le service rhasspy (codé sur gladys) reçois facilement les informations du conteneur rhasspy. Le problème c’est Gladys core. En gros je dois appeller la fonction que tu as développé pour parler avec Gladys. Mais cette fonction a besoin d’un utilisateur.
Donc soit on change rien de cette fonction, soit on créer quelque chose a part qui permette de communiquer avec Gladys sans avoir d’utilisateur.
Ici la fonction est restrictive pour mon cas d’usage. Moi j’aurai besoin plutot d’une fonction où j’envoie le message, et gladys répond le message de retour.
Par contre, avant de te lancer dans le développement, je te recommande de faire une spec fonctionnelle et technique, c’est vraiment la meilleure façon de mettre à plat ce qu’on veut avant de coder.
Perso j’utilise https://whimsical.com pour les maquettes, je trouve ça pratique. L’idée c’est pas de faire du pixel perfect, c’est juste de voir ensemble ce qui va être ajouté à l’UI, pour pouvoir avoir une idée de ce qu’on fait avant de foncer dans le dev.
L’avantage de whimsical, c’est que c’est simple, ça te pousse pas à faire une UI bloated.
Pour la spec technique, le but c’est d’expliquer techniquement ce qu’on va faire avant de le faire (modélisation DB, route d’API, etc…)
Merci pour le truc de maquette je savais pas quoi utiliser.
Du coup actuellement je fais un POC pour avoir des idées de chose à prévoir. Mais oui je prends pas trop de temps à faire quelque chose de propre pour le moment et à côté je fais le spec
Je préfère sur ce genre de développement un peu particulier de bien comprendre comment fonctionne le conteneur
Bon j’essaye mais en fait je suis plus que nul je suis pas vraiment designer. Y a-t-il des personnes qui savent faire de l’UX ? (designer une page web de manière grossière pour que je m’en inspire) ?
En fait j’ai en tête ce que je dois développer côté back end. Par contre niveau UI / UX je suis très très mauvais. Et les maquettes que j’ai faites c’est juste moche
Du coup si qq pas nécessairement dev et qui a du temps aime bien faire ça, ca serait super cool