[Plugin Tiers][Sujet Principal] JeeRhasspy

Bonjour,

Merci pour le dev de ce plugin, il est très bien fait et remplace bien ce qui se faisait sur Snips (RIP).

Vu qu’il est bien documenté je n’ai pas eu besoin de poster sur le forum pour trouver des réponses, jusqu’à maintenant.

Je cherchais le moyen de désactiver proprement l’écoute du mot clé pour éviter les faux positifs (en réunion teams au télétravail c’est moche quand ça allume la TV :grinning:).
Du coup j’ai cherché le moyen le plus propre et je suis tombé là dessus: https://github.com/synesthesiam/rhasspy/issues/171

En résumé il y a une API pour ça.

Est-ce que tu pourrais gérer l’appel de cet API dans un objet dédié pour qu’on puisse piloter ça directement dans une commande de jeedom?

Dispo pour beta tester si besoin :nerd_face:

1 « J'aime »

Je comptais le faire en commande sur les devices mais ça bug. Je le fait en mqtt depuis le bouton du respeaker. Mais je regarderai à l’occase.

Thanks,
Après j’ai un bouton mute sur mon jabra 510, mais ça serait cool de pouvoir piloter ça à distance, si on à des assistant vocaux, c’est pas pour lever nos fesses du canapé :stuck_out_tongue_closed_eyes:

Il faut que tu aille dans outils / objets, vue d’ensemble, et tu glisse l’objet rhasspy_intents tout en bas.

Ce soucis est corrigé en v4.1

Hello,

Je n’ai pas beaucoup donné de nouvelles sur ce plugin ces derniers temps. Très occupé sur plusieurs autres projets, boulot etc bref !

Je reprends rapidement le changelog suite à la publication d’une nouvelle beta

### 13/12/2020
- Nouvelle commande `repeatTTS`. Necessite de réimporter l'assistant dans le plugin.

### 26/11/2020
- Nouvelle commande `SetVolume`. Necessite Rhasspy 2.5.8 et de réimporter l'assistant dans le plugin.

### 30/05/2020
- Support du TTS simultané sur plusieurs devices (site1,site2).

