alexylem / jarvis

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

commandes rapides snowboy ne marche pas ! #784

Open trarizakaria opened 6 years ago

trarizakaria commented 6 years ago

Description

bonjour à tous, j'ai fait plusieurs tentatives sur plusieurs raspberry et différentes version raspbian pour faire marcher les commandes rapides via snowboy mais ça n'a jamais marché pour moi. j'ai suivi les même démarches décrites ici : https://www.openjarvis.com/content/snowboy#commandes-rapides j'ai enregistré de nouvel hotwords genre "allume la tele" j'ai vérifié il sont bien dans le dossier ~/jarvis/stt_engines/snowboy/ressources

alexa.umdl                       common.res          ettein la television.pmdl
allume la lumiere du salon.pmdl  ding.wav            sherazad.pmdl
allume la tele.pmdl              dong.wav            snowboy.umdl
allume la television.pmdl        etein la tele.pmdl

quand j'ouvre jarvis, il ne reconnais que le magic word , j'ai essayé de jouer avec la sensitivity de snowboy sans résultat. je prononce les commandes tel qu'il ont été enregistré. merci pour votre aide

voila mon troubleshooting mode :

------------ Config ------------
jv_branch            master
jv_version           18.01.03
jv_arch              armv6l
jv_os_name           raspbian
jv_os_version        9
language             fr_FR
play_hw              hw:0,0
rec_hw               hw:1,0
speaker              ALSA
microphone           Logitech, Inc. Logitech USB Microphone
recorder             snowboy
trigger_stt          snowboy
command_stt          wit
tts_engine           svox_pico
--------------------------------

DEBUG: program_startup hook
Starting RestAPI server on http://192.168.1.2:8071
Starting User Interface on http://192.168.1.2:8072
DEBUG: start_speaking hook
sherazad: Bonjour
DEBUG: stop_speaking hook
User defined commands:
*AIDE*                  *TU*ETAIS*OU*           *BONJOUR*|*SALUT*
*MERCI*                 *COMMENT*APPELLE*       *AU REVOIR*|*BYE*
ANNULE*|TERMINE*        ENCORE*                 *TEST*
*ETEIN*TELE*            *VERSION*               *REPETE (*) ET (*)
*CA VA*                 >*OUI*|*BIEN*           >*NON*|*PAS*
Commands from plugin jarvis-api:

Commands from plugin jarvis-gmail:
*MAIL*
Commands from plugin jarvis-jeedom:
*
Commands from plugin jarvis-time:
*QUELLE HEURE*          *QUEL JOUR*
Commands from plugin jarvis-ui:
*OUVR*INTERFACE*
Commands from plugin jarvis-weather-wunderground-fr:
*METEO*DEMAIN*          *METEO*
Commands from plugin jarvis-wikipedia:
*DONNE*DEFINITION*DE (*
sherazad: Waiting to hear 'sherazad'
Zak: (listening...)
DEBUG: models=sherazad
INFO:snowboy:Ticks: [-1, -1, -1, -1]
INFO:snowboy:Keyword 1 detected at time: 2018-01-09 16:32:46
DEBUG: modelid=0
sherazad
DEBUG: entering_cmd hook
DEBUG: start_speaking hook
sherazad: oui j'écoute
DEBUG: stop_speaking hook
Zak: (listening...)
DEBUG: start_speaking hook ""
utils/timeout.sh 10 python  recorders/snowboy/main.py 30 /dev/shm/jarvis-record.wav
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
_________|||||||||___INFO:recorder:Ticks status: 9 9 3
DEBUG: speech duration was 10 (10 = 1 sec)
DEBUG: stop_listening hook
DEBUG: {
  "_text" : "quelle heure est-il",
  "outcomes" : [ {
    "confidence" : null,
    "intent" : "default_intent",
    "_text" : "quelle heure est-il",
    "entities" : { }
  } ],
  "WARNING" : "DEPRECATED",
  "msg_id" : "0YeYu7cmXDaOyqE6g"
}
quelle heure est-il
$> $jv_pg_jd_waiting && say "Un instant..."; jeedom_call "$order"
curl --silent --fail --show-error "http://192.168.1.4:80/core/api/jeeApi.php?apikey=4d6lqBdUbppSBOwHFtO02YACaSr1ndcivKqkfOMM1M1PCvwQ&type=interact" --data-urlencode "query=quelle heure est-il"
DEBUG: start_speaking hook
sherazad: Désolé je n'ai pas compris la demande
DEBUG: stop_speaking hook
Zak: (listening...)
DEBUG: start_speaking hook ""
utils/timeout.sh 10 python  recorders/snowboy/main.py 30 /dev/shm/jarvis-record.wav
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
_________|||||||||___INFO:recorder:Ticks status: 9 9 3
DEBUG: speech duration was 10 (10 = 1 sec)
DEBUG: stop_listening hook
DEBUG: {
  "_text" : "est-ce que ça va",
  "outcomes" : [ {
    "confidence" : null,
    "intent" : "default_intent",
    "_text" : "est-ce que ça va",
    "entities" : { }
  } ],
  "WARNING" : "DEPRECATED",
  "msg_id" : "0sSYf5DuE4vee6OJ1"
}
est-ce que ça va
$> say "Très bien et toi ça va?"
DEBUG: start_speaking hook
sherazad: Très bien et toi ça va?
DEBUG: stop_speaking hook
*OUI*|*BIEN*            *NON*|*PAS*
Zak: (listening...)
DEBUG: start_speaking hook ""
utils/timeout.sh 10 python  recorders/snowboy/main.py 30 /dev/shm/jarvis-record.wav
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
__________||||||||||||___INFO:recorder:Ticks status: 10 12 3
DEBUG: speech duration was 10 (10 = 1 sec)
DEBUG: stop_listening hook
DEBUG: {
  "_text" : "oui je vais bien merci",
  "outcomes" : [ {
    "confidence" : null,
    "intent" : "default_intent",
    "_text" : "oui je vais bien merci",
    "entities" : { }
  } ],
  "WARNING" : "DEPRECATED",
  "msg_id" : "0pLSlsgj8h1aHLSp7"
}
oui je vais bien merci
$> say "ravi de l'entendre"
DEBUG: start_speaking hook
sherazad: ravi de l'entendre
DEBUG: stop_speaking hook
Zak: (listening...)
DEBUG: start_speaking hook ""
utils/timeout.sh 10 python  recorders/snowboy/main.py 30 /dev/shm/jarvis-record.wav
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
_________________________________________________________________________DEBUG: stop_listening hook
DEBUG: timeout, end of conversation
DEBUG: listening_timeout hook
DEBUG: exiting_cmd hook
sherazad: Waiting to hear 'sherazad'
Zak: (listening...)
Oliv4945 commented 6 years ago

Salut,

Est-ce que tu pourrais essayer avec un mot simple en 3 syllables plutôt qu'une phrase ?

Je n'ai jamais joué avec les commandes rapides mais:

Oliv4945 commented 6 years ago

Question bête mais qui me fait douter en voyant ta première commande ~/jarvis/stt_engines/snowboy/ressources: normalement il n'y a qu'un s à resources, qu'à tu réellement ?

trarizakaria commented 6 years ago

@Oliv4945 le double 's' ce n'est qu'une faute de frappe, merci pour ton help, et oui j'ai essayé avec des mots en 3 syllabes, et ça correspond à des commandes déjà définis, en attendant que quelqu'un qui a réussi avec les commandes rapides partage son jarvis -nv comme tu as proposé en #15 je crois que dans mon DEBUG: models= devrais apparaître les nouveaux hotwords alors que pour moi c'est juste le hotword principal DEBUG: models=sherazad

wikijm commented 6 years ago

Bonjour @trarizakaria,

Le problème est-il toujours d'actualité ?

trarizakaria commented 6 years ago

@wikijm bonjour, content de vous revoir, oui j'ai toujours le même soucis. je vais essayer une autre installation ce soir et je vous tiens au courant

wikijm commented 6 years ago

OK, super 😃 En espérant que la dernière version d'OpenJarvis puisse résoudre le problème 😉

trarizakaria commented 6 years ago

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

DEBUG: program_startup hook DEBUG: start_speaking hook "Hello" sherazade: Hello DEBUG: stop_speaking hook User defined commands: AIDE TUETAISOU BONJOUR|SALUT MERCI COMMENTAPPELLE AU REVOIR|BYE ANNULE|TERMINE ENCORE TEST ETEINTELE VERSION REPETE () ET () CA VA >OUI|BIEN >NON|PAS sherazade: Waiting to hear 'sherazade' Zak: (listening...) DEBUG: models=sherazade INFO:snowboy:Ticks: [-1, -1, -1, -1]

` je ne trouve pas de réponse pour cette question, est ce que les commandes rapides qu'on a enregistré avec snowboy doivent apparaître dans "DEBUG : models=sherazade" ? car je n'ai que le hotword sherazade qui apparait et qui es reconu, les autre comme "allume la tele" sont bien enregistré et apparaissent dans le dossier ressources,

je viens d'installer la dernière version, mais toujours le même problème. Merci pour votre aide

Oeil2L commented 6 years ago

Bonjour,

J'arrive au même constat que les commandes rapides sont cassées. Ayant eu de gros pb de micros au début j'ai fini par ajouter des hotwords en plus de ceux par défaut.

Les pb de micros se sont améliorés et depuis je sais que la qualité des hotwords ajoutés n'est pas en cause.

Je pense qu'à la mise en place des commandes rapides https://github.com/alexylem/jarvis/issues/15, la possibilité d'enregistrer des hotwords directement depuis jarvis n'était pas possible donc tous les hotwords depuis le dossier ressources de snowboy étaient pris en compte par jarvis.

depuis que l'enregistrement est possible seul le mot indiqué dans l'interface est pris en compte! Actuellement avec jarvis en hotwords, mode debug: DEBUG: models=jarvis

dans les captures de "l'époque" surement avant fonction d'enregistrement depuis l'interface: DEBUG: models=alexa,snowboy

Si on saisie manuellement toutes la liste de hotword contenu dans le dossier ressources, jarvis souhaite nous faire enregistrer un nouvel hotword sous ce "nouveau nom": "jarvis,allumelebar". --> pas bon.

Si on essaye de forcer les hotwords dans le fichier de config: `jarvis/config/trigger'

Plantage de jarvis, il attend un modèle conforme aux noms saisies:

`ERROR: personal model for 'jarvis,allumelebar' not found HELP: Train 'jarvisallumelebar.pmdl' in: HELP: Settings > Voice Recognition > Snowboy settings > Train HELP: Or change your hotword to default model 'snowboy' in: HELP: Settings > General > Magic word

DEBUG: program_exit hook Stopping HTTP server ` En espérant que ça aide ceux qui ont le savoir pour corriger le problème.

Merci beaucoup

trarizakaria commented 6 years ago

@Oliv4945 @wikijm @alexylem merci @Oeil2L pour les détails que tu as ajouté, j'espère qu'on aura de l'aide dans le plus proche possible, car j'ai hâte de faire un article sur jarvis dans mon blog :) oui les gars 😄 j'ai un blog, et j'ai commencé à mettre un peu de contenu, http://opendomotech.com

sajov commented 6 years ago

Hello, any news? it seems like i have the same issue `------------ Config ------------ jv_branch master jv_version jv_arch armv7l jv_os_name raspbian jv_os_version 9 language de_DE play_hw hw:2,0 rec_hw hw:0,0 speaker ROCCAT microphone Logitech, Inc. Webcam C270 recorder sox trigger_stt snowboy command_stt bing tts_engine svox_pico

DEBUG: program_startup hook Starting RestAPI server on http://192.168.0.42:8080 Starting User Interface on http://192.168.0.42:8081 User defined commands: jarvis magda: Waiting to hear 'magda' diver: (listening...) DEBUG: models=magda ` openJarvis/stt_engines/snowboy/resources/magda.pmdl openJarvis/stt_engines/snowboy/resources/jarvis.pmdl Both hotwords act like a hotword

@alexylem, i cant get it work as described in #15 how to do Au lancement de jarvis, initialiser snowboydecoder avec le trigger + tous les pmdl? thank you very much

sajov commented 6 years ago

Any news? Thx

ArnoCtout commented 5 years ago

Bonjour,

J'ai installé Jarvis la semaine dernière. Ayant le même problème avec les commandes rapides, j'ai parcouru le forum à la recherche d'une solution sans vraiment de résultat. En fouillant dans le code j'ai trouvé ! La solution est dans le main.sh de snowboy

Limit model to trigger one

if [ -n "$2" ]; then
    models=("${snowboy_trigger_models[@]}")
    smodels="$snowboy_trigger_smodels"
fi

il suffit de commenter ces lignes pour que snowboy fonctionne avec les fichiers enregistrés dans son repertoire /ressources.

Resultat en jarvis debug : Nano: (listening...) DEBUG: models=alexa,au revoir,bonjour,ca va,eteind la tele,jarvis,merci,oui,snowboy .....

En espérant vous avoir aidé avec les commandes rapides....

Oliv4945 commented 5 years ago

Merci @ArnoCtout .

@alexylem : Do you remember why you add such limitation ?

@sajov ArnoCtout find that commenting the lines in main.sh helped to use the rapid commands, if you want to try ;)

sajov commented 5 years ago

@ArnoCtout @Oliv4945 Thank you guys for your help! It woks so far but i got WARNING: Quick commands are ignored if STT for commands is snowboy Then i changed following

   # empty order to consider as not recognized
   # order=""
    bypass=true

Now my commands working PLAY==say "start Music" MAIL==say "Check Mails"

But i am confused about the Warning and the order="". I'am not shure if i understand this feature

gesnaud commented 4 years ago

Bonjour,

J'ai installé Jarvis la semaine dernière. Ayant le même problème avec les commandes rapides, j'ai parcouru le forum à la recherche d'une solution sans vraiment de résultat. En fouillant dans le code j'ai trouvé ! La solution est dans le main.sh de snowboy

Limit model to trigger one

if [ -n "$2" ]; then
    models=("${snowboy_trigger_models[@]}")
    smodels="$snowboy_trigger_smodels"
fi

il suffit de commenter ces lignes pour que snowboy fonctionne avec les fichiers enregistrés dans son repertoire /ressources.

Resultat en jarvis debug : Nano: (listening...) DEBUG: models=alexa,au revoir,bonjour,ca va,eteind la tele,jarvis,merci,oui,snowboy .....

En espérant vous avoir aidé avec les commandes rapides....

Hello,

Merci ça fonctionne nickel maintenant! Dommage que ce ne soit pas patché? On peut faire un pull request?