alexylem / jarvis

Jarvis.sh is a simple configurable multi-lang assistant.
http://openjarvis.com
MIT License
805 stars 197 forks source link

Installation jarvis Ok, mais ne fonctionne pas. #779

Open buhz56 opened 6 years ago

buhz56 commented 6 years ago

Bonjour à tous, je viens d'installer jarvis sur mon tout nouveau raspberry. Lors de la config tout se passe bien, micro et haut parleur reconnus, j'ai bien le retour de mon message dans les hauts parleurs lors de la config. Par contre lorsque je démarre jarvis, ce dernier ne fonctionne pas, pas de reconnaissance de ce que je dis, juste un ? ou #.. Est ce que quelqu'un aurait une petite idée ? Ci-dessous un screenshot. Merci. sans titre

Oliv4945 commented 6 years ago

Salut,

Comme demandé lors de l'ouverture de l'issue, que donne "jarvis -nv" ? Tu peux faire un copier/coller plutôt qu'une capture d'écran :)

buhz56 commented 6 years ago

Désolé pour les oublis, je débute tout juste. Merci pour ta réactivité.

pi@raspberrypi:~/jarvis $ ./jarvis.sh -nv
Notice: you can use 'jarvis' instead of './jarvis.sh'

------------ Config ------------
jv_branch            master
jv_version
jv_arch              armv7l
jv_os_name           raspbian
jv_os_version        9
language             fr_FR
play_hw              hw:0,0
rec_hw               hw:1,0
speaker              ALSA
microphone           Asahi Kasei Microsystems Co., Ltd
recorder             sox
trigger_stt          pocketsphinx
command_stt          snowboy
tts_engine           svox_pico
--------------------------------

DEBUG: program_startup hook
DEBUG: start_speaking hook
coucou: Hello Hervé
DEBUG: stop_speaking hook
User defined commands:
*AIDE*                  *BONJOUR*|*SALUT*       *COMMENT*APPELLE*
*MERCI*                 *AU REVOIR*|*BYE*       ANNULE*|TERMINE*
ENCORE*                 *TEST*                  *VERSION*
*REPETE (*) ET (*)      *CA VA*                 >*OUI*
>*NON*|*PAS*
coucou: Waiting to hear 'coucou'
jarvis: (listening...)
 rec -V1 -q -r 16000 -c 1 -b 16 -e signed-integer --endian little /dev/shm/jarvi                                                                                        s-record.wav gain 5 silence 1 0.1 2.1% 1 0.5 2.1% pad 0.5 0.5 trim 0 5
------------ Config ------------
jv_branch            master
jv_version
jv_arch              armv7l
jv_os_name           raspbian
jv_os_version        9
language             fr_FR
play_hw              hw:0,0
rec_hw               hw:1,0
speaker              ALSA
microphone           Asahi Kasei Microsystems Co., Ltd
recorder             sox
trigger_stt          pocketsphinx
command_stt          snowboy
tts_engine           svox_pico
--------------------------------
Oliv4945 commented 6 years ago

Je pense qu'il y a eu un soucis, la fin est tronquée et il y a de nouveau le début ;)

En tout cas échange trigger stt et command stt ça ira déjà mieux, il faut avoir

trigger_stt          snowboy
command_stt     pocketsphinx     
buhz56 commented 6 years ago

Bonjour, il y a une avancée. J'ai aussi changé les 4 phrases de réponses, par exemple "oui" à la place de "yes" et j'ai l'impression que ce qui a fait la différence. Maintenant jarvis répond a l'appel "nestor". Par contre pour "ouvre les volets" j'ai droit a : "FEW LITTLE RIGHT". Et pour "quelle heure est t'il ?" : "GOOD FEW". J' ai refait un "jarvis -nv" pour voir.