### 19/04/2020
- **Attention**: Le plugin supporte maintenant Rhasspy v2.5 minimum !
- Ajouter un satellite : récupération automatique du siteId et vérifications.
- New : Deux nouvelles commandes sur les devices Rhasspy:
	- ledOn : Allume les LEDs
	- ledOff : Etaint les LEDs
	Nécessite [HermesLedControl](https://github.com/project-alice-assistant/HermesLedControl/wiki)
	*Il faut réimporter l'assistant pour créer ces nouvelles commandes*

A part le repeatTTS, le reste est déjà en Stable :wink:

changelog
documentation

Et en prime, un petit scénario repeat
intent:

[repeat]
tu peux répéter
qu'est-ce que tu a dit
répète s'il te plait
peux tu répéter

:beers:

2 « J'aime »

Merci Kiboost, pour ton travail.

En revanche est-ce que tu as pu prendre connaissance du sujet qui a été ouvert concernant la fonction ask qui semble ne pas prendre en compte les réponses ?

Aurais-tu une idée du souci ?

Merci d’avance,

Hello kiboost.
Ayant eu vent de ce plugin, j’ai enfin dégagé snips pour installer rhasspy. Quelle heureuse surprise de voir que tu en es l’auteur. Merci a toi.
J’ai installé lemaster sur un pi3 et les Satellites sur pi0.
Le tout sous docker czr c’est la seul méthode d’installation qui a marché.
Par contre, le pi0 semble bien chargé et ça ne communique pas bien avec le maître. Je communique en http. Aurais-tu un tuto de config en mqtt?
Merci

petite question … mon jeedom est configurer pour n’importer que les intents qui ont Jeedom dans le nom. Dans ton exemple je dois donc renommer [repeat] par [repeatJeedom] … C’est peu etre là mon erreur sur ma l’intent [GetAskResponseJeedom].

Bonjour olico et kiboost.
Déjà je remercie vraiment tous les membres de ce forum JeeRhasspy et surtout évidement Kiboost pour tout le travail effectué (en fait on te trouve partout). Sans vous tous j’aurai pas fait grand chose seul. Alors vraiment sincèrement Merci a tous.
Merci Olico d’avoir repousser le sujet de la fonction ASK. Pour ma part et je pense que ça peut en aider certain j’ai percuté ce WE. En fait j’avais pas de retour, tout simplement parce que je n’avais pas rediriger (callback) l’intent YesNo (donné en exemple) sur le scenario que je testai. Je sais pas si je suis très clair alors pour faire court:
J’ai un scenario d’ouverture et fermeture de volet déclenché par un intent tout simple:

[OuvrirFermer]
action = ( ouvre | ferme )
object = (volet)
room = (salon | salle à manger)
(){action} [ le | les ] (){object} [ du | de la] (){room}

dans ce scenario je voulais tester la fonction ASK donnée dans la doc de Jeerhasspy avec la question « voulez vous vraiment fermer/ouvrir les volets ». avec la réponse YesNo.
Le pb c’est que l’intent YesNo n’était pas redirigé (callback) vers ce même scenario.

c’est chose faite et j’ai maintenant un retour.
Il faut de temps en temps poser le cerveau et miraculeusement tout devient limpide.

Sorry c’est l’intent [GetAskResponseJeedom] et non YesNo qui est le Slot

Merci Pat974 pour ta précision, mais je ne comprends pas pourquoi tu dois rediriger l’intent vers le même scénario.

Ta méthode fonctionne peut-être sur 1 scénario, mais comment tu fais si tu a 3 scénario différents ? Tu ne peux pas faire 3 callback sur 1 intent ?

Y a quelque chosequi m’échappe !

Hello @Pep,
Ta solution m’interesse, pour faire baisser un peu la charge de mes satellites. Mais je ne trouve rien sur le forum Rhasspy a ce sujet. Pourrais-tu me donner la commande pour désactiver le serveur http? Merci

Ah et sinon, j’ai configuré les satellites pour utiliser Mqtt du master, mais quand je pose une question sur un satellite, j’ai la réponse vocalisée 2x systématiquement. Qu’est-ce que j’ai fait de travers?
La config SAT :


La config master :

Merci :slight_smile:

Pour désactiver le serveur http sur une image docker, il faut utiliser le commutateur --noweb-server. :wink:

2 « J'aime »

bonjour @Tarlak, je vais me lancer sur rhasspy bientôt, je voudrais savoir si tu as pu récupérer tous tes slots et intents de snips, et si oui comment? C’est encore possible depuis la fermenture de la console?
merci!

Non perso je n’ai rien récupérer, j’ai refais à la main tout mes intents, c’était plus pratique pour moi ça ma permis d’optimiser mes intents

Concernant le Ask je viens de re-re-tester et aucun soucis de mon coté, avec le master ou un satellite.

Dans Rhasspy:

Slot YesNo

( oui | ouais | yes | bien sûr ):oui
( non | mais non | surtout pas | nan ):non

intent GetAskResponseJeedom

[GetAskResponseJeedom]
bien sur que ($YesNo){YesNo}
mais ($YesNo){YesNo}
surtout pas (:){YesNo:non}
bien sur (:){YesNo:oui}
($YesNo){YesNo}
oui{YesNo:oui}
non{YesNo:non}

intent ModeJeedom
[ModeJeedom]

# Mode alarme
(passe | mets toi | mets) (en | le mode | mode)(alarme){mode_name:alarme} ( partiel | partielle){mode_type:partiel}
(passe | mets toi | mets) (en | le mode | mode)(alarme){mode_name:alarme} (off){mode_type:off}
(passe | mets toi | mets) (en | le mode | mode)(alarme){mode_name:alarme} (total | totale){mode_type:total}
(passe | mets) (l'alarme){mode_name:alarme} [de la maison] [en] [mode] ( partiel | partielle){mode_type:partiel}
(passe | mets) (l'alarme){mode_name:alarme} [de la maison] [en] [mode] (off){mode_type:off}
(passe | mets) (l'alarme){mode_name:alarme} [de la maison] [en] [mode] (total | totale){mode_type:total}

Dans le plugin:
intents

L’intent GetAskResponse n’a pas de callback, il est géré par la fonction Ask.
Pour la petite histoire, la fonction ask appelle une fonction dédiée du plugin qui:

  • Fait un listen-for-command à rhasspy
  • Récupère la réponse de rhasspy et compare l’entity pour récuperer le slot. Si c’est bon, c’est bien une réponse de Ask, et il set la variable. Le code est là

Ensuite le scénario appellé par notre intent initial (ici rhasspyModes):

Ici on renseigne:

  • Le tag profile pour pouvoir utiliser #[Rhasspy-Intents][TTS-#profile#][Ask]# (profile ! pas source ou autre comme j’ai pu voir ailleurs !!)
  • Le slot YesNo en réponse
  • La variable bien sûr
  • Notre commande #[Rhasspy-Intents][TTS-#profile#][Ask]# qui va prendre le nom TTS-xx avec le master ou un satellite.

Sur Rhasspy on obtient bien notre slot de réponse:

rhasspyYesNo

Et ensuite on check simplement la réponse.

@geekGoldfish a déjà répondu. C’est bien le switch que j’utilisais pour mon satellite en RPI0 .

Bonjour, je suis en train de tester rhasspy avec l’excellent plugin de Kiboost.
le clic sur wakeup me permet de passer des commandes avec succès.
j’en arrive au wakeword que je voudrais personnaliser, mais avant je teste :

-pour la config j’ai bien suivi la doc jeerhasspy et côté rhasspy: setting wakeword enable + model snowboy. ça donne ça dans le profile.json :
wake": {
** « system »: « snowboy »**
** },**
j’ai ajouté à la main ( engras ):
« wake »: {
« system »: « snowboy »,
"snowboy": {
« model »: « snowboy/snowboy.umdl »,
« sensitivity »: « 0.5 »
}
},

  • je teste « snowboy » : rien ne se passe en debug
    peut on écouter les wakeword pour trouver la prononciation " exacte"
    j’ai beau parcourir le net comme coxprod… je bloque avez vous une idée ?

  • ensuite pour la personnalisation j’ai vu ton tools KiboOst : Snowboy-CustomMaker : y a t il du nouveau c’est encore d’actualité ?
    merci pour vos conseils a venir.

UPDATE : en fait le hasard je reteste avec :
« hey snowboy » et mon debug : hasspyremote_http_hermes: webhook hermes/hotword/snowboy/detected => http://192.168…texte en gras
Ma première question n’était pas idiote; peut on écouter les wakeword ?

Par contre je dicte ma command mais rien derrière …
je vai continuer a gratter

Hello,
je fait mumuse depuis quelques semaine avec rhasspy + jeeRhasspy, c’est vraiment pas mal,
par contre:
comment faites vous:

  • pour que le wakeword ne soit pas détecté quad il ne faut pas ? (fausse détection)
  • pour que lors d’une fausse détection qu’une phrase soit « comprise » malgrès le fait que l’on soit en train de parler d’autre chose ? (il y a une sorte de détection par défaut qui est réalisée.)

setup: raspberry Pi 3 + respeaker 4mic
Mon wakeword c’est Danérys (GoT) donc 3 syllabes

Bonjour,
Tout d’abord, bravo pour ce plugin. Fonctionne très bien, installer sur un serveur QNAD en docker.

Je l’utilise pour piloter mes lumières, volets et obtenir des informations sur des capteur reliés a jeedom.
Sur détection de mouvement (alarme du garage) je souhaiterais diffuser un fichier wav (type alarme) sur la sortie HP de rhasspy.
Je ne trouve pas la solution.
Pouvez vous m’aider.
Merci,
MaxBlack