Yana4All 0.1 Beta, c’est par ici !

Çà 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

Puis lancez manuellement le serveur socket (un lancement automatique viendra dans le futur)

Si la commande php n’est pas reconnu, installez php-cli

Si tout s’est bien passé, le message suivant devrait apparaître

01

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)

07

Reconnaissance (ear.exe)

06

Synthèse (mouth.exe)

05

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.

Article rédigé par Idleman

34 réflexions au sujet de « Yana4All 0.1 Beta, c’est par ici ! »

  1. Scoof

    :D <3 :D <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 :)

    Répondre
  2. Romain (Vorex)

    Ç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 :)

    Répondre
    1. Idleman Auteur de l’article

      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

      Répondre
  3. Dolé

    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!

    Répondre
    1. Idleman Auteur de l’article

      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.

      Répondre
  4. Thomas

    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!

    Répondre
  5. Maxime

    Est il obliger d’utiliser sur des machines en local?

    Répondre
  6. Phips

    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://github.com/ldleman/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 ;)

    Répondre
    1. Idleman Auteur de l’article

      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à.

      Répondre
      1. Phips

        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+

        Répondre
  7. Tim

    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 !

    Répondre
    1. Idleman Auteur de l’article

      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.

      Répondre
  8. Toshibs161

    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 !!

    Répondre
    1. Idleman Auteur de l’article

      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

      Répondre
  9. doods

    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

    Répondre
  10. DomTon

    Bonjour,

    D’abord très beau boulot :)

    Je voudrais savoir si un client sur un raspbian est envisagé et envisageable?

    Merci

    Répondre
    1. Idleman Auteur de l’article

      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 :).

      Répondre
      1. DomTon

        Merci Idleman

        J’ai donc hâte de tester cette version sur iot

        Répondre
        1. doods

          Du coup il va me falloir 2 -3 beta testeur , si tu es chaud….

          Répondre
  11. Rémi

    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 :D

    Répondre
    1. poopeye

      Connecte-toi en root.

      Répondre
  12. poopeye

    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!!

    Répondre
    1. poopeye

      En changeant le port 9999 en 9998 ça passe mais Yana ne parle pas…
      Si quelqu’un a une idée, merci d’avance!

      Répondre
    2. Idleman Auteur de l’article

      Vérifie que ton port 9999 n’est pas déjà occupé par un autre programme

      Répondre
  13. Gardaux

    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

    Répondre
    1. Idleman Auteur de l’article

      É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.

      Répondre
  14. Gardaux

    Merci pour ta réponse, je viens de poster une issus sur github

    Répondre
  15. ammous

    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

    Répondre
  16. ammous

    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

    Répondre
  17. raspoutine

    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.

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Xo ^_^ :siffle: :p :-( :evil: oO :) T_T <3 :D more »