alexylem / jarvis Goto Github PK
View Code? Open in Web Editor NEWJarvis.sh is a simple configurable multi-lang assistant.
Home Page: http://openjarvis.com
License: MIT License
Jarvis.sh is a simple configurable multi-lang assistant.
Home Page: http://openjarvis.com
License: MIT License
voila je voulais savoir si c'était possible d'executer plusieurs commande en une seul phrase par exemple :
MOI: "allume la lampe et allume la ventlation"
JARVIS: "ok"
(et il fait les deux commandes)
en structure ça pourrait donner :
(*) ET (*)==
mais cette structure et aussi utilisé pour les envoie de message ou la répétition d'un mot donc du coup est-ce possible ?
En mode keyboard, des lignes vide s'affichent à la console
Alex: quelle heure
jarvis: il est 21:41
jarvis:
Alex: merci
jarvis: De rien
jarvis:
Alex:
Si en mode troubleshooting vous rencontrez cette erreur en utilisant snowboy
c'est que votre micro est en erreur. Même problème que #12 et #6 donc mêmes solutions:
Rébrancher et rebrancher le micro, puis relancer Jarvis.
pkill jarvis.sh # exit jarvis
lsusb # identify Bus XXX Device YYY of your mic
sudo ./usbreset /dev/bus/usb/XXX/YYY # with XXX and YYY from above
Bonjour Alex ,
Déjà bravo pour ton projet et le développement qui est derrière.
Je pense pour la fonction de synthèse du pourrais implanté SVOX Pico TTS qui est aussi gratuit et plein plus approfondie que Google API Key niveau commande vocal
apt-get install libttspico-utils
En effet il sort le son en fichier wav , mais avec un fichier script pour le lire en mémoire tampon qui se supprime après la lecture.
pico2wave -l fr-FR -w jarvis.wav "Hello Wordl"
création d'un fichier
exemple vocal.sh
pico2wave -l fr-FR -w /tmp/test.wav "$1"
aplay -q /tmp/test.wav
rm /tmp/test.wav
Le fichier .wav est créé de façon temporaire, lu, puis supprimé. $1 représente la phrase que vous passerez en paramètre sur la ligne de commande.
Rendez le programme exécutable.
sudo chmod 755 vocal.sh
voilà en gros j'espère que sa peux donner une indication dans la fonction vocal . pour la reconnaissance effectivement il y pas grand chose à part PocketSphinx ou GOOGLE API KEY , affaire à suivre.
Dante
Bonsoir,
Je me posais la question est ce que ce serai possible de mettre le dictionnaire de pocket shpinx ailleurs que sur la raspberry pi on pourrait ainsi mettre plus de vocabulaire et ne plus utiliser google qui limite le nombre de requête.
Sinon super taff bravo 👍
Cordialement
concernant le problème de MIC que je t'ai reporté, en fait si tu sors du mode conversation par toi même par annulé , tout va bien,
mais si après la dernière commande tu ne dis rien , on obtient toujours l'erreur : rec FAIL formats: can't open input `hw:1,0': snd_pcm_open error: Device or resource busy
ERROR: rec command failed
Patrick
$> ./jarvis.sh -b
$> pgrep -af jarvis.sh
6193 /bin/bash ./jarvis.sh -n
$> top
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6263 pi 20 0 31328 12280 8524 S 5.6 1.4 0:04.51 python
$> pkill -f jarvis
$> pgrep -af jarvis.sh
(no process)
$> top
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6263 pi 20 0 31328 12280 8524 S 6.0 1.4 0:08.05 python
Problème: relancer Jarvis va accumuler des process python
(pour snowboy
), solliciter de plus en plus le CPU et mettre en échec le micro.
Lorsque le paramètre all_matches (Settings > General) est à true
, Jarvis affiche toujours "Je ne comprends pas: ..." après la ou les commandes exécutées.
Alex: test
jarvis: Ca fonctionne!
jarvis: Je ne comprends pas: test
CA VA==say "et et toi?"
*OUI*==say "ravi de l'entendre"
*NON*==say "j'en suis navré"
Ce qui peut être drôlement utile pour les demandes complexes
AJOUTE A LA LISTE DE COURSE*==say "que dois-je ajouter à la liste de courses?"
(*)==./add_to_list "(1)" && say "Ok"
Bonjour,
je suis respi 3.
Je n'arrive pas a declancher Jarvis en mode vocale.
En mode text pas de souci
avec snowboy ou pocketsphinx c idem.
mon micro fonction la fonction rec enregistre sans souci
L'install est a été faite a plusieur reprise ainsi que les update des differents modules
Merci
Voici l'erreur :
------- Config (verbose) -------
platform linux
language fr_FR
play_hw hw:0,0
rec_hw hw:1,0
trigger_stt snowboy
command_stt google
tts_engine svox_pico
google_speech_api_key AIzaSyCLZwgDEKrHBU77Qes0Ufcs4CC********
--------------------------------
snowboy: Bonjour fredde
snowboy: Waiting to hear 'snowboy'
fredde: (listening...)
ERROR (Input():snowboy-io.cc:266) Fail to open input file "stt_engines/snowboy/resources/snowboy.pmdl"
terminate called after throwing an instance of 'std::runtime_error'
what(): ERROR (Input():snowboy-io.cc:266) Fail to open input file "stt_engines/snowboy/resources/snowboy.pmdl"
[stack trace: ]
/home/pi/jarvis/stt_engines/snowboy/_snowboydetect.so(_ZN7snowboy13GetStackTraceEv+0x34) [0x76760b6c]
/home/pi/jarvis/stt_engines/snowboy/_snowboydetect.so(_ZN7snowboy13SnowboyLogMsgD1Ev+0x4b8) [0x767611ac]
/home/pi/jarvis/stt_engines/snowboy/_snowboydetect.so(_ZN7snowboy5InputC1ERKSs+0x264) [0x76755d08]
/home/pi/jarvis/stt_engines/snowboy/_snowboydetect.so(_ZN7snowboy14PipelineDetect14ClassifyModelsERKSsPSsS3_+0x1ec) [0x76745d54]
/home/pi/jarvis/stt_engines/snowboy/_snowboydetect.so(_ZN7snowboy14PipelineDetect8SetModelERKSs+0x48) [0x76746154]
/home/pi/jarvis/stt_engines/snowboy/_snowboydetect.so(_ZN7snowboy13SnowboyDetectC1ERKSsS2_+0x94) [0x7673c8e0]
/home/pi/jarvis/stt_engines/snowboy/_snowboydetect.so(+0x180a8) [0x7673b0a8]
stt_engines/snowboy/main.sh : ligne 40 : 5079 Abandon python stt_engines/snowboy/main.py stt_engines/snowboy/resources/snowboy.pmdl
ERROR: snowboy recognition failed
Proposer une option pour démarrer Jarvis (en mode service) au démarrage.
voila : puisque que j'utilise pas jarvis en mode "écran", j'aimerais que jarvis me lise une page internet (pas des truc compliqué genre jarvis n'aura que quelque fonctions comme définition "..." et jarvis fera la recherche et lira la def... ce genre de trucs), moi en mode "écran" (parceque j'ai 2 raspi) je fais cette commende :
RECHERCHER()==say "ok" && firefox (1)
et ça me fait la recherche de la page... mais ça n'est pas vraiment ça que je veux.... ce serait juste une définitions ou un résumé d'une petite recherche...
est-ce possible ?
merci
Nouveau bug du à la correction de #6
C'est lié au de l'utilisation de l'option -n
de wait
qui n'est disponible à partir de la version 4
de bash
. Sur Mac bash
est en version 3
, vérifier avec:
$> bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin15)
Copyright (C) 2007 Free Software Foundation, Inc.
First of all, awesome writeup here!
https://github.com/alexylem/jarvis/wiki/stt
In https://snowboy.kitt.ai/docs there is the "Multiple Models and Callbacks" section detailing how to use it. So I think a more accurate version of "1 Mot" should be the French version of "Several". ;-)
Proposé par Physicien:
Pour finir, en jouant un peu dans les settings de Jarvis sur ma RP3, je me suis demandé s'il est envisageable d'ajouter une 4e option au choix de STT engine, soit l'option de faire appel à un serveur pocketsphinx sur un PC de l'utilisateur. Je lance l'idée, car ça revient à utiliser un serveur comme celui de Google ou de Wit(Facebook), mais sans les problèmes de respect de la vie privée.
voila c'est asser compliqué... en fait j'ai récemment crée un script qui me permet de lancer une seul et unique commande après un certain temps :
*DANS (*) EXTINCTION*== ./extinction.sh (1)
le script :
#!/bin/bash
./jarvis.sh -s "d'accord"
echo "1 : $1"
delai=$1
echo "delai : $delai"
compte=$[delai*60]
echo "compte : $compte"
sleep $compte
./jarvis.sh -s "ok" && cd /home/pi && sudo ./src/chacon-rpi/emit -d 0136CA46 -b A1 -x && sudo ./src/chacon-rpi/emit -d 0136CA46 -b A2 -x && sudo ./src/chacon-rpi/emit -d 0136CA46 -b A3 -x && cd /home/pi/jarvis
mais voila je voudrais faire plusieurs scipt dans ce gnere et je me vois pas créer 10scipts (même en copier coller) pour executer une commande chacune donc c'est pour savoir si il était ps possible de rajouter une option -... a jarvis ou je ne sais quoi qui permettent de lancer une commande stocké dans une variable....
je sais pas si je suis très clair...
voila tout est dit dans le titre : chaque fois que je lance ./jarvis.sh dès que la reco vocale est censé commancer jarvis me dis :
pi@raspberrypi ~/jarvis $ ./jarvis.sh
Checking for updates...[Up-to-date]
LEIA: Bonsoir rèmjou
LEIA: Waiting to hear 'LEIA'
rèmjou: stt_engines/google/main.sh: ligne5: /dev/shm/jarvis-order: Permission non accordée
et la partie
rèmjou: stt_engines/google/main.sh: ligne5: /dev/shm/jarvis-order: Permission non accordée
se répète plusieurs fois d'affilé
du coup je dois le lancer en sudo... que faire ?
Erreur rencontrée durant l'installation automatique de snowboy
:
E: Impossible de trouver le paquet python3-pyaudio
OS utilisé: wheezy
(OK sur Jessie
)
@remjou1
Après avoir collecté plusieurs phrases (toujours en cours, il y a beaucoup à faire) du maître d’hôtel d'une sitcom (une nounou d'enfer), j'ai pensé qu'il pouvait être intéressant d’intégrer ces voix au concept de domotique ou du moins de reconnaissance vocal.
Quelques-unes de ses phrases possèdent des intonations légèrement différentes mais signifient quasiment la même choses (liste non exhaustive de la banque) :
Et encore il bien d'autre phrase assez intéressante dans le contexte. Je pense qu'il y a de quoi reconstituer des mots avec un minimum de traficotage de la bande sonore (ce dont je suis capable) mais les intonations du personnage sont vraiment intéressantes et diverses, je pense qu'il serait intéressant de garder les phrase "telle quelles sont"
Pour bien faire, comme vous l'avez supposez, un choix aléatoire de ces documents pourrait-être envisageable :
Ce genre de chose peut-être envisageable. (Même si on peut customiser et donner un sens précis à chacune de ces phrases).
Avantage quant à la sélection aléatoire :
Désavantage ;
/// C'est la première fois que je publie sur GitHub, j'ai fais en quelque sorte une présentation du projet, je ne sais pas si c'est ce qu'il faut faire, j'imagine ça comme un cahier des charges ? ///
Pour aider les investigation
j'aimais bien la possibilité de modifier le gain du micro dans ta présentation.
Patrick.
Aujourd'hui Jarvis supporte PocketSphinx pour la reconnaissance du mot clé "Jarvis" (uniquement).
Le dictionnaire utilisé est très limité (100 mots) car il est limité par la puissance du Raspberry Pi 1, et il ne fonctionne qu'avec le modèle de lange anglophone (d'ou le fait que la reconnaissance de "Jarvis" fonctionne mal).
J'ouvre ce ticket pour tester le dictionnaire Français et son modèle de langue et voir s'il peut fonctionner sur Raspberry Pi 3 (bien plus puissant que Raspberry Pi 1).
Voici les pages que j'utilise:
https://doc.ubuntu-fr.org/pocketsphinx
https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/French/
Si vous arrivez à faire fonctionne PocketSphinx en standalone en Français sur Raspberry Pi, merci de partager votre démarche!
Alex.
voila en fait j'ai une api qui me permet de m'envoyer des notifications pas sms... je l'utilise en events mais je voudrais éventuellement envoyer un sms vocalement (parce que c'est cool :) ) mais apparement il faut mettre un mot entre deux variable.... c'est embetant je me vois pas dire :
"dis et a et ma et femme et que et je et vais et rentrer"
bref t'as compris c'est embetant... une solution ?
Depuis la dernière mise à jour
LEIA: Waiting to hear 'LEIA'
rèmjou: ./timeout.sh: 54: ./timeout.sh: -V1: not found
et
jarvis: Bonjour Monsieur
jarvis: Waiting to hear 'jarvis'
Monsieur: (listening...)
./timeout.sh: 54: ./timeout.sh: -V1: not found
ERROR: rec command failed
HELP: Verify your mic in Settings > Audio > Mic
Hello, je viens de tomber sur un nouveau moteur de synthese vocale Ivona Speech Could.
Démo ici:
https://www.ivona.com/us/
Documentation ici:
http://developer.ivona.com/en/speechcloud/introduction.html
Moi il ne me motive pas trop car je prefere fonctionner en local, mais le resulat est pas mal, voix masculine et feminine, peu de latence, en fait tu streames le resultat, mais oblige d'etre connecte.
Aeliss
j'ai eu une idée quand, avec mon bouton, j'ai lancé une commande : en fait j'ai raté ma commande et j'ai du attendre 10sec avant de la re-éssayé... ne serait-il pas possible d'ajouter un menu ou je ne sais quoi qui nous demande quelle durée d'attente nous voulons ?
Quitter Jarvis après une longue période en mode service:
pi@jarvis:~/jarvis $ ./jarvis.sh
Checking for updates...[Up-to-date]
./jarvis.sh: line 359: kill: -: arguments must be process or job IDs
./jarvis.sh: line 359: kill: (6794) - No such process
Pourtant 6794
est bien le bon group id.
Salut,
D'abord bravo à toi jarvis est vraiment génial. mon idée d'amélioration et de lui faire dire quelque chose ou bien autre chose en alternant parfois exemple :
Question : "Quelle est la couleur du cheval blanc d'henry IV ?"
réponse 1 : "Blanc"
réponse 2 : "c'es blanc évidement"
...
Bonne continuation
Thomas
Bon j'ai rien teste encore, mais avant que j'oublis, moteur de bing/microsoft
https://www.microsoft.com/cognitive-services/en-us/speech-api
5,000 transactions per month for free.
Failed ininstallation with the folowintn error
The program is looking for "Translation-en" but in the repo we only have Translation-en.gz and Translation-en.xz in
http://ports.ubuntu.com/dists/xenial-backports/restricted/i18n/
E: Failed to fetch http://ports.ubuntu.com/dists/xenial-backports/restricted/source/Sources Empty files can't be valid archives
E: Failed to fetch http://ports.ubuntu.com/dists/xenial-backports/universe/source/Sources Empty files can't be valid archives
E: Failed to fetch http://ports.ubuntu.com/dists/xenial-backports/multiverse/source/Sources Empty files can't be valid archives
E: Failed to fetch http://ports.ubuntu.com/dists/xenial-backports/restricted/binary-armhf/Packages Empty files can't be valid archives
E: Failed to fetch http://ports.ubuntu.com/dists/xenial-backports/restricted/i18n/Translation-en Empty files can't be valid archives
E: Failed to fetch http://ports.ubuntu.com/dists/xenial-backports/universe/binary-armhf/Packages Empty files can't be valid archives
E: Failed to fetch http://ports.ubuntu.com/dists/xenial-backports/universe/i18n/Translation-en Empty files can't be valid archives
E: Failed to fetch http://ports.ubuntu.com/dists/xenial-backports/multiverse/binary-armhf/Packages Empty files can't be valid archives
E: Failed to fetch http://ports.ubuntu.com/dists/xenial-backports/multiverse/i18n/Translation-en Empty files can't be valid archives
E: Some index files failed to download. They have been ignored, or old ones used instead.
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/ports.ubuntu.com_dists_xenial-backports_main_binary-armhf_Packages
E: The package lists or status file could not be parsed or opened.
DEBUG: speech duration was 100 (10 = 1 sec)
DEBUG: too long for a trigger (min 0.5 max 1.5 sec), ignoring...
rec -V1 -q -r 16000 -c 1 -b 16 -e signed-integer --endian little jarvis-record.wav silence 1 0.5 1% 1 0.5 1% trim 0 10
Bon j'ai pas teste non plus vu que c'est inutilisable pour moi le code est en python.
https://github.com/bishoph/sopare
question peut être conne mais je souhaite a la manière de Jasper, lancer un fichier .py en fonction de la commande vocale.
super projet, ton outils offre de nombreuses possibilités.
Bonjour,
Tout d'abord merci pour tout ce bon boulot sur ce Jarvis. Très intéressant !!!
J'ai essayé de réinstaller tout sur une nouvelle image de Raspbian Jessie. J'ai update et upgrade puis re-installer Jarvis (utilisation de snowboy). Quand je déroule l'install, je suis bloqué au niveau du micro (qui est une webcam C170).
J'ai ce message d'erreur
**** List of CAPTURE Hardware Devices ****
card 1: C170 [Webcam C170], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
Indicate the card # to use [0-9]: 1
Indicate the device # to use [0-9]: 0
./jarvis.sh: line 192: update_alsa: command not found
rec FAIL formats: can't open input `default': snd_pcm_open error: No such file or directory
play FAIL formats: can't open input file `jarvis-reco rd.wav': No such file or directory
true
Pourtant j'ai bien choisi la bonne card et device...
La cam fonctionne bien sur un PC.
Merci pour ton aide
Nico
Surprise surprise, après une bonne grosse journée de travail j'ai réussi (à une petite erreur de path près) à configurer Kaldi en ASR qui accepte de recevoir des fichiers en .wav
pour les décoder.
Pour ce qui est de l'installation, très facile si on suit les instructions.
Pour ce qui est du online decoding, il y a un exemple fonctionnel ici (à retravailler et adapter à un meilleur model)
ATTENTION: utilisateurs avancés seulement (et avec pas mal de CPU/GPU)
Pour ce qui est de la génération ou l'amélioration d'un décodeur, voici une excellent petit guide. Ça permet également de comprendre comment utiliser le modèle anglo librispeech
. kaldi_for_dummies.pdf
Je compte également m'inspirer de ce petit guide et de l'article suivant afin de générer un décodeur francophone, à suivre...
2015_icassp_librispeech.pdf
Hi Alex,
good job for your project,
just a quick comment, would it be possible to have before the automatic update an idea of its content
kind regards
patrick
alors voila pour des test j'aurai besoin d'une option (en -quelque-chose ou dans le menu de lancement) qui permettrai de zapper la reco du mot magique... un peu comme l'option -l pour le bouton mais ça permettrais de voir ce qu'il ce passe sur l'écran
Cette erreur (non bloquante) s'affiche même en mode normal
pi@raspberrypi ~/jarvis $ ./jarvis.sh
Checking for updates...[Up-to-date]
JARVIS: Bonsoir rèmjou
JARVIS: Waiting to hear 'JARVIS'
rèmjou: rec WARN alsa: can't encode 0-bit Unknown or not applicable
#rec WARN alsa: can't encode 0-bit Unknown or not applicable
#rec WARN alsa: can't encode 0-bit Unknown or not applicable
Jarvis
JARVIS: Oui?
rèmjou: rec WARN alsa: can't encode 0-bit Unknown or not applicable
En mode troubleshooting:
pi@raspberrypi ~/jarvis $ ./jarvis.sh
.Checking for updates...[Up-to-date]
------- Config (verbose) -------
platform linux
language fr_FR
play_hw hw:0,0
rec_hw hw:1,0
trigger_stt google
command_stt google
tts_engine google
google_speech_api_key AIzaSyCkm-GdMfQhH6m0P5B4-YL2Y6kZvHx2o2M
--------------------------------
JARVIS: Bonsoir rèmjou
JARVIS: Waiting to hear 'JARVIS'
rèmjou: (listening...)
rec WARN alsa: can't encode 0-bit Unknown or not applicable
DEBUG: speech duration was 25 (10 = 1 sec)
DEBUG: too long for a trigger (min 0.5 max 1.5 sec), ignoring...
rec WARN alsa: can't encode 0-bit Unknown or not applicable
DEBUG: speech duration was 25 (10 = 1 sec)
DEBUG: too long for a trigger (min 0.5 max 1.5 sec), ignoring...
rec WARN alsa: can't encode 0-bit Unknown or not applicable
DEBUG: speech duration was 22 (10 = 1 sec)
DEBUG: too long for a trigger (min 0.5 max 1.5 sec), ignoring...
rec WARN alsa: can't encode 0-bit Unknown or not applicable
DEBUG: speech duration was 22 (10 = 1 sec)
DEBUG: too long for a trigger (min 0.5 max 1.5 sec), ignoring...
rec WARN alsa: can't encode 0-bit Unknown or not applicable
DEBUG: speech duration was 15 (10 = 1 sec)
DEBUG: {"result":[]}
{"result":[{"alternative":[{"transcript":"Jarvis","confidence":0.79562902},{"transcript":"jarvis"},{"transcript":"service"},{"transcript":"Service"},{"transcript":"Services"}],"final":true}],"result_index":0}
Jarvis
$> bypass=true; say "Oui?"
JARVIS: Oui?
rèmjou: (listening...)
rec WARN alsa: can't encode 0-bit Unknown or not applicable
voila mon idée est toute simple : enregistrer une phrase complète dans un variable...
Bien sûr il y a la solution :
*ENVOIE A (*) QUE (*) ET (*)==...
mais ce n'est pas ce que je veux car je voudrais dire une phrase sans avoir une structure pariculière...
Je me demandais si il était possible de faire
MOI:"envoie un mail"
(une fenêtre d'enregistrement s'ouvre et je peu dire mon texte jusqu'a ce que je ne dise plus rien un peu a la manière de la vérification de micro...)
Cette erreur se produit de temps en temps lorsque rec
est relancé à chaque fois que le mot clé n'est pas reconnu. rec
tourne ainsi "en boucle" et il arrive qu'il se bloque:
Alex: ##-HEYGOOD##HEY EYE#-#GOODGOOD?SEE?###GOOD#rec FAIL formats: can't open input `hw:1,0': snd_pcm_hw_params error: Input/output error
ERROR: rec command failed
Le symptôme est similaire à #6 mais l'erreur est légèrement différente. Alors que dans #6 cela semble être lié au kill
utilisé pour interrompre rec
, dans le cas présent, ce sont les plugins silence
et trim
de sox
qui sont utilisés pour interrompre automatiquement l'enregistrement.
J'utilise le Blue Yeti.
2 possibilités pour débloquer le problème:
pkill jarvis.sh # exit jarvis
lsusb # identify Bus XXX Device YYY of your mic
sudo ./usbreset /dev/bus/usb/XXX/YYY # with XXX and YYY from above
Lorsque le conversation_mode
est mis à false
, la conversation ne s'arrête pas après la première commande.
Il serait intéressant d'avoir un certain nombre de commandes de base dans le cas où la connection à un serveur distant serait coupée.
Pour certaines fonctions de très bas niveau, je ne pense pas qu'il soit nécessaire de passer par un serveur distant. Exemple: si je dis « Bye » dans le but de quitter Jarvis, ou encore si j'ai un thermomètre de branché à ma Pi et que je veux savoir la température qu'il fait dans la pièce.
Un hotword pour rediriger vers le STT distant (Google, Wit ou PocketSphinx sur PC) et certaines commandes de base.
JARVIS
=> Trigger pour passe en mode écoute commandes avec google
ou wit
ALLUME BAR
=> Commande rapide (écoute permanente, action directe)TEMPERATURE PIECE
=> Commande rapide (écoute permanente, action directe)Possible d'ajouter un .title() pour que le nom de mon interlocuteur électronique commence par une majuscule (voir la capture)? Sinon, j'aimerais au moins savoir où c'est dans le code afin de faire cette modification purement esthétique.
@physicien
Depuis quelques jours, je suis confronté au problème suivant: lorsqu'il y a trop de bruit de fond, Jarvis crash tout simplement. Afin d'isoler le problème, j'ai expérimenté plusieurs situations (détecteur de mot clé, STT engine, avec ou sans bruit de fond et différentes intensités de bruit de fond) et bonne nouvelle, Snowboy fonctionne peu importe le bruit, il faut simplement augmenter le delta dB s'il ne comprend pas (donc parler plus fort).
Le problème vient donc après la reconnaissance du hotword. Les messages d'erreurs semblent aussi confirmer que c'est à l'enregistrement du fichier .wav
que survient le bug.
Pistes de solutions:
P.S.: La dernière solution est faisable, mais ça me prendrait un peu de temps.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.