nestor: Waiting to hear 'nestor' hervé: nestor nestor: Oui hervé: FEW LITTLE RIGHT nestor: Je n'ai pas compris: FEW LITTLE RIGHT hervé: (timeout) nestor: Waiting to hear 'nestor' hervé: nestor nestor: Oui hervé: ?(timeout) nestor: Waiting to hear 'nestor' hervé: nestor nestor: Oui hervé: GOOD FEW nestor: Je n'ai pas compris: GOOD FEW hervé: (timeout) nestor: Waiting to hear 'nestor' hervé:

------------ Config ------------ jv_branch master jv_version jv_arch armv7l jv_os_name raspbian jv_os_version 9 language fr_FR play_hw hw:0,0 rec_hw hw:1,0 speaker ALSA microphone Asahi Kasei Microsystems Co., Ltd recorder sox trigger_stt snowboy command_stt pocketsphinx tts_engine svox_pico

DEBUG: program_startup hook DEBUG: start_speaking hook nestor: Bonjour Hervé DEBUG: stop_speaking hook User defined commands: AIDE BONJOUR|SALUT COMMENTAPPELLE MERCI AU REVOIR|BYE ANNULE|TERMINE ENCORE TEST VERSION REPETE () ET () CA VA >OUI*

NON|PAS nestor: Waiting to hear 'nestor' hervé: (listening...) DEBUG: models=nestor INFO:snowboy:Ticks: [2, 20, 5, -1]

buhz56 commented 6 years ago

Je viens de trouver une vidéo qui présente l'installation, ça m'a bien aidé. Maintenant ça fonctionne. Merci pour ton aide. Au cas où quelqu'un serait intéressé le liens de la vidéo en question : https://openjarvis.com/content/installation

Oliv4945 commented 6 years ago

Super, la vidéo de l'aide fonctionne ;-)

ghost commented 5 years ago

