[TUTORIEL] - Gladys et la reconnaissance vocale

recovocale
tutoriel

#21

@Ceksi : Une fois l’app lancée tu vois quelque chose dans les logs pm2 ?

@Jean-Philippe : Nous sommes plusieurs à utiliser un ps3 eye (parce que ça ne coûte rien, que la qualité audio est acceptable, et qu’il y a 4 flux audio).
Mais ça reste assez “gros” comme périphérique.

Si tu veux un truc plus intégré il faudrait trouver un Hat avec un réseau de microphones. Tu peux en trouver aux alentours de 100€. Il y avait normalement un Hat à 4 micros qui devait sortir chez ReSpeaker, mais je ne le retrouve pas chez Seeedstudio. Tu as néanmoins la version à deux micros qui ne coûte que 10€ et te permettra d’avoir des micros directement sur le raspberry, mais sans pouvoir jouer avec le beamforming.

EDIT : Un test des différentes solutions sur le marché


#22

@kusi Seulement cela:
[PM2] Applying action restartProcessId on app [gladys-voice](ids: 1)
[PM2] gladys-voice
[PM2] Process successfully started


#23

Et dans alsamixer ton micro est bien visible et activé ?


#24

Oui il l’est et je suis pratiquement sûr que le problème ne vient pas du micro vu que quand je fais un enregistrement test ça fonctionne bien.


#25

tu peux vérifier, que gladys ne redémarre pas en boucle ?
Parce que dans ton pm2 list le uptime est à 0s et le restart 90
Il est possible qu’il renvontre un problème et que ça le fasse redémarrer en continu.


#26

Tuas sûrement raison car lorsque je démarre glady-svoice (pm2 start app.js --name gladys-voice) deux fois d’affilé je passe d’un restart de 160 à 165 et après avoir un peu attendu je suis à 180. En plus mon raspberry pi utilise 78% de sa RAM ce qui est beaucoup plus élevé que d’habitude.
Du coup tu as une idée d’où pourrait venir le problème ?

edit: Et quand je fais pm2 show 1 (ID de gladys-oice) il m’indique error comme statut


#27

Regarde les logs de PM2 avec la commande pm2 logs une fois ton appli lancée.

Si ton appli gladys-voice redémarre en boucle, tu le verras, et tu pourras aussi savoir pourquoi ça plante.


#28

J’obtiens ce message d’erreur en boucle:

PM2 | App [gladys-voice] with id [1] and pid [32151], exited with code [255] via signal [SIGINT]
PM2 | Starting execution sequence in -fork mode- for app name:gladys-voice id:1
PM2 | App name:gladys-voice id:1 online
1|gladys-v | ReferenceError: dule is not defined
1|gladys-v | at Object. (/home/pi/gladys-voice/config.js:2:1)
1|gladys-v | at Module._compile (module.js:570:32)
1|gladys-v | at Object.Module._extensions…js (module.js:579:10)
1|gladys-v | at Module.load (module.js:487:32)
1|gladys-v | at tryModuleLoad (module.js:446:12)
1|gladys-v | at Function.Module._load (module.js:438:3)
1|gladys-v | at Function._load (/usr/local/lib/node_modules/pm2/node_modules/pmx/lib/transaction.js:62:21)
1|gladys-v | at Module.require (module.js:497:17)
1|gladys-v | at require (internal/module.js:20:19)
1|gladys-v | at Object. (/home/pi/gladys-voice/core/voice.js:1:78)
PM2 | App [gladys-voice] with id [1] and pid [32177], exited with code [255] via signal [SIGINT]
PM2 | Script /home/pi/gladys-voice/app.js had too many unstable restarts (16). Stopped. “errored”


#29

Ah apparemment ton fichier gladys-voice/config.js a une erreur de syntaxe.

regarde si dans ce fichier tu n’as pas remplacé module par dule, il a l’air de râler pour ça.


#30

Salut !

Il semble que tu aies effacé par erreur les premiers caractères dans ton config.js


#31

@c4rlit0 @kusi c’est ça :smiley: merci beaucoup pour votre aide je vais vérifier si ça fonctionne maintenant !


#32

Maintenant gladys reconnaît le mot clé mais j’ai l’impression que c’est tout. J’ai regardé à nouveau dans pm2 logs et j’ai encore deux “paragraphes” d’eurreur:

/home/pi/.pm2/logs/gladys-error-0.log last 10 lines:
0|gladys | at Query._handleFinalResultPacket (/home/pi/gladys/node_modules/mysql/lib/protocol/sequences/Query.js:144:8)
0|gladys | at Query.EofPacket (/home/pi/gladys/node_modules/mysql/lib/protocol/sequences/Query.js:128:8)
0|gladys | at Protocol._parsePacket (/home/pi/gladys/node_modules/mysql/lib/protocol/Protocol.js:280:23)
0|gladys | at Parser.write (/home/pi/gladys/node_modules/mysql/lib/protocol/Parser.js:73:12)
0|gladys | at Protocol.write (/home/pi/gladys/node_modules/mysql/lib/protocol/Protocol.js:39:16)
0|gladys | at Socket. (/home/pi/gladys/node_modules/mysql/lib/Connection.js:96:28)
0|gladys | at emitOne (events.js:96:13)
0|gladys | at Socket.emit (events.js:188:7)
0|gladys | at readableAddChunk (_stream_readable.js:176:18)
0|gladys | at Socket.Readable.push (_stream_readable.js:134:10)

/home/pi/.pm2/logs/gladys-voice-error-1.log last 10 lines:
1|gladys-v | at Module.require (module.js:497:17)
1|gladys-v | at require (internal/module.js:20:19)
1|gladys-v | at Object. (/home/pi/gladys-voice/core/voice.js:1:78)
1|gladys-v | (node:914) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: Cannot find module ‘/home/pi/gladys-voice/gladys-speech.json’
1|gladys-v | (node:914) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 3): Error: Cannot find module ‘/home/pi/gladys-voice/gladys-speech.json’
1|gladys-v | (node:914) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 4): Error: Cannot find module ‘/home/pi/gladys-voice/gladys-speech.json’
1|gladys-v | (node:914) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 5): Error: Cannot find module ‘/home/pi/gladys-voice/gladys-speech.json’
1|gladys-v | (node:914) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 6): Error: Cannot find module ‘/home/pi/gladys-voice/gladys-speech.json’
1|gladys-v | (node:914) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 7): Error: Cannot find module ‘/home/pi/gladys-voice/gladys-speech.json’
1|gladys-v | (node:914) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 8): Error: Cannot find module ‘/home/pi/gladys-voice/gladys-speech.json’


#33

Le module ne trouve pas ton fichier JSON obtenu sur la Google Cloud Console.

Tu l’as je pense bien mis sur ton RPI, mais tu as oublié le dossier DATA dans le chemin je pense.

==> /home/pi/gladys-voice/data/gladys-speech.json

Vérifie qu’il est bien présent et qu’il s’appelle bien gladys-speech.json


#34

C’est ce que je vérifiais justement et je l’ai bien mis dans /home/pi/gladys-voice/data avec comme nom gladys-speech.json


#35

Alors il faut que tu corrige ton config.js dans lequel le chemin ne contient pas le dossier data


#36

Je ne trouve pas à quel endroit je dois modifier un chemin d’accès;


#37

C’est ici :


#39

Ha ok merci beaucoup :smiley:


#40

Je viens de redémarrer gladys-voice et j’ai toujours les mêmes messages d’erreurs :s


#41

Tu as toujours ça ??

Colle nous un screen :wink: