Çà fait un ptit moment que je promet la sortie d’un nouveau client de reconnaissance/synthèse et interface vocale pour Yana.
Voilà un ptit moment que je le teste à fond avec deux trois alpha testeurs et bien qu’il ne soit pas encore 100% stable et aboutis, je me sent l’obligation de partager la bêta avec vous voir ce que vous en pensez.
Concrètement les plus de Yana4All c’est quoi ?
Plus stable, plus souple
Le programme étant divisé en trois binaires ayant chacun une fonction (écoute, synthèse, et interface graphique) les tâches sont mieux réparties, il est possible d’utiliser deux fonctionnalités sur les trois, ou même une seule afin d’alléger encore le processus en fonctions de vos besoins.
Plus réactif, plus omniprésent
Les binaires étant relié au serveur par socket (et non plus par http comme autre fois) les échanges se font de manière bi-latérale (ex: php peux dicter une phrase ne temps réel a l’un des clients) et instantanée, de plus il est possible de multiplier les binaires en fonction de la configuration que vous souhaitez, vous pouvez par exemple placer une synthèses ou une reconnaissance dans chaque pièces, un client transmettant l’identifiant de sa pièce, il vous est alors possible de parler dans le salon et pas ailleurs, ou de reconnaître que la phrase vient de la cuisine.
Plus customizable
La partie interface graphique est entièrement en html5/css3/javascript, si vous êtes a l’aise avec le développement web vous pouvez donc la modifier et lui donner le visage de vos envie en utilisant les fonctions d’api a votre disposition.
Plus à l’écoute
Vous pouvez maintenant dicter des mots libres en fin de commande ex : yana définit le mot “<placez votre mot ici>”
Les plugins compatibles
La syntaxe des plugins pour utiliser yana4all varie légèrement, aussi la plupart des plugins actuels ne sont pas compatibles, vous pouvez cependant regarder les phrases d’exemples disponibles dans vocalinfo (yana définit le mot <mot>, yana montre toi, yana énerve toi, yana lance le programme etc…)
J’essaierais de sortir un plugin 100% voué au client 2 avec une doc claire dans un second temps.
Installation
Coté serveur, commencez par mettre yana-server à jour
cd /var/www/html/yana-server (ou /var/www/yana-server en fonction de votre version d'apache) git pull
Puis lancez manuellement le serveur socket (un lancement automatique viendra dans le futur)
php /var/www/yana-server/socket.php
(ou /var/www/yana-server/socket.php en fonction de votre version d'apache)
Si la commande php n’est pas reconnu, installez php-cli
sudo apt-get install php5-cli
Si tout s’est bien passé, le message suivant devrait apparaître
Une fois le serveur lancé ne fermez pas la console, cela l’éteindrais, pour une utilisation plus permanente du serveur, vous pouvez créer un cron lançant le serveur en tâche de fond au démarrage.
Coté client, téléchargez yana4all beta 0.1 ici et dé-zippez le.
Lancez l’exécutable situé dans bin/launcher.exe et suivez les instructions
Lancez ensuite les différentes icônes du launcher, notez bien que les trois binaires sont regroupés dans le même dossier mais qu’ils peuvent fonctionnez en étant dissocié et sur des postes différents tant que vous associez un fichier conf.json correctement configuré a chaque binaire.
En lançant les applications vous devriez voir ça :
Interface (face.exe)
Reconnaissance (ear.exe)
Synthèse (mouth.exe)
Coder avec ça
En attendant une doc un peu plus conséquente, vous pouvez vous fier aux exemples du plugin vocalinfo ainsi qu’au billet Work in progress pour avec quelques bout de codes compatibles avec le nouveau client.
N’hésitez pas à me faire vos retours de bugs/features sur le github ma boite et les commentaires du blog étant totalement submergés de vos messages je ne peux plus répondre rapidement dessus 🙂
Prochaine étape
Je suis en train de porter le programme sur windows Iot (windows pour raspberry pi) de manière a se passer intégralement de pc.
😀 <3 😀 <3
Top ce client ! j'ai poussé les essais de reconnaissance vocale vue l'heure et que tout le monde dort dans la maison mais franchement ça a l'air de réagir bien mieux qu'avant. Hâte de tester ça avec le poste qui sera dédié au client et mon micro blue
Chapeau bas en tout cas 🙂
Ça a l’air vraiment sympa, j’ai pas regardé au niveau du code mais fonctionnellement parlant ça semble cool. Je vais matter le code ça pourrais m’inspirer 😉
Au niveau du client il semble codé en cpp, pourquoi pas tenter un client à base d’electron ? ça permettrais d’avoir des techno js/html5/css comme pour la partie web et surtout d’avoir du crossplatform assez simplement.
Beau boulot en tout cas 🙂
En réalité c’est du C# pour ear.exe et listen.exe, seul face est a base de node.
J’ai voulu encapsuler face dans un exe via nodewebkit (qui semble faire a apeu près le même taff qu’electron) mais grosses pertes de performances sur le rendu des animations javascript du coup je suis resté sur un nodejs + navigateur standard
Salut Idle!
Super pour ce nouveau Yana! J’ai bien envie de tester ça mais pas de Windows, je vais lancer une machine virtuelle mais du coup j’aurai voulu savoir quelle est ta config? Genre version de Windows, dépendances net framework ou quoi si y’a. Merci bien =)
Courage pour la suite!
Windows vista minimum avec synthèse/reco vocale présente (ce qui est le cas sur toutes les versions non allégées), coté framework je l’ai pas en tête mais théoriquement ça devrait fonctionner en natif sur vista, seven, 8 et 10.
Pour l’installation de php-cli, il faut taper apt-get install php5-cli apparemment…
J’essaye de suivre ton tuto, par contre pas de fichier socket.php dans le dossier yana-server, malgré la mise à jour…en même temps cela doit faire une année que je n’ai pas touché au Pi, je pense que je vais refaire une installation complète!
Merci pour tes tutos en tout cas, vraiment intéressant de te lire!
Il est pourtant bien sur le dépôt git (https://git.idleman.fr/idleman/yana-server), as tu fait un git pull une fois situé dans le répertoire du projet ? Le git pull a t’il été résolu sans conflit ? 🙂
Est il obliger d’utiliser sur des machines en local?
Je ne comprends pas.
Salut tout le monde,
Je suis novice dans le monde de la programmation et j’ai tant bien que mal essayé d’installer YANA mais je suis bloqué après l’installation…
J’ai installer yana depuis https://git.idleman.fr/idleman/yana-server
une fois installer il me demande le login, le passeword, etc … je remplis les case correspondante et clic sur installer et la c’est le drame… il me vient plein de message d’erreur en lien un scren shot de mon problème :
http://imageshack.com/a/img910/3241/rZ9p4n.jpg
Je ne comprend pas ce que je doit modifier dans /var/www/yana-server/
ou j’ai fait quelque chose de faux et je ne devrais pas avoir cette page ?
Merci de votre aide 😉
Visiblement tu as un problème d’espace disque insuffisant, ce qui expliquerais que le fichier constant.php ne se créé pas ce qui explique les constantes introuvables et donc le message d’erreur. Vérifie que ça ne viens pas de là.
Extra merci pour ton aide,
J’ai réinstaller le tout sur une carte SD avec plus d’espace et ça fonctionne à merveille.
Merci Idleman et bravo pour ton travail c’est un boulot phénoménal 😉
A+
Avec plaisir 🙂
J’installe Yana sur un Pi, et quand il me demande de cliquer sur le lien (http://raspi.local/yana-server), il me redirige vers http://raspi.local/var/www/yana-server/install.php, mais il marque 404- Not Found. Pourquoi ne trouve t-il pas la page ?
Bonjour Idle !
Tout d’abord, merci du nouveau client, il a l’air fonctionnel et plus joli ^^
Cependant, je rencontre un petit problème, apparemment le client n’arrive pas à se connecter au serveur, avec le socket.php exécuter sur le serveur bien sur :
http://img15.hostingpics.net/pics/498765pbyanasocket.png
Merci d’avance !
Salut Tim, histoire de concentrer les réponses en un seul endroit, peux tu créer un ticket sur le dépot github ? Je t’y répondrais.
Salut Idle !
Encore toutes mes félicitations et remerciements pour ton travail titanesque !
Petite question pour la version de Yana4All que tu développes pour Windows IoT : Tu coupleras le client et le serveur sur un seul Raspberry (et donc recoder tous les plugins Xo ) ou il faudra avoir un Raspberry-serveur sous Raspbian et un Raspberry-client sous Windows IoT ?
As-tu eu une idée de la release date ? 🙂
Bonne continuation en tout cas !!
Les deux sont possible serveur et client sur le rpi iot ou uniquement client sur iot et serveur sur raspian.
On devrais également pouvoir faire en sorte de porter yana-server sur iot sans besoin de recoder quoique ce soit, étant donné que c’est du web c’est assez facile a porter sous tous types d’os.
En ce qui concerne la date de release, pas la moindre idée :), ya pas mal de maille
Salut Idleman,
Un grand bravo pour tes développements que je suis (de loin, je l’avoue) depuis son début.
Comme je suis expert C# les modules ‘ear’ et ‘listen’ ont excité ma curiosité. Mais a mon grand désespoir impossible de trouver les sources.
Elles seront disponibles un jour ? Apres je comprends c’est dur de montrer son BB comme ça.
Par contre si tu as trop de charge au niveau dev/ revue de code …
doods
Bonjour,
D’abord très beau boulot 🙂
Je voudrais savoir si un client sur un raspbian est envisagé et envisageable?
Merci
Sur raspian non, la reconnaissance vocale étant peu fiable sur linux.
En revanche sur windows iot (qui s’installe gratuitement sur rpi) oui, c’est actuellement en cours de dev :).
Merci Idleman
J’ai donc hâte de tester cette version sur iot
Du coup il va me falloir 2 -3 beta testeur , si tu es chaud….
Salut IdleMan,
Aurais-tu une idée sur la date de sortie de la version IOT?
Ca m’interresse, si tu veux beta tester je peux te donner un coup de main!
Merci et encore bravo pour ton boulot :p
Bonjour, j’ai un large soucis ! il est totalement impossible de mettre a jour yana-server ! Je rentre bien “cd /var/www/yana-server ” dans mes ligne de commande sur mon raspberry. en suite je rentre “git pull” et là le drame. le message”error : canno open ;git/FETCH_HEAD: permission denied” Que faire ?
Moi mon problème c’est qu’a chaque fois que je lance le launcher.exe , je tombe sur le fenêtre de choix de services(ear , mouth , face) sans avoir accès a la configuration , et quand je clique sur ‘fichier de configuration’ , on m’ouvre le play store. T_T help? sinon tu es un génie.
Hello !
J’avais une petite question pour toi si tu as le temps, étant donné le prix du kinect et de son adaptateur USB as tu une solution viable comme micro alternatif ?
Merci d’avance! 🙂
Salut Idle,
Je suis depuis pas mal de temps tes articles et c’est toi qui m’a poussé a me lancer dans la domotique.
J’ai voulu essayé de mettre a jour mon client mais je bloque dès le début : impossible d’aller dans le dossier /var/www/yana-server car je n’ai pas la permission mais même en faisant un sudo il me dise commande non reconnue.
Si tu as une idée je suis preneur en attendant je vais continuer a chercher 🙂
En tout cas merci pour tout c’est vraiment cool ce que tu fais j’ai hâte de voir jusqu’où ira ce projet 😀
Connecte-toi en root.
Salut IdleMan,
Félicitation pour se travail de fou! je suis de près ton blog depuis quelques mois et je vais me lancer bientôt dans l’affaire.
Peux tu nous en dire un peu plus sur la version Windows IOT? cela veux dire que l’on pourrait se passer d’un PC et utiliser seulement un RPI!?? ca serait vraiment top
Tu penses pouvoir sortir :p une alpa quand en gros?
Merci en tout cas
pas de réponse :-((
Salut,
Je profite de ce post pour adresser un énorme MERCI à Idleman pour le travail colossal dont il nous fait profiter! Je bidouille ma raspberry depuis peu et grâce à tes tutos, j’ai vraiment l’impression d’avancer! Alors MERCI!
En revanche, concernat l’installation de Yana4all, je ne parveins pas à lancer manuellement le serveur socket. J’ai le message suivant: “could not bind to socket”. J’ai certainement fait un bourde quelque part… Si quelqu’un à une idée, je le remerce par avance!!
En changeant le port 9999 en 9998 ça passe mais Yana ne parle pas…
Si quelqu’un a une idée, merci d’avance!
Vérifie que ton port 9999 n’est pas déjà occupé par un autre programme
Salut,
Quand je fais “netstat -tnlp”, j’ai plusieurs ligne qui s’affichent, dont :
tcp 0 0 0.0.0.0:9999 0.0.0.0:* LISTEN 29910/php
Le port 9999 semble donc occupé par un autre programme, mais ce qui est bizarre, c’est qu’en changeant le port 9999 en 9998, ça marche mais pas de réponse de Yana… Je vais essayer de tout ré installer..
Salut,
Tout d’abord félicitations pour ce travail impressionnant !!
J’ai regardé le code source sur le github (joli code d’ailleurs) et j’ai une question : si j’ai bien compris, tu utilises un binaire winstt.exe pour la reconnaissance vocale, sauf que je n’ai pas trouvé le code source de ce binaire. Et j’avoue que ce qui m’intéresse surtout c’est de savoir comment tu as résolu le problème de la dictée des mots libres ce qui semble être codé dans winstt.exe 😀 Ça serait possible d’avoir le code source de ce binaire ? Ou du moins la façon dont t’as résolu ce problème ?
Merci d’avance
Bonjour,
Une belle mise à jour et j’ai l’impression que la reconnaissance vocale fonctionne mieux qu’avant.
Par contre j’ai des problemes avec la voix. Message : Impossible de definir la voix Aucune voix correspondant n’est installé ou la voix été désactivée.
Qqn at il pu resoudre ce probleme ?
Merci
Salut Idleman,
D’abord merci pour ton travail 😀 .
Saurais tu quand la version IOT vera le jour et si elle vera bien le jour ? oO oO
merci d’avance ( <3 je suis très intéressé par ton travail c'est formidable <3 ).
Choco7.
Bonjour,
Felicitations, une belle mise à jour et j’ai l’impression que la reconnaissance vocale fonctionne mieux qu’avant.
Par contre j’ai des problemes avec la voix. Message : Impossible de definir la voix Aucune voix correspondant n’est installé ou la voix été désactivée.
Qqn at il pu resoudre ce probleme ?
Merci
bonsoir,
j aimerais bien tester cette version, mais j’ai des petits pb.
j’arrive bien à lancer, en root, le serveur socket, mais quand je lance yana V2, j’ai l’erreur: “error : unable to parse received data : {“action”:”client_infos”,… ”
même chose pour les modules “ear” et “mouth”
une idée du pb ?
merci
Salut,
Bravo pour ton travail, étant nouveau dans le domaine je suis admiratif.
Est ce que tu envisages faire des tutos similaires sur un systeme basé sur un nas synology ?
bon courage
Bonjour, a tous.
Tout d’abord un grand bravo pour ce projet, j’avais commencé à suivre le projet SARAH qui était innovant et prometteur. Mais alors là je dois dire chapeau.
Toutefois j’ai un petit soucis à l’installation du “Yana Launcher”, lorsque je clique sur le bouton “Terminer”, il m’apparait une erreur L’accès au chemin d’accès C:\WINDOWS\system32\conf.json est refusé.
J’ai du mal à comprendre d’autant plus que le fichier en question ne se trouve pas du tous à cet endroit !
Avez vous un solution ? Merci par avance
Étrange, conf.json est sensé être cherché dans le dossier yana et non dans system32… Peux tu ouvrir une issue github a ce sujet que je m’y penche dès que j’ai une minute ?
L’erreur viens de quel client ? mouth, ear, face ou le launcher ?
Au ire sur peux les lancer sans passer par le launcher, assure toi juste que le fichier conf.json est bien à la racine du dossier des executables yana.
Merci pour ta réponse, je viens de poster une issus sur github
Bonsoir
lorsque je fais git pull ja’i ce massage
est ce que tu peux me renseigne comment faire
merci
pi@homecontrol /var/www/yana-server $ sudo git pull
Updating a88d21b..941dbff
error: Your local changes to the following files would be overwritten by merge:
.tool.sample.php
apigen.neon
apigen.phar
classes/Action.class.php
classes/Client.class.php
classes/Device.class.php
classes/Personality.class.php
constant.php
db.json
doc.bat
log/index.php
plugins/dashboard-monitoring/css/style.css
plugins/dashboard-monitoring/js/main.js
plugins/dashboard/Dashboard.class.php
plugins/dashboard/Widget.class.php
plugins/dashboard/css/jquery.dashboard.css
plugins/dashboard/dashboard.plugin.php
plugins/dashboard/img/preloader.gif
plugins/dashboard/install
plugins/dashboard/js/main.js
plugins/dashboard/uninstall
plugins/domoDoor/DoorAccess.class.php
plugins/domoDoor/DoorLog.class.php
plugins/domoDoor/css/style.css
plugins/domoDoor/domodoor.plugin.php
plugins/domoDoor/i2c.py
plugins/domoDoor/install
plugins/domoDoor/js/main.js
plugins/domoDoor/uninstall
plugins/door/install
plugins/door/uninstall
plugins/ipcam/Camera.class.php
plugins/ipcam/install
plugins/ipcam/ipcam.plugin.php
plugins/ipcam/js/main.js
plugins/ipcam/uninstall
plugins/modele/install
plugins/modele/uninstall
plugins/preference/js/main.js
plugins/profile/css/style.css
plugins/profile/js/main.js
plugins/profile/profile.plugin.enabled.php
plugins/propise/Data.class.php
plugins/propise/Sensor.class.php
plugins/propise/arduino.ino
plugins/propise/install
plugins/propise/js/main.js
plugins/propise/propise.plugin.php
plugins/propise/uninstall
plugins/radioRelay/RadioRelay.class.php
plugins/radioRelay/css/main.css
plugins/radioRelay/install
plugins/radioRelay/js/main.js
plugins/radioRelay/radioEmission
plugins/radioRelay/radioEmission.cpp
plugins/radioRelay/radioReception
plugins/radioRelay/radioReception.cpp
plugins/radioRelay/uninstall
plugins/room/install
plugins/room/uninstall
plugins/speechcommands/SpeechCommand.class.php
plugins/speechcommands/cmd.json
plugins/speechcommands/img/sample.png
plugins/speechcommands/install
plugins/speechcommands/js/main.js
plugins/speechcommands/speechcommands.plugin.php
plugins/speechcommands/uninstall
plugins/story/Cause.class.php
plugins/story/Effect.class.php
plugins/story/Story.class.php
plugins/story/css/main.css
plugins/story/edit.php
plugins/story/js/main.js
plugins/story/list.php
plugins/story/story.plugin.php
plugins/temperature/install
plugins/temperature/temperature.plugin.enabled.php
plugins/temperature/uninstall
plugins/vocal_infos/cmd.json
plugins/vocal_infos/img/yana.jpg
plugins/vocal_infos/install
plugins/vocal_infos/js/main.js
plugins/vocal_infos/uninstall
plugins/vocal_infos/vocalinfo.plugin.php
plugins/wireRelay/css/main.css
plugins/wireRelay/install
plugins/wireRelay/uninstall
plugins/wireRelay/wireRelay.plugin.php
plugins/wysiwyg/css/trumbowyg.css
plugins/wysiwyg/img/icons-sa75ce98b2b.png
plugins/wysiwyg/js/main.js
plugins/wysiwyg/js/trumbowyg.min.js
plugins/wysiwyg/wysiwyg.plugin.php
socket.php
templates/default/css/font-awesome.min.css
templates/default/font/FontAwesome.otf
templates/default/font/fontawesome-webfont.eot
templates/default/font/fontawesome-webfont.svg
templates/default/font/fontawesome-webfont.ttf
templates/default/font/fontawesome-webfont.woff
templates/default/js/chart.min.js
Please, commit your changes or stash them before you can merge.
Aborting
bonsoir
j’ai active domoticz dans l’intarface de yana
mais je ne peux pas acceder au parametrage de domoticz
aussi limage de l’icon de domoticz est vide
est ce que tu as une idée du probleme, merci
Salut! super boulot, vraiment chouette l’interface!
Par contre est t-il possible de faire communiquer le serveur avec des peripheriques via port serie? par exemple un arduino esclave qui pourrais soit controler des relais ou remonter des info type temperature exterieur, chauffe eau etc. voir meme logger tout ca et faire des graphiques.
C’est le seul frein a l’adoption de yana chez moi qui ai deja une maison automatisé par arduino.
Salut Idleman,
Merci pour ton travail il m’est très utile.
Sinon la version du client pour Windows IOT existe déjà ou pas ?
Elle m’intéresse beaucoup beaucoup.
Pas encore malheureusement, je me met dessus dès que j’ai terminé les travaux de ma baraque 🙂
Bonjour, excellent boulot tu aurais une date de sortie pour yana4all iot ? et yana-server iot ?