Bonjour, je me permet de réouvrir le sujet (plutot qu'en créé un nouveau) car j'ai exactement le même problème, à savoir un Jarvis qui passe sans problème tout le paramétrage, mais qui ne fonctionne "jamais" une fois qu'on exécute l'application.

J'ai quasiment tout essayé, je dois passé à côté d'un truc mais je vois pas quoi:

Je n'y comprend rien, c'est assez dingue, et je ne sais pas comment "debugger" ça. Merci par avance pour l'aide ;)

Oliv4945 commented 5 years ago

Comme demandé à l'ouverture de l'issue, que est le log avec jarvis -nv ?

ghost commented 5 years ago

Bonsoir, Oui désolé, voici la capture !

image

ghost commented 5 years ago

Je viens de voir pour la demande de cp/cv plutot que capture:

pi@raspberrypi:~ $ jarvis -nv

------------ Config ------------
jv_branch            master
jv_version
jv_arch              armv7l
jv_os_name           raspbian
jv_os_version        9
language             fr_FR
play_hw              hw:0,0
rec_hw               false
speaker              ASUSTek Computer, Inc. Xonar U3 sound card
microphone           Default
recorder             sox
trigger_stt          snowboy
command_stt          pocketsphinx
tts_engine           svox_pico
--------------------------------

DEBUG: program_startup hook
DEBUG: start_speaking hook "Bonjour Monsieur"
Jarvis: Bonjour Monsieur
DEBUG: stop_speaking hook
User defined commands:
*AIDE*                  *BONJOUR*|*SALUT*       *COMMENT*APPELLE*
*MERCI*                 *AU REVOIR*|*BYE*       ANNULE*|TERMINE*
ENCORE*                 *TEST*                  *VERSION*
*REPETE (*) ET (*)      *CA VA*                 >*OUI*
>*NON*|*PAS*
Jarvis: Waiting to hear 'Jarvis'
Monsieur: (listening...)
DEBUG: models=jarvis
INFO:snowboy:Ticks: [2, 20, 5, -1]
INFO:snowboy:Keyword 1 detected at time: 2019-01-09 21:56:52
INFO:snowboy:Keyword 1 detected at time: 2019-01-09 21:56:53
INFO:snowboy:Keyword 1 detected at time: 2019-01-09 21:56:56
Oliv4945 commented 5 years ago

@jnurit est-ce possible d'avoir la suite du log ? Car à la fin on voit que Jarvis détecte bien le hotword :)

ghost commented 5 years ago

@Oliv4945 justement il n'y a pas plus... Il fait que des ticks infos, sauf que même si la pièce est silencieuse, les ticks infos sont là. de plus, l'invit de commande ne "s'ouvre pas" Si je change les paramètre (permissivité à 1 plutot que 0.4 par exemple), ça detecte le hotword tout le temps même quand je dis rien, et par contre il "n'entend" aucune commande. Bref, j'ai test plein de chose en bidouillant un peu, mais je trouve pas. J'ai vraiment l'impression que le micro marche mais qu'il ne me "comprend" pas.

Oliv4945 commented 5 years ago

@jnurit rec_hw false : microphone désactivé ? Essaie de supprimer le fichier ~/.asoundrc et relancer le wizard

ghost commented 5 years ago

Pour le coup, le microphone marchais très bien (enregistrement dans jarvis OK, même en dehors avec rec puis play) J'ai essayé la manip @Oliv4945 , mais mon micro ne marche plus du tout ! En fait au début j'avais plus du tout de son... donc 0 moyen de test le micro. N'étant pas spécialiste des config son linux, je fouille un peu, et je trouve avec un aplay -l pour lister les device. Avec aplay mon-son -D sysdefault:CARD=1 j'ai ce qu'il faut, je met la config dans mon fichier .asoundrc, je reboot. La mon enceinte remarche nickel au boot.

Du coup je passe au micro. Et la, rien. J'essaye les arec -D sur toute mes cartes: nada. j'ai essayé plein de chose, mais je trouve rien de satisfaisant... du coup avant de voir avec jarvis, j'aimerais le refaire marcher sur la distrib...

image

Si possible d'avoir de l'aide sur ça. Je pense qu'il y a des chances que ça "debloque" pour jarvis. Pour rappel:

Ci-dessous, les capture dans l'ordre du .asoundrc avant, puis après (PS: j'ai tenté de revenir en l'état, pas eu plus)

image

image

ghost commented 5 years ago

petite infos si ça peu aider image

ghost commented 5 years ago

J'ai reussi à remettre le micro, mais toujours le même soucis: Jarvis fonctionne pour le paramétrage, pas pour la "prod" (revenu au point de départ)

Voici un screen du paramétrage avec le micro image

Pour infos, j'ai refait fonctionner via la commande amixer -c [ma-carte] sset 'Mic' 100 (visiblement le son devait être trop bas, je ne sais pas pourquoi)

Edit: image je viens de voir que effectivement, j'ai toujours le micro a false... pourquoi ça fonctionne lors du paramétrage du coup? je loupe un truc dans une configuration, mais le système fonctionne parfaitement par défaut au boot... et le settings aussi...

Edit2:

J'essaye de debug comme je peux, désolé j'essaye de donner un max d'infos. Dans les settings j'ai trouvé ça, le micro est aussi a false, mais quand je clique dessus ça relance l'étape de settings qui test le micro, m'enregistre et me demande si je m'entend. Tout le process marche nickel...

image

En fait je n'arrive pas à savoir si jarvis ne "m'entend pas" en mode prod (auquel cas soucis au niveau de l'app ou de la config), ou si c'est plutot qu'il "m'entend" mais ne "comprend" pas (auquel cas j'aurais un soucis de model training... même si je pense qu'il y a peu de chance vu le nombre de fois où j'ai tester).

Edit3: J'ai trouver d'ancien topics sur le sujet. Notamment sur la config du fichier rec_hw. Du coup j'ai fait des tests pour trouver quel est exactement le "device" sur lequel taper. j'ai d'abord essayer hw:0,0, et ai voulu confirmer avec la commande arecord plop.wav -d 3 -D hw:0,0 Mon record ne marchais pas Du coup j'ai testé avec arecord plop.wav -d 3 -D plughw:0,0 et là ce fu fonctionnel. J'ai placé ça comme paramètre dans le fichier, et ai retester jarvis. Sans plus de résultat image

image

Oliv4945 commented 5 years ago

Tu peux essayer d'éditer config/rec_hw et remplacer le false par true. Sinon je n'ai pas d'idée :/

ghost commented 5 years ago

En premier lieux, merci pour ta réactivité et ton aide :)

J'ai essayé hier sans succès, j'ai retenter pour être sur mais... pas plus. Une ligne m'a intrigué cependant: image pourquoi en speaker dans jarvis j'ai mon micro, et en micro "vide"?

Du coup j'ai retenter un truc. je suis aller dans 'settings => audio => micro', tout marchais nickel. pareil avec la valeur 'true'. J'ai remarqué que le test se faisais, et quoiqu'il arrive, si le premier test était "correct", la valeur de rec_hw ne changeait pas. Donc j'ai volontairement mis que ça ne marchais pas (même si je m'entendais), puis j'arrive donc sur l'écran qui liste les device et me demande de choisir lequel (sortie arecord -l). je choisi la webcam, ça lance le test, tout fonctionne. rec_hw est donc remplacé par hw:0,0 et quand je lance le debug cette fois, j'ai 2 fois le microphone... (à savoir, j'entend bien la voix de Jarvis qui me dit bonjour, donc l'enceinte reste parfaitement fonctionnelle) image

Je pense vraiment que tout ce qui me manque, c'est de savoir si jarvis m'entend mais ne me comprend pas, ou si il ne m'entend même pas :(

phillabe commented 3 years ago

Bonjour,

J'ai un problème similaire. Pas de reconnaissance du mot clef par snowboy si ce n'est que de façon occasionnel après plusieurs répétitions. Je cherche depuis des semaines et fait plusieurs fois l'installation complète sur un raspberry neuf sur lequel il n'y a que Jarvis . Merci d'avance pour votre aide Voici le log complet

pi@raspberrypi:~/jarvis $ jarvis -nv

------------ Config ------------ jv_branch master jv_version jv_arch armv7l jv_os_name raspbian jv_os_version 10 language fr_FR play_hw hw:0,0 rec_hw hw:1,1 speaker Headphones microphone JMTek, LLC. recorder sox trigger_stt snowboy command_stt bing tts_engine svox_pico

DEBUG: program_startup hook DEBUG: start_speaking hook "Bonjour" maison: Bonjour DEBUG: stop_speaking hook User defined commands: AIDE BONJOUR|SALUT COMMENTAPPELLE MERCI AU REVOIR|BYE ANNULE|TERMINE ENCORE TEST VERSION REPETE () ET () CA VA >OUI*

NON|PAS Commands from plugin jarvis-domoticz: ALLUM[^ ]+ () ETEIN[^ ]+ () FERME () OUVRE () QUELETAT ()|DONNE COMBIENDEGREEFAIT ( Commands from plugin jarvis-meteo-suisse: METEOACTUELLE METEOAUJOURD METEODEMAIN PLEUVOIRDEMAIN Commands from plugin jarvis-testdebitadsl: DEBITINTERNET|ADSL DEBITMINIMUM DEBITMAXIMUM Commands from plugin jarvis-time: QUELLE HEURE QUEL JOUR* maison: Waiting to hear 'maison' Philippe: (listening...) DEBUG: models=maison INFO:snowboy:Ticks: [2, 20, 5, -1]

phillabe commented 3 years ago

Bonjour,

Voici la susite Après avoir répété plusieurs fois 'maison' il arrive que Jarvis réponde 'oui' mais la commande ensuite demandée ne s'exécute pas et une erreur de délai apparait. Je sais que les commandes fonctionnent je les ai testées via le clavier. Un problème de micro me semble t'il mais tous les tests sont ok

Voici le log quand cela passe

pi@raspberrypi:~/jarvis $ jarvis -nv

------------ Config ------------ jv_branch master jv_version jv_arch armv7l jv_os_name raspbian jv_os_version 10 language fr_FR play_hw hw:0,0 rec_hw hw:1,1 speaker Headphones microphone JMTek, LLC. recorder sox trigger_stt snowboy command_stt bing tts_engine svox_pico

DEBUG: program_startup hook DEBUG: start_speaking hook "Bonjour" maison: Bonjour DEBUG: stop_speaking hook User defined commands: AIDE BONJOUR|SALUT COMMENTAPPELLE MERCI AU REVOIR|BYE ANNULE|TERMINE ENCORE TEST VERSION REPETE () ET () CA VA >OUI*

NON|PAS Commands from plugin jarvis-domoticz: ALLUM[^ ]+ () ETEIN[^ ]+ () FERME () OUVRE () QUELETAT ()|DONNE COMBIENDEGREEFAIT ( Commands from plugin jarvis-meteo-suisse: METEOACTUELLE METEOAUJOURD METEODEMAIN PLEUVOIRDEMAIN Commands from plugin jarvis-testdebitadsl: DEBITINTERNET|ADSL DEBITMINIMUM DEBITMAXIMUM Commands from plugin jarvis-time: QUELLE HEURE QUEL JOUR* maison: Waiting to hear 'maison' Philippe: (listening...) DEBUG: models=maison INFO:snowboy:Ticks: [2, 20, 5, -1] INFO:snowboy:Keyword 1 detected at time: 2020-12-27 22:07:28 INFO:snowboy:Keyword 1 detected at time: 2020-12-27 22:07:30 INFO:snowboy:Ticks status: 1 3 0 1 WARNING:snowboy:No match silence_before INFO:snowboy:Keyword 1 detected at time: 2020-12-27 22:07:40 INFO:snowboy:Keyword 1 detected at time: 2020-12-27 22:07:42 INFO:snowboy:Ticks status: 2 4 2 1 DEBUG: modelid=0 maison DEBUG: entering_cmd hook DEBUG: start_speaking hook "Oui" maison: Oui DEBUG: stop_speaking hook Philippe: (listening...) DEBUG: start_listening hook utils/timeout.sh 10 rec -V1 -q -r 16000 -c 1 -b 16 -e signed-integer --endian little /dev/shm/jarvis-record.wav gain 0 silence 1 0.1 0.1% 1 0.5 0.1% pad 0.5 0.5 trim 0 5 DEBUG: speech duration was 50 (10 = 1 sec) WARNING: too long for a command (max 4 secs), ignoring... HELP: try in order the following options 1) wait longer between voice commands 2) reduce ambiant background noise 3) decrease mic sensitivity in Settings > Audio 4) increase Min Silence Level to Stop DEBUG: stop_listening hook (listening...) DEBUG: start_listening hook utils/timeout.sh 10 rec -V1 -q -r 16000 -c 1 -b 16 -e signed-integer --endian little /dev/shm/jarvis-record.wav gain 0 silence 1 0.1 0.1% 1 0.5 0.1% pad 0.5 0.5 trim 0 5 DEBUG: speech duration was 50 (10 = 1 sec) WARNING: too long for a command (max 4 secs), ignoring... HELP: try in order the following options 1) wait longer between voice commands 2) reduce ambiant background noise 3) decrease mic sensitivity in Settings > Audio 4) increase Min Silence Level to Stop DEBUG: stop_listening hook (listening...) DEBUG: start_listening hook utils/timeout.sh 10 rec -V1 -q -r 16000 -c 1 -b 16 -e signed-integer --endian little /dev/shm/jarvis-record.wav gain 0 silence 1 0.1 0.1% 1 0.5 0.1% pad 0.5 0.5 trim 0 5 DEBUG: speech duration was 50 (10 = 1 sec) WARNING: too long for a command (max 4 secs), ignoring... HELP: try in order the following options 1) wait longer between voice commands 2) reduce ambiant background noise 3) decrease mic sensitivity in Settings > Audio 4) increase Min Silence Level to Stop DEBUG: stop_listening hook DEBUG: 3 attempts failed, end of conversation

DEBUG: exiting_cmd hook maison: Waiting to hear 'maison' Philippe: (listening...) DEBUG: models=maison