Raspberry PI ~ 09 : Créer une interface vocale

Ce post est le neuvième d’une liste de tutoriels sur le raspberry PI, cliquez ici pour accéder au sommaire ! 😀

En attendant la suite de mon article sur le raspberry PI et la gestion des interrupteurs par ondes radio, je vous propose quelque chose de plus concret a vous mettre sous la dent :).

En effet si vous avez bien suivis mon article “Raspberry PI ~ 07 : Allumer/éteindre une vraie lampe OU comment faire de la domotique low cost.” vous devez pouvez allumer et éteindre une lampe grâce à votre interface web.

 

Oui mais !! On à pas toujours une interface web sous la main pour commander le raspberry PI… alors que diriez vous de tout diriger par la voix ? 😀

 

Ce qu’on cherche à faire :

Moi : “Yuri, allume la lampe du salon”
Raspberry PI (oui je l’ai appelé Yuri ;p) : “jawohl mein kapitän !!” (oui je lui donne un accent allemand alors qu’il a un nom russe :p)

*Lampe du salon s’allume*

Moi : “Yuri quelle heure est il ?”

Yuri : “Il est 18h41”

Ma chérie : “Idle, arrête de jouer avec ce machin con de geek inutile, ton WAF baisse a vue d’œil”

Moi : “Yuri Insulte la“

Yuri : “L’insulte aléatoire est : espèce de cheveux sans racine”

 

Bon okay on pourrait se passer d’aller aussi loin mais on vas le faire quand même, le but étant d’apprendre à simuler et a personnaliser une personnalité qui comprends vos ordres, effectue une action (contrôler une lampe, envoyer une requête, faire une recherche sur le web, dire un truc inutile etc…) et qui vous réponds en prime.

Tenez une petite vidéo horriblement mal filmée à base de canard albinos et de drogue dure pour vous prouver que je n’affabule pas 🙂 :

 

 

https://vimeo.com/52886695

 

 

Bref nous allons simuler une IA type Jarvis dans le film “Iron Man” ou Sarah dans la génialissime série “Eureka”, je dis bien simuler puisqu’au final, il n’y aura aucune intelligence derrière, juste une “bête machine à réagir” (mais c’est déjà pas mal pour cette fois :p).

Ce qu’il vous faut :

  1. Un pc avec windows 7 ou vista minimum
  2. Un micro (celui de votre portable conviendra très bien)
  3. Votre raspberry PI configuré selon le tutoriel “Raspberry PI ~ 07 : Allumer/éteindre une vraie lampe OU comment faire de la domotique low cost.

 

Le principe :

Votre PC vas utiliser(via notre petit programme) la librairie Speech To Text de Microsoft qui permet de faire de la reconnaissance vocale (le pc vous écoute), si la commande vocale est reconnue, il vas envoyer une requête web (http) à votre raspberry PI

 

Votre raspberry PI vas recevoir la requête et effectuer l’action : ouvrir/fermer un port gpio (donc allumer/éteindre une lampe ou tout autre objet électrique raccordé), ou encore récupérer l’heure serveur et vous la retourner, aller chercher les films qui passent au ciné en ce moment etc… et retourner un texte de réponse a la librairie Text To speech de Windows qui fait de la synthèse vocale (le pc vous parle).

 

Bref rien de sorcier en somme, certains déplorerons l’utilisation d’une librairie microsoft: c’est vrai que c’est bof, mais cette librairie a plusieurs avantages :

  • elle fonctionne bien
  • elle est installé par défaut sur tous les windows vista/seven et +  (donc accessible à beaucoup de gens)
  • elle ne nécessite pas internet
  • elle fait la synthèse ET la reconnaissance vocale
  • elle est configurable avec de simples fichiers XML
  • il est possible d’avoir plusieurs voix et plusieurs langues gratuitement

 

Et croyez moi pour trouver l’équivalent sous linux il faut se lever tôt (des lib comme sphinx et autres je ne veux plus en entendre parler, quand je dis lampe elle comprend canard albinos, c’est drôle les 10 premières minutes…)

 

Okay mais il vas falloir développer un truc ne C# pour adapter tout ça non?

C’est la que le génie de l’un de nos prédécesseur geeks entre en jeu : quelqu’un y a déjà pensé et a développé un petit programme au poil, S.A.R.A.H : pas d’installation, fonctionne avec micro simple ou avec kinect (meilleur reconnaissance), mots clés configurable avec de simple fichier xml etc…

Le soucis c’est que le mec utilise un serveur nodejs, et qu’il ne manœuvre aucun rpi avec, donc j’ai modifié et surtout beaucoup allégé S.A.R.A.H pour créer Y.U.R.I qui fonctionne avec apache, et qui est un peu plus léger.

nb : Je tiens a préciser que le code source est intégralement de sarah, seuls quelques binaires (nodejs standalone, phantom etc..) ont été enlevés et quelques xml modifiés

Assez discutaillé : au boulot !!

 

Installation de Y.U.R.I sur le PC

  • Téléchargez Y.U.R.I en cliquant ici
  • Décompressez le .zip
  • Ouvrez le dossier ./macroscontenant les XML de configuration et éditez le fichier rpi.xml
  • Modifiez l’adresse http://mon.rpi.fr/yuri.php par votre adresse de serveur rpi+/yuri.php ( ex : http://192.168.0.47/yuri.php )

Nb : Vérifiez que votre pc Windows et votre raspberry PI sont bien sur le même réseau et que vous pouvez bien accéder aux pages web de votre raspberry PI depuis le navigateur web de votre pc Windows

Installation de Y.U.R.I sur le raspberry PI

  • Téléchargez le script yuri.php en cliquant ici
  • Décompresser et placez le script dans le répertoire web de votre raspberry PI (/var/www par défaut)
  • Vérifiez que le port GPIO 7 est bien branché a votre carte relais comme définis dans le tutoriel 7 de ce blog.

Test du programme

  • Sur votre PC, Cliquez sur l’exécutable micro.exe à la racine du dossier pour lancer Y.U.R.I
  • Prononcez “Yuri, allume la lampe du salon”, YURI vas bien envoyer une requête vers votre page de Rapsberry PI qui vas allumer votre lampe

 

Et voila !! Enjoy !!

 

Pour ajouter des action vous même, il vous suffira de créer un nouveau fichier xml avec la requête et les ordres associés, et de créer l’action qui correspond dans yuri.php, vous pourrez ainsi pousser les choses très loin, le concepteur de S.A.R.A.H a créé plusieurs requêtes d’exemples pour récupérer la météo, gérer un google agenda, trouver les films sur allociné etc…

Je suis tout à vous pour d’éventuelles (voir certaines) questions et commentaires 🙂

 

314 réactions au sujet de « Raspberry PI ~ 09 : Créer une interface vocale »

  1. darkvodka Réponse

    C’est très bien mais le fait de passer par un pc sous windows casse tout l’intérêt je trouve 🙁 Pour tester c’est super mais avoir en permanence le rasp + le pc windows allumés c’est dommage.
    Si il n’y a aucune librairie correcte pouvant tourner sous Linux, est-ce possible d’utiliser alors la reconnaissance vocale android ? Il suffirait alors de faire une app qui tourne en tâche de fond sur le téléphone. (A voir par contre, si on doit absolument placer le micro du téléphone près de sa bouche ou si on peut le laisser dans la pièce…)

      • Idleman Auteur ArticleRéponse

        Je connais ces deux solutions et je les trouve (mais ce n’est que mon avis) pire encore que la librairie windows:

        • Elle sont tout aussi proprietaires
        • Elles nécessite internet pour fonctionner : plus de net, plus de possibilité de gérer sa domotique
        • Elles ont un temps de réponse horriblement long car tout passe par le net
        • La qualité de reconnaissance parait moins bonne que celle de crosoft
        • Il faut un android qui tourne 24/24 (donc on en revient au même problème)
        • Moins de drivers dispo, donc peu/pas de possibilité de brancher un meilleur micro type micro array
        • Impossible à raccorder en ethernet, obligé de passe par le wifi
        • Avec ces solutions, google (et tous les gens entre google et moi) on le moyen technique d’écouter absolument tout ce qui se passe dans mon appart
        • Aucune possibilité de gerer les commandes gestuelle via un kinect ou device semblable
        • Si microsoft c’est le mal, google android ne vaut pas beaucoup mieux ^^

        etc.. etc…, j’ajouterais qu’aujourd’hui, trouver un vieux pc sur lequel balancer un vista avec uniquement yuri et un micro, ça me parait plus simple que d’acheter un second smartphone avec android qui sera immobilisé (sachant qu’un smartphone ne pourra écouter qu’une piece à la fois (et encore avec la portée du micro de base c’est environ un rayon de 20 cm) donc solution peu viable.

        Bref passer par windows speech n’est pas la meilleures solution mais je pense que c’est encore la “moins pire” :), de plus microsoft à fait la une lib de qualité, facilement accessible et qui a l’avantage de ne poser aucun des problèmes énoncé ci dessus.

        • darkvodka Réponse

          Effectivement pour le côté “googleEvil”, propriétaire, etc … c’est pas mieux que ta solution.
          L’intérêt par contre de la seconde, c’est que c’est utilisable depuis le raspberry 😉
          Par contre, j’avais un peu peur pour le temps de réponse, peur justifiée selon toi donc c’est pas non plus la bonne solution.

          C’est vraiment dommage qu’il n’y est pas une librairie de reconnaissance vocale libre digne de ce nom. 🙁
          Surtout vu tous les efforts portés vers l’accessibilité pour les personnes handicapés, c’est quand même étonnant que ça n’existe pas encore.

          • Idleman Auteur Article

            On n’a plus qu’a la développer alors :D,heureusement que tout n’a pas déjà été développé sinon on se ferais chier 😀

          • Idleman Auteur Article

            Ah merde le proxy d’entreprise bloque sur le mot hack, je materais ça ce soir :).

            CMU sphinx je l’ai testé et non approuvé, la reconnaissance est vraiment mauvaise je suis très déçu.

          • Gab'

            Hello,
            As tu réussi à installer la bibliothèque Sphinx ? j’essaye d’installer SphinxPocket pour la programmation en C mais je n’y arrive pas, comment as tu fais ? Je l’ai télécharger mais je ne sais pas ou mettre ce dossier et comment l’inclure dans le code C

          • Idleman Auteur Article

            j’ai essayé il y a longtemps mais c’était nul donc j’ai supprimé, entre temps j’ai perdu la manip, je crois que j’avais bien galéré moi aussi.

    • Tewis Réponse

      Bonjour,

      J’ai bien lu à plusieurs reprises, et je comprend le peu de motivation à utiliser la reconnaissance vocale de google (car envoi sur leurs serveurs, et autres non respects de la vie privée), mais je me pose une question:
      Sur les téléphones android, dans le menu Paramètres/Langue et saisie/Saisie vocale/Reconnaissance vocale hors connexion, il est possible d’installer le module Français, qui n’a normalement pas besoin des serveurs google pour fonctionner. Je n’ai pas encore eu l’occasion de tester, mais je tenais à vous partager cette trouvaille, qui pourrais peut-être aussi améliorer YANA ?

      Tewis.

      • Idleman Auteur ArticleRéponse

        Il existe bien un mode hors connexion sur les dernières versions d’android, et je pense comme toi que cela pourrait faire notre affaire android étant bien plus proche de linux que les libs de microsoft, cependant j’ai déja fait des recherche a ce sujet et je n’ai trouvé aucun blog ou proof of concept ayant réussi à démanteler cette brique d’android pour la porter sur linux, je ne suis moi même pas assez calé sur android pour le faire, si quelqu’un a des pistes la dessus cependant je suis ouvert à me pencher sur son adaptation pour yana (après il faut aussi voir si ça ne pose pas trop de problèmes question légalité, je doute que google soit jouasse a l’idée de voir sa lib portée par le premier venu sans rémunerations aucune :p)

        • Tewis Réponse

          La question que je me pose aussi, c’est de savoir si, une fois installé, ce module hors ligne augmente la réactivité de YANA for Android ? Car ça peut se montrer intéressant si le temps de réponse est un peu long quand on est en ligne.
          Sinon, pour le démantèlement de cette brique pour le portage sur linux, ça sera sans moi aussi, car pas assez de connaissances / compétence !

          • Idleman Auteur Article

            La réponse logique est “oui” :), quand tu passe par le net il y a beaucoup plus d’étapes : enregistrement du fichier audio, compression (généralement en .flac) envois au serveur de google, analyse, retour json, interprétation par le programme.

            En mode locale tout la partie gestion et transfert du son est gérée sur un seul flux directement lié a l’application.

  2. Nono Réponse

    Yavol mein kapitain !! <= Ca, c'est l'accent allemand.
    C'est d'ailleurs aussi de l'Allemand (phonétique du moins), pour l’orthographe c'est ca : jawohl mein kapitän

    • Idleman Auteur ArticleRéponse

      Ha ben oui t’as raison, merde ça casse tout mon perso du coup ^^, bah, de totue façon vas fallori que je change sa perssonalité parce que j’ai pris une voie de femme (plus articulée). merci pour les précisions je corrige l’article tout de suite 🙂

  3. bebelbill Réponse

    Bonjour,
    une Idee qui passe….
    Est-ce qu’un bon vieux lapin Nabaztag et son serveur associé sur le raspberry pourrait pas faire l’affaire?
    @+

    • Idleman Auteur ArticleRéponse

      Oui, le logiciel S.A.R.A.H (et par conséquent Y.U.R.I aussi) est d’ailleurs prévu pour gérer les nabaztag, mais je ne peux intégrer cette solution dans mon tutoriel étant donné que le nabaztag reste très cher et ne rentre donc plus dans le cadre de la domotique low cost 🙂

  4. Esim Réponse

    Super

    Merci pour ces bons tuyaux

    Ce soir, avoir vu s’allumer ma lampe a la voix m’a rempli d’aise

    À tous les cassandres qui font du nez parce la solution ne les satisfait pas, j’attends avec impatience leurs solutions (s’ils en ont une !!!!)

    En tout cas malgré mon grand âge je reste sans ” voix” sur la solution déployée

    Je t’encourage à nous étonner encore avec des solutions low cost de domotique

  5. FoX Réponse

    Salut Idleman!

    J’ai un petit souci ……. Je suis très fort en électronique et en progra mais pas du tout en réseau… Je viens de suivre ton tuto. J’arrive bien à accéder à une page web du serveur de ma Raspberry Pi sur mon PC. Mais quand je lance une commande (que ce soit l’heure ou le controle d’un pin) j’ai ce message d’erreur dans la cmd:
    Exception: Le serveur distant à retourné une erreur : Erreur interne du serveur.
    (J’ai bien modifié les fichiers de config pour y rentrer l l’adresse du serveur/yuri.php ^^)

    Je suis élève ingénieur en électronique et informatique, et ton blog est une mine d’informations et d’inspiration pour moi 😀

    J’espère que tu pourras me venir en aide 😉

    • Idleman Auteur ArticleRéponse

      Salut ! 😀 Ca fait tou bizard de voir un deuxieme fox dans le coin 🙂 (ils se multiplient, c’est l’invasion aarggh).

      Conneries à part, ton problème à effectivement l’air d’être du côté raspberry pi, visiblement tu donne la bonne adresse (puisque tu ne tombe pas sur une 404) mais la page php est en erreur (puisque tu as l’air de tomber sur une 500).

      As tu modifié quelque chose sur la page yuri.php qui aurait pu faire planter la page?

      1. Essaye d’acceder à l’adresse manuellement en tapant dans le navigateur de ton pc ou il y a yuri :
        http://ton.serveur.raspberry/yuri.php?action=GET_TIME
      2. Si la page plante, vas voir dans tes logs d’erreurs php (var/log/apache2/error.log) ce qui as causé l’erreur
      3. Tiens moi au courant 🙂
      • FoX Réponse

        Mince j’ai volé le aka d’un autre? tant pis :p

        En fait j’ai trouvé et j’ai honte de moi… J’ai fait un chmod 777 sur le script ( 777 pour pas me prendre la tête ^^) et tout à coup … Miracle, YURI me répond ^^
        Problème résolu par hasard :p Mais si ça peut aider quelqu’un qui aura ce souci!

        Pour faire un petit retour sur tout tes tutos :

        J’ai créé deux dossier dans /var/www : -Pihome -YURI
        J’ai relié ma raspberry Pi et ma carte relais à l’intérieur du disjoncteur dans le garage (entre les fusibles et la phase parce-que je voudrais pas tout faire brûler chez moi si la machine à laver déconne ^^).
        Maintenant quand j’arrive chez moi: je sors l’iphone (qui se connecte automatiquement au wifi), j’ouvre la page web du script d’interface et en rentrant j’allume ma maison :p
        Et si j’ai la flemme de monter à l’étage éteindre la lumière, je gueule dans le salon ( là où il y a le pc) “YUUUURIIIII ETEINT LA CHAMBRE BORDEL!!!!” et miracle la chambre de l’étage s’éteint!

        J’ai cru comprendre que tu n’étais pas vraiment electri/electroni/electrotech-nicien, mais même avec deux trois maladresses, t’as envoyé du très lourd! J’avais exactement la même idée que toi (domotique vocale) et je ne savais pas vraiment par quel bout m’y prendre alors que c’est quasiment mon boulot ^^

        Je te remercie! Si un jour t’as besoin d’aide sur un montage électronique e-mail moi 😉

        • Idleman Auteur ArticleRéponse

          Merci, Ca me rassure toujours d’avoir l’aval de quelques “natis” en matière d’électronique 😀

          Ne t’inquiète pas quand je chope un éléctronicien dans mes lecteurs je ne le lache plus (demande à h3bus ^^) en ce moment je suis sûr la partie relier par les ondes et je pisse le sang par les narines donc si tu t’y connais un peu dans le domaine de la RF (plus précisement, le 433.92 mhz, et encore plus précisemment le protocol RF home easy pour Dio chacon ou encore le simple tracage de signaux sur cette fréquence) je suis interessé 🙂

          • FoX

            Bah écoute j’ai quelques notions là dessus (puis des vrais cours quelque part cachés dans ma chambre genre sous un meuble ou sous mon lit … -_-‘)

            J’ai d’ailleurs commandé l’émetteur et le récepteur sur CONRAD (tu devrais te faire sponsoriser ^^). Dès que j’ai les deux je te recontacte. Parce que finalement une télécommande serait pas mal: Vu que le téléphone c’est bien mais long, et que la copine se trouve trop maline pour parler à un stupide ordinateur … Je lui ferais une boite avec quelques boutons et ça ira bien !! (puis surtout si tu perds ton WIFI…)

            Une question au passage, t’as un moyen facile de changer le nom? 😀
            Je voudrais qu’il s’appelle Alfred (je suis fan de Batman ^^)

            Merci bien 😉

          • Idleman Auteur Article

            C’est très simple, il suffit de changer le nom dans les XML du projet, il n’y a que la que c’est définis 😀

            Pour les sponsors, Conrad ne m’a jamais rien proposé (l’ingrat) mais je vais devoir changer de fournisseurs de toute façon puisqu’ils ont pleins de produits manquants ou en rupture de stock et que je pense que ce n’est pas le plus bon marché qui soit :).

            Dès que tu as ton matos préviens moi, qu’on puisse bosser ensemble sur la partie radio, de toute façon au rythme ou j’avance tu as le temps ^^

      • Adokas Réponse

        Salut ! Désolé de te déranger en ce dimanche mais yuri fait des siennes depuis avant hier j’ai le meme problème avec que des erreurs 500, un chmod 777 n’a rien changé et dans le log d’apache j’ai
        “[Sun Jun 23 01:05:42 2013] [error] [client 192.168.0.254] PHP Fatal error: Unknown: Failed opening required ‘/var/www/yuri/yuri.php’ (include_path=’.:/usr/share/php:/usr/share/pear’) in Unknown on line 0
        [Sun Jun 23 01:06:01 2013] [error] [client 192.168.0.25] PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0, referer: http://192.168.0.32/

        J’espère que tu peux m’aider j’ai vraiment pas envie de tout recommencer…Merci d’avance et continue ton super boulot !

        • Adokas Réponse

          Le chmod n’a rien changé au test en navigateur mais a réussi à faire changer yuri ! Merci quand même 🙂

  6. nerkdesign Réponse

    Salut idelman, merci pour ce site de ouf !
    J’ai repris ton idée de synthèse vocal que je trouve extra ! mais j’ai fait une modif en installant espeak sur le raspberry pour qu’il me réponde lui meme. Par contre ma commande ne se lance pas :
    exec(‘espeak ‘.$response.’ -v french -s 150 -p 10′);

    Aurais tu une idée du pourquoi ?

    • Idleman Auteur ArticleRéponse

      Je ne connais pas cette lib, mais après tests :

      Essaye de mettre les arguments avant ta réponse:

      exec(‘”C:\Program Files (x86)\eSpeak\command_line\espeak.exe” -v french -p 1 -s 150 “je fume trop et ça s\’entend”‘);

      testé a approuvé sur mon windobe, si ça ne fonctionne toujours pas c’est soit un problème de permission php (désactive le safe mode dans ton php ini) soit un problème de son (as tu pensé a brancher tes hauts parleurs et a mettre le son système a fond ? :D) sois que ta variable response est vide.

      • nerkdesign Réponse

        merci pour ce retour entre temps j’ai trouvé, j’ai rajouter espeak dans le sudo, les droits n’allaient pas pour le www-data.Merci

        • nerkdesign Réponse

          … et merci pour la dédicace ! pour info je suis aussi en train de regarder du coté de SIMON qui fait le speach-to-text sur linux pour que le system soit entierement autonome sur le raspberry (par contre micro via USB oblige les tests son pas pour tout de suite..
          Merci pour tout en tout cas

          • Idleman Auteur Article

            Okay, moi j’ai entendu parler de JULIUS qui donnerais des résultats assez convaincants (bien que long a configurer) à creuser donc, si tu teste simon je serais intéressé par tes retours.

          • Idleman Auteur Article

            Je verrais ce que je peux faire ^^ le modèle de markov caché a l’air chiant a générer mais ça peux valoir le coup de passer du temps dessus si la reco fonctionne au poil sur ta voix par la suite :).

  7. Framboise PI Réponse

    Salut Idleman,
    Super ton tuto, j’avance beaucoup avec ton blog.
    Et j’impressionne mes potes, c’est le plus cool.
    J’ai essayer sans succé de definir un fonction allume tout et eteint tout sur les ports GPIO.
    Mais je n’ai aucune notion de programmation et ma logique ne suifit pas.
    Tu aurais une petite ligne de code a me fournir ?
    Merci a plus
    PS: Je l’ai renommer Olga

    • Idleman Auteur ArticleRéponse

      il faut rajouter une action dans olga (yuri.php) pour tout allumer/eteindre en fonction d’un parametre state genre :

      case ‘ALLUMER_ETEINDRE_TOUT’:

      exec(‘gpio write 0 ‘.$_[‘state’]);
      exec(‘gpio write 1 ‘.$_[‘state’]);
      exec(‘gpio write 2 ‘.$_[‘state’]);
      exec(‘gpio write 3 ‘.$_[‘state’]);
      exec(‘gpio write 4 ‘.$_[‘state’]);
      exec(‘gpio write 5 ‘.$_[‘state’]);
      exec(‘gpio write 6 ‘.$_[‘state’]);
      exec(‘gpio write 7 ‘.$_[‘state’]);
      break;

      Puis créer deux XMLs d’olga bureautique, avec pour paramètre action = ALLUMER_ETEINDRE_TOUT et state = 1 ou 0 en fonction de si tu souhaite allumer ou éteindre le bouzin :).

      • Framboise PI Réponse

        Merci pour ton aide.
        J’ai essayer vite fait ce matin sans succé, je vais recommencer ce soir.
        Si je bloque es ce que je peux t’envoyer mes fichiers pour que tu jette un oeil.
        Merci a plus

      • happy Réponse

        Hi,thank you for ths tuto,can you help me to do it with lunix because I dont know haw can I execute micro.exe with linux and thank you T_T j

  8. Ginjustu Réponse

    Il est donc possible de se servire de yuri juste pour le pc ? (Pas encore mon rasbery pi =S)

    • Idleman Auteur ArticleRéponse

      Tout à fait :), yuri est totalement indépendant du rpi, on ne l’utilise que pour le besoin de la domotique mais il peux très bien servir à autre chose.

  9. galendel Réponse

    salut, merci du tuto c’est sympa, mais à choisir entre une dependance windows ou internet je prefere internet ^^.
    Je vais creusé JULIUS et espeak et at&t. Il y a l’air d’y avoir pas mal de monde intéressé par ces sujet domestique + assistant virtuel, il y a 3 projet de fin d’étude à epitech sur la domotique sur cette 5 éme année, j’ai un pote en 3éme année qui lance un projet d’assistant virtuelle pour controlé des logiciel, avec une bonne couche IA. sa pourrai être pas mal de crée un perl tree pour recoupé les infos de tous le monde et peu être par la suite de crée un projet un peu commun, sa peu etre pas mal de partagé les compétence.

    Encore merci ++

    • Idleman Auteur ArticleRéponse

      Oui pourquoi pas :), pour le moment mes recherches ne vont pas assez loin pour que je puisse participer de manière intéressante à ce genre de projets, mais si un autre lecteur est intéressé … 🙂

  10. irumi Réponse

    ça ne fonctionne pas chez moi … -_-‘
    J’ai du oublier un truc. Comment on sais si ça fonctionne? Une fois qu’il y a ‘Start lisening’ de lancer, comment on sais que ça fonctionne ou non? Car il ne me répond pas. j’ai juste demander l’heur.

    PS: Très bon blog au passage, c’est mon premier post mais ce n’est pas pour autant que je n’apprécies pas le blog. J’aime beaucoup les articles sur rapsberry pie.

    • Idleman Auteur ArticleRéponse

      Yop :),

      Ca fonctionne si il tente de reconnaître tes mots quand tu parle, il te met quoi à part start listening? As tu bien pensé a brancher/ mettre le son de ton micro a fond ? (je sais question bête mais desfois ça fait gagner un temps fou :p)

      • irumi Réponse

        Il en me met rien d’autre.
        J’ai bien brancher le micro, je vais essayer de régler le son a fond. Mais le micro enregistre bien sous audacity.
        j’ai aussi vérifier que la page yuri.php est bien accessible et c’est bon.
        Quand il essay de reconnaitre, il affiche quelque chose dans la consol?

        Merci

        • irumi Réponse

          Alors, j’ai mis mon micro à 100 et une amplification de 20db. voila tous ce qui est marqué dans la console:

          C:\Users\jérémy\Desktop\YURI>”C:\Users\jérémy\Desktop\YURI\bin\WSRMacro.exe” -d
          macros -d plugins -c 0.75
          [2012:11:19 21:42:15] [INIT] ——————————–
          [2012:11:19 21:42:15] [INIT] Windows Speech Recognition Macro
          [2012:11:19 21:42:15] [INIT] ================================
          [2012:11:19 21:42:15] [INIT] Server: 127.0.0.1:8080
          [2012:11:19 21:42:15] [INIT] Confidence: 0,75
          [2012:11:19 21:42:15] [INIT] ——————————–
          [2012:11:19 21:42:15] [WATCHER] Watching directory: macros
          [2012:11:19 21:42:15] [WATCHER] Watching directory: plugins
          [2012:11:19 21:42:15] [WATCHER] Stop watching
          [2012:11:19 21:42:15] [GRAMMAR] Unload
          [2012:11:19 21:42:15] [ENGINE] Init recognizer
          [2012:11:19 21:42:16] [ENGINE] MaxAlternates: 2
          [2012:11:19 21:42:16] [ENGINE] Using Default Sensors !
          [2012:11:19 21:42:16] [GRAMMAR] Load directory: C:\Users\jérémy\Desktop\YURI\ma
          cros
          [2012:11:19 21:42:16] [GRAMMAR] Load file: date.xml : C:\Users\jérémy\Desktop\Y
          URI\macros\date.xml
          [2012:11:19 21:42:16] [GRAMMAR] Load file: insulte.xml : C:\Users\jérémy\Deskto
          p\YURI\macros\insulte.xml
          [2012:11:19 21:42:16] [GRAMMAR] Load file: presentation.xml : C:\Users\jérémy\D
          esktop\YURI\macros\presentation.xml
          [2012:11:19 21:42:16] [GRAMMAR] Load file: rpi.xml : C:\Users\jérémy\Desktop\YU
          RI\macros\rpi.xml
          [2012:11:19 21:42:16] [GRAMMAR] Load file: time.xml : C:\Users\jérémy\Desktop\Y
          URI\macros\time.xml
          [2012:11:19 21:42:16] [GRAMMAR] Load directory: C:\Users\jérémy\Desktop\YURI\pl
          ugins
          [2012:11:19 21:42:16] [GRAMMAR] Load dictation grammar
          [2012:11:19 21:42:16] [WATCHER] Start watching
          [2012:11:19 21:42:16] [ENGINE] Start listening

          • irumi

            je m’auto-répond. En faite, mon micro était pas mis par défaut, maintenant il analyse ce que je dit mais ne me répond pas.
            Sauf une fois avec ‘insulte la’ mais sinon jamais, alors est-ce les requettes qui merde… Je me penche dessus.

            Si quelqu’un a déjà eu le problème, je suis preneur.

          • irumi

            He ben voila, ça fonctionne. Pas super mais ça fonctionne. j’ai modifier le out.action._attributes.threashold et j’ai l’ai mais à 30 pour être plus tolérant.

            Par contre la réponse est lue en anglais (l’accent anglais et les nombres sont lue en anglais). C’est difficilement compréhensible. Vous aussi?

          • Idleman Auteur Article

            Ton micro doit vraiment être pourris pour que tu ai beosin d’une tolérance aussi basse :), un conseil achète un vrai micro ou mieux : un micro array qui est fait pour ça :).

            Pour la voix, installe microsoft reader puis vas dans les paramètres de synthèses vocale, tu pourra choisir une voix homme en français :), après tu peux chercher d’autres voies homme et femme en francais sur internet yen a plein (hortense etc…)

          • Jean-Philippe Encausse

            Pour info la tolérance peut être passé en ligne de commande (cf. le .bat de SARAH) pour que ça marche pour tous les fichiers XML.

            Très souvent il faut régler le “gain” du micro dans la config Windows. Cette info pouvant être modifié par d’autres logiciels

          • Idleman Auteur Article

            Merci pour les précisions :), sais tu si un micro array/kinect fait vraiment une différence ? J’ai essayé de brancher ma kinect xbox pour tester avec sarah mais le programme à planté, je n’ai pas insisté et suis resté sur mon micro dégeu pour le moment ^^

          • Jean-Philippe Encausse

            Pour le Kinect XBox360 il faut installer le SDK de Microsoft (pas le Runtime)

            Sur la qualité je suis bluffé, (le son de mes vidéos est enregistré avec le Kinect). Tu entends clairement une personne à l’autre bout d’une pièce.

          • Idleman Auteur Article

            Javais installé le sdk mais je n’ai pas réésayé depuis :), faudra que je tente ça merci pour le retour :p

  11. irumi Réponse

    Oui mon micro est bien pourrit. je l’ai payer 4€ il me semble (et avec le casque en plus).
    merci pour l’aide en tous cas.

  12. Jean-Philippe Encausse Réponse

    Hello,

    Petit passage pour dire bonjour 🙂

    – Effectivement la solution Windows est “la moins pire”, et l’idée du code C# est de wrapper les API Microsoft pour vite fuir avec une requête HTTP.

    – Concernant le RasberryPi, j’attends le mien 🙂 et contrôler SARAH avec la MakeyMakey.

    – Le Kinect, 100€ (prix de 2-3 composant domotique) est une tuerie capable de couvrir une grande pièce.

    – Après côté serveur j’ai choisit NodeJS car c’est ultra souple et il existe des tonnes de scripts pour tout n’importe quoi. (Dans la première version de SARAH j’utilisais un CMS et j’étais en Java)

    – Google Speech est dispo dans la v2.2 mais c’est “expérimental”. Le service est rapide mais il n’y a pas de grammaire donc bon … je combine les deux.

    • Idleman Auteur ArticleRéponse

      Salut Jean philippe ! Bienvenue sur ce blog :), j’en profite pour te remercier pour cette magnifique S.A.R.A.H offerte au web,
      sans elle YURI n’aurais certainement pas vu le jour tout de suite (j’avais un brouillon en C# mais rien d’encore construit).

      L’utilisation de nodejs en sois est une bonne chose, j’ai du l’adapter uniquement dans le but de rester dans le contexte de mon tuto
      car j’ai initialement choisis apache comme serveur web (moins adapté au rpi, mais plus connus des utilisateurs) bref je soutiens complétement ce choix.

      Je ne connais pas MakeyMakey, ça consiste en quoi?

      Merci pour toutes ces précisions 🙂

        • Idleman Auteur ArticleRéponse

          Ha ha ha c’est asse rigolo, fallait avoir l’idée 🙂 après vendre ça 50$ je trouve ça un peu abusé pour un transistor, une résistance et un micro controleur pour mapping contact/entrée clavier c’est pas bien compliqué et ça coûte 10€ max a faire sois même (tiens c’est une bonne idée de projet ça, un fork low cost)

          • Jean-Philippe Encausse

            Je pense qu’il ne faut pas raisonner en terme de coût de matériel.

            Effectivement un logiciel c’est juste des zéro et des un, le super restaurant c’est juste des protéines chauffées, …

            Fondamentalement derrière tout produit il y a une équipe, du temps, des idées, de la mise en oeuvre, marketing, etc, … si c’était “si” commun ça aurait déjà été fait.

            Le diable se cache dans les détails.

          • Idleman Auteur Article

            Je pense qu’il ne faut pas raisonner en terme de coût de matériel.

            Je suis d’accord avec toi sur le principe, mais ce n’est pas l’avis de mon banquier :).

            Il faut reconnaître que l’idée est bonne et mérite rémunération :), mais 50€ ça pique quand même ^^

  13. Trigger Réponse

    Salut 🙂

    Félicitation pour tous tes tutos et pour une fois je post car j’ai un soucis ^^
    Je dois être une bille vu comment tes tutos sont détailler ^^

    Je pense avoir tout bien fait ( la preuve évidente est que non ^^) car j’ai l’impression que rien ne se passe … Pourtant quand je fais le GET_TIME c’est ok ça doit donc être coté PC que ça merdouille :S

    Une idée pour si YURI nous écoute ?

    Merci et encore bravo pour ton boulot,
    Trigger

    • Idleman Auteur ArticleRéponse

      As tu bien pensé à brancher le micro et a mettre le son mciro de windows a fond ? Il s’affiche quoi sur la console ?

      • Trigger Réponse

        Oui oui je pense que niveau micro pas de soucis ( test avec skype RAS) par contre la console s’arrête aussitôt que je lance le programme :S

    • Idleman Auteur ArticleRéponse

      Non, il suffit d’avoir vista ou seven normalement … désolé mais je ne vois pas du tout d’ou ça pourrait venir, essaye de télécharger et installer ms reader (gratuit ) et de retenter.

  14. grepillez Réponse

    hey, reçu mon RPI ce midi, j’attendais avec impatience de tester le vocal !!

    pour le moment je n’ai pas la partie electronique pour la commande vocale ou via l’interface web. Mais ton tuto de dialogue vocal est juste énorme !!

    Merci beaucoup pour ton aide je garde ton site dans mes favoris pour la suite !!!

    pour ceux qui voudraient une voix française pas trop mal: http://dl.free.fr/jMSqbyVaB/3-RSSolo4FrenchVirginie.exe

    a+

  15. CaptainTorpedo Réponse

    Bonjour !

    Je découvre ce blog depuis que je m’intéresse un peu au Raspberry, et j’ai voulu essayer d’utiliser ton interface vocale sur mon serveur local sous Windows en attendant de recevoir la bête.

    Ca marche parfaitement pour ce qui est de la reconnaissance/ de l’appel à la bonne fonction via le xml (j’ai pu en créer un nouveau, qui est reconnu sans souci par le php côté serveur), mais j’ai un souci juste après. En fait, je voudrais me servir du php pour lancer un exécutable (par exemple vlc), que j’appelle par un exec(‘monpath/vlc.exe’);, et je me retrouve avec une erreur (de PHP je pense) sur System.Reflection.TargetInvocation qui me dit que j’ai levé une System.Argument.NullException.

    Du coup, je sais pas si j’essaye de faire quelquechose que php ne permet pas (lancer un exe sur le poste depuis le site web me paraît quand même assez… risqué), ou si ça peut être lié au scrit de base de S.A.R.A.H qui pourrait gêner un appel dans le genre ?

    Bref, si tu as une idée, je serais ravi du coup de main, et j’espère pouvoir trouver de nouvelles perles sur ton blog prochainement :]

    • CaptainTorpedo Réponse

      Pas de bouton d’édition ou de retrait du commentaire, dommage :'(

      En fait mon erreur venait du path qui était mal lu (ou plutot mal écri ^^) lors de l’exécution sur windows). J’ai réussi à lancer l’application, mais elle n’apparait pas sur le bureau (sans doute parceque lancée par le serveur, sur le serveur), et ça fait bizarre d’avoir un film qui tourne en fond sonore sans avoir l’image.

      Bref, est-ce qu’il y’a moyen de faire une sorte de “callback” dans le script SARAH pour qu’il appelle l’application lui meme, sur le pc client du coup ?

    • Idleman Auteur ArticleRéponse

      pas mal mais visiblement il faut l’avoir su sois (un eu chiant de se balader avec un micro), c’est pas donné et le nombre de mots est limité, cela dit ça permet de s’affranchir de la partie windows ce qui est un plus.

  16. Etann38 Réponse

    Salut IdleMan,

    Encore une fois je te remercie pour tes chouettes tutaux…

    Je suis aussi partisan de pouvoir trouver un p’tit moyen de faire de la reconnaissance vocale via le raspberry directement -n’ayant pas de windows 7 ou vista à la maison)
    Quant à la synthèse vocale, j’utilise pour vocaliser mes différents serveurs vocaux une librérie IBM un truc qui s’appelle voxin.
    La voix est bien mieux qu’espeak mais bon ça ne vaut pas la voix de Virginie que tu utilises dans ton interface.
    Etant aveugle, les synthèses vocales je connais.
    Je possède des voix plutôt concluante sous windows si ça intéresse quelqu’un !!!

    • Idleman Auteur ArticleRéponse

      Merci pour le retour, effectivement je pouvais trouver quelque chose qu’on puisse embarquer sur le rpi et qui soit de bonne qualité ça serais le top, mais à ma connaissance, ça n’existe pas encore ^^, arturus, sphinx et companies sont vraiment médiocres

      • Idleman Auteur ArticleRéponse

        Fau pas pousser mémé dans les orties quand même ^^, il y a très peu de voie dispo sur le net malheureusement ^^

        • sugasouf Réponse

          pinese, c’est dommage cela aurait etait vachement bien que Y.U.R.I ai la voix d’homer

  17. Greg Réponse

    Salut 🙂
    Les sources de YURI sont-elles disponibles qque part ? Les sources de SARAH sont un peu trop compliquées pour moi ^^
    Beau boulot en tout cas 😉

    • Idleman Auteur ArticleRéponse

      Les sources de yuri sont les même que celles de sarah, yuri étant un simple sarah amputé de quelques BINS 🙂 désolé

      • Greg Réponse

        Ah ben déjà, avec les parties amputées, ca doit simplifier un peu les choses nan ? 🙂

        • Idleman Auteur ArticleRéponse

          Ben les parties amputées sont le serveur nodejs et les dossiers optionnels, je n’ai pas touché aux sources de bases (je compte le faire sous peu cela dis, j’ai quelques modifications a apporter)

  18. kiw Réponse

    Alors là mais c’est génial, j’en reviens pas que yuri soit aussi performant ET simple à configurer. Même ma soeur, à compris le truc! Je dois vraiment te remercier toi et Jean-Philippe Encausse.

    Au passage,
    1/ il y a une petite erreur dans yuri.php, l’intervalle de ton random d’insulte et trop long de 1 ce qui génère une erreur de temps à autre. j’ai donc tout simplement corrigé :
    $response = $affronts[rand(0,count($affronts)-1)];

    2/ Quand on rédige une réponse à un commentaire sur ton site, le cadre de réponse dépasse sur la droite.

    3/ Je te lis très souvent, et j’adore ce que tu fais en général 😀

    • Idleman Auteur ArticleRéponse

      Remercie surtout jean philippe encausse, pour la partie reco vocale je n’ai pas fait grand chose ^^

      Merci pour l’erreur je vais voir ça 🙂

      Pour le blog, il est un peu foireux je sais, je dois changer le thème sous peu (mais bon ça fait deux mois que je dis ça ^^) content qu’il te plaise 🙂

  19. nicolas Réponse

    merci pour le tuto 1 jvais tester des que j’ai mon nouveau pc.
    je voudrais aussi tester SARAH, qq sit ou je peux le trouver ?
    merci

  20. sugasouf Réponse

    salut et d’abrod bravo pour tes tutos tu m’as vraiment donner envie de bidouiller sur le pi en partant de tes tuto au debut, mais j’ai quand meme un gros travail de mise a niveau en linux et python, site du zero me voila.

    mais j’aimerais savoir si au dela de l’utilisation avec un windows il serait possible de faire une sorte de yuri mais avec un android phone un peu a la maniere de siri dans le lien suivant :http://www.youtube.com/watch?v=PXmCiaRc9XU
    mais avec un androphone ?

    si tu as deja essayer penser ou meme juste survoler la question quelle piste puis je suivre merci

    • Idleman Auteur ArticleRéponse

      Oui c’est possible avec un android phone, ou même avec n’importe quoi d’autre en utilisant le webservice de google speech api, mais je ne pense pas que ce soit une bonne solution.

      Les webservices ont plusieurs gros inconvénients :

      Lent (le son est compressé en flac, envoyé sur un serveur web par le net puis analysé à tout instant, c’est plus long que tout faire en locale)
      Dépendants du net (plus de net ou web ralentissant = plus de domotique)
      Dangereux pour la vie privée ( tous les sons de ton appart sont envoyé sur un serveur étranger tributaire du patriot act)

      J’ai choisis l’api de microsoft pour la simple et bonne raison que contrairement a celles de google ou d’apple, elle est disponible en local.

      • sugasouf Réponse

        oui je suis totalement d’accord avec toi mais ce qui est dommage c’est que pour de la domotique un peu touche a tout cela aurait été tres bien de pouvoir le controler par son smartphone, je pense a l’utilisation par exemple de tes lampes pour simuler une presences, ou alors meme allumer un appareil par la voix, une sorte de mix entre les commandes de gpio par navigateur et la commande vocal

        un truc tres ironman ^^

        • Idleman Auteur ArticleRéponse

          Oui, personnellement je n’en voie pas l’intérêt, la reco vocale a l’intérieur du local me suffit, mais ça n’est pas bien compliqué a développer, d’ailleurs un type l’a déjà fait sur github, je n’ai plus le lien en tête mais tu dois pouvoir le trouver.

          Sinon une application toute faite sur android qui fait exactement ce que tu veux : tasker, je te laisse fouiner de ce coté la 🙂

  21. sugasouf Réponse

    ps : continu ton boulot est genial est donne vraiment envie au newbie

    petite question est ce que je peux en plus d’utiliser les GPIO en vocales lancer un soft je pense que oui en changeant les commande par rapport a la commande vocale

    • Idleman Auteur ArticleRéponse

      C’est une très bonne question, il faut regarder dans la doc de S.A.R.A.H pour ça, moi je ne sais pas 🙂

    • Idleman Auteur ArticleRéponse

      C’est une idée à tester, c’est tout a fait possible a coupler, après j’ai quelques reserves sur la qualité de ce genre de reconnaissances embarquée… d’où le à tester ^^

  22. jfm20 Réponse

    bonjour

    je n’arrive pas a transferer le script sur le raspberry. access denied avec filezilla

    merci pour votre aide

    jf

  23. Zarko Réponse

    Bonjour,

    J’avoue ne pas avoir prit le temps de lire tout les commentaires,mais si tu es l’heureux propriétaire d’un iphone disposant de Siri je ne peux m’empecher de te proposé la solution suivante : redirigé ton flux Siri sur un proxy et sous certain ordre diriger les action vers ton raspberry, cela a l’avantage de supprimé et l’ordinateur et les problème de micro. Je sais as si cela à déja été fait sous Android mais ca ne m’étonnerai pas …

    bien a toi.

    Zarko.

    • Idleman Auteur ArticleRéponse

      Je ne pense pas que ce soit une bonne idée, que ce soit avec les iphone (utilisation de SIRI) ou avec les androphone (utilisation de google speech), j’ai expliqué pourquoi à plusieurs reprises dans les commentaires je te laisse farfouiller ^^

  24. Thomas Réponse

    Question : Tu n’est pas sous Seven 64 ? Car c’est la merde .. la voie française semble ne pas exister .. du coup il parle en Américain sévère mon pc .. la loose 🙁

  25. Thomas Réponse

    J’ai cherché toute la soirée hier, il semblerais qu’on ne peut pas dans la version 64bit de Seven (histoire d’appel dans la bibliothèque 32bit) .. galère

    • Idleman Auteur ArticleRéponse

      C’est faux, je suis en 64 bits sur mon pc de boulot comme sur mon pc fixe :), en revanche il est vrai qu’il y a deux endroits pour acceder au panel de changement des voix, cf le readme de yuri

        • Idleman Auteur ArticleRéponse

          Essaye d’installer microsoft reader (gratuit) pouis l’une des voie (virginie ou hortense) puis de changer la voix par defaut dans le panel via le chemin %windir%\SysWOW64\speech\SpeechUX\sapi.cpl

          • Tom

            Bonjour,
            pour ma part j’ai beau tout essayer, je n’ai toujours pas les voix françaises qui apparaissent dans sapi.cpl.
            Je suis en Seven 64bits. j’ai beau regardé partout sur le net et le read me, mais je n’y arrive pas. Quelqu’un aurait une solution svp ? Car une assistance vocale qui est incompréhensible (car voix anglaise lisant du français) ça ne sert plus à rien… :s
            SVP, aurait il une solution pour résoudre ce problème, ou alors switch le problème ? voire même passer par un autre outil ? Je présume que Yana est basée sur le même outil et donc cela ne changerait rien ?
            j’ai installé une version antérieure de microsoft reader mais je ne peux pas paramétrer la voix, elle est en anglais (même si microsoft reader est en français).
            HELP PLEASE ? :'(
            Merci

          • Idleman Auteur Article

            tu as bien tapé %windir%\SysWOW64\speech\SpeechUX\sapi.cpl dans démarrer ? Tu as installé vriginie.exe fournis avec yana windows ?

  26. Guilloux Nicolas Réponse

    Bien le bonjour les internautes !

    Particulièrement à toi Idleboy ! Il n’est vraiment pas dans mon habitude de demander sur un forum/site de l’aide car j’estime qu’Internet est assez fournis. Mais là, je t’avoues que je désespère après avoir passé 6h non-stop dessus ! (Oh pardon, 7h ! Je sais même plus à quel fuseau horaire je suis.)

    Toujours est-il, j’ai fais les manip’. \o/ Rien d’extraordinaire. Mais ça marche pas.

    J’ai Windows 8 64 bits, normalement ça ne devrait pas poser de problèmes.
    J’ai lancé Yuri dessus pour la reconnaissance vocale et, pas de problèmes, il détecte ma voix et ce que je dis.
    Sur mon Raspberry, j’ai mis ton script (j’ai essayé de faire même chmod 777 yuri.php… Je sais pas ce que ça fait !) sur le serveur Apache2.
    Les deux sont reliés entre eux via un hub ethernet. Je pilote même mon Raspberry avec un serveur VNC ! Magique hein ? Le site est accessible via mon navigateur sur le PC et même en mettant les fonctions comme : “http://192.168.15.100/yuri.php?action=CHANGE_ENGINE_STATE&engine=LAMPE_SALON&state=0”, ça marche.
    Le truc, ce qui marche pas, c’est quand je dis quelque chose, il refuse de m’écouter. Du moins, sur le Raspberry, il n’y a aucune action.
    Je pense que l’envoi des infos ne se fait pas. Pourquoi ? C’est ça que j’te demande =D
    J’ai déverrouillé le parefeu au cas ou, j’ai tout lancé en admin, et je désespère !

    Donc si t’as encore un de éclairs de génie en RAB, je saute dessus 😉 Merci bien !

    • Idleman Auteur ArticleRéponse

      Idleman suffira 🙂 (“boy” ayant été plus adapté il y a quelques années, à la rigueur j’accepte idle-young-adult XD)

      Quelques question histoire d’éclaircir tout ça 🙂 :

      Dans ta console yuri, qu’y à t’il d’écrit lors d’une tentative ? Quelle requete s’affiche ? Quelle réponse s’affiche ?
      Dans yuri/macros/rpi.xml quelle est l’adresse locale que tu lui as fournis ? Est ce bien 192.168.15.100 ?
      Sur ton rpi, dans /var/log/apache2.error.php quelles sont les éventuelles erreurs écrites à l’heure de tes tentatives?

      • Guilloux Nicolas Réponse

        Merci de ta réponse Idle-Young-Adult-Gentle-Man (C’est un bordel.)

        – Il ajoute les fichiers .xml et les “ajoute au contecte”.
        – Il me dit qu’il regarde (c’est flippant !)
        – Il me fait la liste des contextes
        – Il prend un a un chaque contexte et lui attribut la valeur “True”.
        – Il nous écoute.
        – Il use la confidence level:0.80
        – REJECTED Speech: 0,2915327 < 0.8 Device: Text: Yuri allume le salon.

        Pour le fichier xml, j'ai mis http://192.168.15.100/yuri.php

        Aucune si ce n'est une erreur PHP à propos d'un index dans la ligne 37.

        • Idleman Auteur ArticleRéponse

          Sinon Idle ça fonctionne aussi 🙂

          Donc si il te met – “REJECTED Speech: 0,2915327 < 0.8 Device: Text: Yuri allume le salon." Ça signifie qu'il à entendu ta phrase mais qu'elle n'est pas assez proche de son seuil de tolérance pour qu'il la prenne en compte, tu dois donc trop mal prononcer (trop vite, pas assez fort, trop maché etc...), prononcer de trop loin,avoir un micro vraiment trop pourri ou encore avoir trop de bruit ambiant. Du coup il ne fait pas de requête, donc il n’attaque jamais yuri.php. Quelle est l'erreur concernant l'index? (bien que je ne pense pas que notre problème vienne de la)

          • Guilloux Nicolas

            Donc qu’est-ce que je dois faire pour qu’il accepte ma superbe voix ?!
            Je dois t’avouer que je ne comprends j’ai essayé près, loin,… rien n’y fait !

          • Guilloux Nicolas

            EUREKA ! Y’a juste un petit malin qui a mis le pré-ampli du micro à +30 Db. Donc il pigeait que dalle. Moi non plus remarque.
            Tu m’as bien aidé. Maintenant, j’vais pouvoir bidouiller comme un petit fou ! Merci beaucoup !

  27. Pizzacoca Réponse

    Idleman,
    Je ne te remercie pas pour toutes ces infos concernant le raspberry.
    A cause de toi je viens claquer 83,77 euros dans un rasberry…
    Et bientot au moins autant en makey makey et autres babioles.
    Sans compter les dizaines d’heures de sommeil en moins.

    En fait je vous maudit tous autant que vous êtes !

    N.B : Et je ne parle pas de cette satanée installation calaos qui me flingue déja quelques nuits, non, vraiment les gars, alors que j’avais déja un WAF déplorable, le restaurant de cette saint valentin va me couter un bras, cette année.

    • Idleman Auteur ArticleRéponse

      Tu m’en vois fort contrit :)…

      Mais comme je suis un peu sadique *claquement de fouet* je vais continuer encore un peu :p

      Sympa calaos, je connaissait pas, très pro, dommage que ça ne soit pas libre 🙂

      Paix à ton WAF pizzacoloa (amen)

  28. Robin Réponse

    Salut !

    Tout d’abord, merci à toi pour cette série d’articles que j’ai dévoré alors que je ne possède même pas de rpi (ça risque de changé du coup).

    Mon Macbook étant en panne actuellement, j’ai hérité d’un PC ce qui m’a permis de jouer un peu avec YURI. Je dois avouer que j’ai été bluffé par la qualité de la reconnaissance vocale et je trouve la voie française vraiment sympa. D’après ce que j’ai pu voir, YURI parle après avoir reçu une réponse du script PHP. J’aimerais le modifier légèrement pour que le serveur web soit capable d’envoyer de lui même une phrase à YURI (histoire d’utiliser cron et de faire des trucs sympas). J’ai installé Visual Studio pour tenter de faire un peu de ménage dans le code de SARAH et repartir sur une base simple mais n’ayant jamais fais de C#, on peut dire que je galère grave.

    Penses-tu pouvoir mettre les sources de YURI en libre accès ? Je sais que tu as juste nettoyé le code mais je pense que ça m’aiderait pas mal pour démarrer.

    Sinon j’ai parcouru rapidement les détails de l’api Speech sur le site de Microsoft, je n’arrive pas à comprendre s’il est possible d’ajouter un peu d’intelligence à la reconnaissance vocale ou s’il faut construire à chaque fois des fichiers de grammaire XML. Par exemple, peut-on récupérer un mot en tant que variable ? ex: Quel temps fait-il à [variable]. Car si j’ai bien compris, il faut que tout les cas soit chargés dans les fichiers de grammaire pour que la reconnaissance “match” une phrase. Du coup, il est vrai qu’une reconnaissance vocale qui convertirait simplement une phrase vers un texte permettrait de rendre l’ensemble plus intelligent (avec un traitement adéquat). On pourrait par exemple imaginer que le programme soit capable d’apprendre de nouveaux termes, de faire des liens entre les phrases voir de conjecturer certaines choses (ex : au lieu de dire “allume le ventilateur”, l’on pourrait dire “j’ai chaud” et le programme comprendrait que cette phrase est lié à une notion de température et qu’il possède l’action pour agir sur ce paramètre grâce au ventilateur). Je pense à sa car un ami fan d’IA travaillait sur un concept similaire, il faudrait que je lui demande où il en est.

    • Idleman Auteur ArticleRéponse

      Je n’ai pas touché aux sources C# par rapport à sarah :), je me suis contenté de dégager les exécutables et les fichiers qui ne servaient pas a yuri et de modifier les fichiers XML, au niveau du cœur, yuri n’est qu’un sarah travestis ^^.

      bref les sources sont les mêmes, peut être peux tu demander un coup de pouce à JP encausse pour ton problème, peut être même qu’il à déjà implémenté la fonction d’écoute d’événement (ça ne m’étonnerais pas car ça manque à tous le monde)

      Je suis en train de développer mon propre logiciel type SARAH de mon coté, de manière à ce que ça soit plus spécialisé pour la domotique, mais comme je repart de zéro (ca me prendrais trop de temps de modifier les sources de sarah, et puis je tiens a avoir la maitrise complète du code) ça risque de prendre un peu de temps.

      Le logiciel que j’écris vas écouter les événements du serveur toutes les x secondes et synthétiser sa réponse (si réponse il y a), ça devrait donc répondre à ta demande :), pour le moment le code est présent mais la synthèse bloque au moment de lire, j’ignore encore pourquoi ça ne doit pas être grand chose.

  29. Thibow Réponse

    Salut IdleMan !

    Pour information, je viens de trouver une API qui pourrait permettre a notre système vocale d’aller encore un peu plus loin : https://www.zypr.net/ By Pioneer s’il vous plait.

    OK… Zypr a besoin d’internet pour communiquer par Push, mais là ou Zypr va plus loin et mérite qu’on s’y penche, c’est qu’il utilise les API d’autres services.

    Petit copier/coller de la présentation du concept : ” It’s a consistent way to access voice UI, maps and routing, local search, social networking, music, radio, etc. from your car, from home, from work, or on your smartphone at the grocery store.” & “Developers and device makers can access the Zypr cloud using a RESTful API, which is similar in concept to any other API, and after obtaining a free license, device makers and app developers can access the API through HTTP calls, using common languages and OSes.”

    Amicalement,

    • Idleman Auteur ArticleRéponse

      Pas mal mais j’ai du mal a voir ce que ça pourrait nous apporter dans notre cas, on passe toujours par internet et toujours par des services distants.

      l’api speech de google comme celle d’apple sont toutes deux attaquable en REST (ou similaire) du coup l’utilité de Zypr reste à définir 🙂

  30. Lhoara Réponse

    Salut Idleman,

    Merci beaucoup pour ces tutoriels sur la domotique et la reconnaissance vocale.
    En attendant de recevoir mon Raspberry je me forme avec yuri. En rajoutant des petits modules de type : Films à l’affiches, météo etc. Cependant j’ai une question, as-tu une idée de la manière pour récupérer un mot ou un ensemble de mot dans une phrase que l’on a prononcé ? Par exemple : “Yuri fait une recherche sur le mot “Panda” sur wikipedia.” à ce moment la yuri exécute un petit script php avec une variable du genre $search=’panda’;.

    Merci 🙂

    • Idleman Auteur ArticleRéponse

      il faut utiliser la balise dictée je crois, un truc comme ça ^^, je t’invite a regarder la doc de SARAH (programme à la base de yuri) ou plus largement la doc de microsoft concernant son api speech (utilisée par sarah) pour y dénicher toutes les subtilités du réglage des xmls de config

  31. Thibow Réponse

    Idleman,

    En effet, Zypr ne résoud pas notre problème de fond, il apporte juste une API permettant l’utilisation d’autre grandes API…histoire de rationaliser 🙂

    Pour revenir sur notre problème, je pense avoir trouver deux solutions qui n’ont pas encore évoqué en commentaire :

    – Utilisatoin de Wine pour emuler un disque et lancer l’exécutable depuis celui-ci

    – Google vient d’annoncer une MAJ pour la reconnaissance vocale en fonctionnement hors-ligne (cf http://android-france.fr/2013/02/20/google-search-reconnaissance-vocale/)

    La première solution nous permet de garder la voix M$ de Virginie, après je demande a voir la réactivité et les performance de l’appli (vu qu’elle sera émulé).
    La seconde solution dégradera la voix du TTS (moins bonne que celle de M$), mais au moins on a un système libre qui s’implémente plus facilement dans notre PI…

    Qu’en penses tu ? Qu’en pensez vous ?

    Amicalement,

    • Idleman Auteur ArticleRéponse

      J’avais pensé a émuler un disque via une VM windows par exmeple avec virtualBox, mais je n’ai jamais tenté le truc, j’ai peur que ça bouffe tout sur le rpi … pour ce qui est de wine, à ma connaissance ça peux exécuter des soft .exe mais j’ignorais que ça pouvais émuler un disque…

      La reco locale de google est très tentante, reste a savoir comment on peux se la procurer et si c’est installable sur un raspian 🙂

      De mon coté j’avais pensé a utiliser un karotz( lapin domotique à 70$ qui intégre reco et synthese vocale et qu’on peux programmer par application comme les smartphones) ça ne dois pas consommer beaucoup et le prix reste abordable.

      merci pour les pistes :p

      • Olivier Réponse

        Salut Idleman,

        J’ai installé yuri cet aprém chez moi (je l’ai appelé Sara :D) mais je l’utilise sans le Raspberry.
        J’utilise le Karotz pour la parole mais pas pour la reconnaissance vocale car on est obligé d’appuyer sur le bouton pour que ça marche.
        J’ai une zibase qui commande une bonne partie de ma domotique.
        En une heure environ, le temps de trouver quelques astuces pour le karotz et les bonne syntaxe et je commande mes volets, ma lumière, ma vmc.
        Bref que du bonheur mais comme tu le dit j’ai baissé en WAF lol.
        Merci encore

        • Idleman Auteur ArticleRéponse

          Pour le karotz, il est possible de développer des applications histoire de court circuiter l’appuis obligatoire sur le bouton, je vais essayer d’en développer une et, si les pouvoirs de l’application sur le système sont trop limités, essayer de rooter le lapin ! :p (visiblement c’est une distrib linux derrière :D)

          • Olivier

            Oui, tu as surement raison, ça doit être possible. il y a des infos içi: http://wizz-cc.blogspot.fr/
            Mais je suis pas asser calé sur linux pour me lancer tout seul, je comprend pas tout lol.

          • Idleman Auteur Article

            Effectivement ces tutos sont complet et très intéressants :), je me les ferais un de ces 4 et je tenterais de vulgariser ici si j’arrive a l’implementer comme je veux dans mon système domotique.

  32. adrien Réponse

    Chez moi j’ai un petit souci, les commandes sont inversées, je ne comprends pas.

    gpio write 0 0 me la met à 1
    gpio write 0 1 me la met à 0

    Sinon bravo pour ton site et ton travail, que du bonheur !

    • Idleman Auteur ArticleRéponse

      La comme ça au jugé je dirait que tua confondu la sortie NO (Normally open) et NC (Normally Close) de ta carte relais, du coup quant tu lui envois zero, la carte est normalement fermée (donc elle ferme le circuit, donc ta lampe s’allume) et quand tu lui envoie 1, la carte ouvre le circuit (donc plus de jus, la lampe s’éteint) 🙂

      • adrien Réponse

        Désolé je ne comprends pas, concrètement je dois faire comment pour que quand je fasse un gpio write 0 1 la led du relais s’allume ?

        • Idleman Auteur ArticleRéponse

          Ton relais à trois entrée NC, NO et GND, du dois branche la masse sur GND et le pin gpio sur NO au lieu de NC, ça devrait mieux fonctionner 🙂

          • adrien

            En fait quand je dis relais je parle de la led, actuellement, si croix rouge led activée, si vert éteint, normal ?

  33. Ieyasu Réponse

    Salut Idleman, merci pour l’article, très intéressant!
    Cependant, j’aimerais savoir si l’exe client de Y.U.R.I est de ta facture ou si c’est un fragment de S.A.R.A.H?

    • Idleman Auteur ArticleRéponse

      Comme je l’ai dis et répété un certain nombre de fois : yuri n’est autre qu’un sarah auquel j’ai enlevé quelques binaires et modifié quelques xml pour l’adapter a notre projet domotique, je n’ai pas touché au code source 🙂

      • Ieyasu Réponse

        Autant pour moi, je n’ai été très attentif à tous les commentaires 😀

        Je vais me pencher la dessus se soir 😉

        Tu bosses sur des relais contrôlés à distance non?

        • Idleman Auteur ArticleRéponse

          Oui, enfin je l’ai fait en tuto 15, la je bosse plutôt sur d’autres type de périphériques (sonde de température, capteur de mouvement, électrovannes, servo moteurs etc..) histoire de couvrir un large éventail de possibilités domotiques 🙂

  34. Ieyasu Réponse

    Intéressant.

    Je suis tenté par électronique domotique mais je ne trouvais pas d’exercice concret à appliquer.

    L’électrovanne pourrait être une piste pertinente pour l’alimentation en CO2 de mon aquarium 😀

    Paf, en favoris !

    • Idleman Auteur ArticleRéponse

      Je cherche une bonne électrovanne hydraulique (pas pneumatique) bas prix, si tu en trouve dans tes recherches fait moi signe 🙂

      • Ieyasu Réponse

        Grosse galère pour trouver les installs pour avoir la langue de lecture en francais.
        Mon synthétiseur reste désespérément en anglais.

        Mon reader est en anglais, et pas moyen de le passer en français, les sources ne sont plus disponibles chez microsoft, puisqu’ils ne maintiennent plus le reader :/

        Tu as récupéré tes installations sur quel site?

        • Idleman Auteur ArticleRéponse

          Tu est passé par ou pour changer la voix ? Essaye de taper

          %windir%\SysWOW64\speech\SpeechUX\sapi.cpl dans le menu démarrer et de la sélectionner depuis le panneau qui apparait.

          Si c’est déjà ce que tu avais fait, accède au panneau de base en tapant “synthèse” dans le menu démarrer.

          • Ieyasu

            J’étais bien passé par là, mais aucune des voix n’était française.
            J’ai réussit après de nombreux téléchargements à trouver “Virginie”, merci pour l’aide 🙂

  35. Mafiachachou Réponse

    Bonjour a chaque fois que la synthese donne une reponse sa me mais “Assez de fonctionnez” est sa ce ferme peut-on empecher cette action … PS: je suis sur vista familliale

    • Idleman Auteur ArticleRéponse

      Salut, je n’ai rien compris à ton problème :), mais c’est un message inconnu au bataillon de mon coté, c’est certainement une subtilité de SARAH que je ne connais pas, je te conseille de te référer à la doc de SARAH et le cas échéant de contacter son auteur JP Encausse 🙂

  36. Romain H Réponse

    Salut Idleman,
    Avant tous je souhaite te remercier car je part de zéro et avec toi j’avance a grand pas.
    Je souhaiterai allumer/éteindre plusieurs lampe en même temps, dans yuri.php j’ai rajouté :
    ‘TOUS’=>xxx,
    et dans rpi.xml:
    tous
    out.action.engine=’TOUS’

    le problème c’est que je ne sais pas comment écrire les numéros de pins a la place des xxx.

    Et pour changer de nom Yuri il faut juste remplacer tous les “yuri” de partout ou cela et plus compliqué ?

    Merci d’avance !!! 😉
    Je suis impatience de voir la suite

    • Idleman Auteur ArticleRéponse

      Pour changer le nom de yuri un simple remplacement de la chaine partout fonctionne oui 🙂

      Concernant le ciblage de tous les ports gpio, tu n’a pas le choix, soit tu fait une boucle qui applique l’action sur tous les ports, soit tu fait les ligne à la main 🙂

  37. Psit Réponse

    Bonjour je souhaite pouvoir lancer de la musique grace a cette commande vocal mais en mettant system(‘play ma_musique.wav’);
    Cela ne marche pas comment puis-je faire Merci

    • Idleman Auteur ArticleRéponse

      Tu devrais regarder sur google avec les termes “lancer une musique en commande système depuis php” je ne suis pas qualifié pour te répondre la dessus désolé 🙂

  38. BoB Réponse

    Bonjour,
    je test actuellement votre solution que je trouve GENIAL.
    En effet couplé avec les bons produits, je compte mettre en place une solution domotique a mon domicile géré par commande vocale.
    Cependant, je me trouve devant un problème simple. Je souhaite effectuer des requêtes HTTP avec plusieurs variables et il semblerait que le “&” dans les requêtes ne passe pas: le logiciel plante avec le lien http://mabox.fr/volet.php?position=1&action=1 et si je supprime &action=1 ça passe.

    Quelqu’un a t i une idée pour résoudre mon problème ?

    Merci par avance.

    • Idleman Auteur ArticleRéponse

      dans yuri tu dois passer les paramètres sous cette forme :

      out.action.position=’1T’
      out.action.action=’1′

  39. matthias Réponse

    salut IDLEMAN,

    super tuto, super bien expliqué, j’arrive bien à allumer ma led sur le raspberry, mais par contre pour ce qui est de l’heure , la date, les insultes etc.. cela ne fonctionne pas, la voix ne me réponds pas.

    et un autre problème, la voix est en Anglais, et j’ai beau avoir télécharger une langue française, je n’arrive pas a l’assigner au page, car la langue que j’ai télécharger et installer, je ne trouve pas son emplacement sur mon PC.

    • Idleman Auteur ArticleRéponse

      As tu pensé à bien modifier tous les xml pour qu’ils pointent vers ton adresse réseau de rpi ?

      As tu bien regardé sur les action PHP existaient sur le rpi ?

      Pour la voix en anglais c’est toujours un peu casse couille car windows as du mal a s’organiser entre le 32 et le 64 bits, essaye de lancer le sélectionneur de langue depuis la commande %windir%\SysWOW64\speech\SpeechUX\sapi.cpl (dans le menu démarrer), le panneau de sélection de langue est celui pour 64 bits et non celui pour 32

  40. matthias Réponse

    ha ! en effet je n’es pas modif mon adresse réseau sur tous les XML, et pour la langue je vais voir ça =) , merci des infos !

  41. elfritze Réponse

    Lorsque je lance wsrmicro il plante sur l’erreur No recognizer of the required ID found.. Quelq’un a une idée?

    • Idleman Auteur ArticleRéponse

      Regarde du coté du site de SARAH voir si quelqu’un n’a pas déjà eu le problème, visiblement c’est du à la classe recognize du framework speech de microsoft, est tu sûr d’avoir un micro fonctionnel branché avec le bon driver? Es tu bien sous vista/seven ? La reco vocale standard de microsoft est elle bien installée/activée sur ton pc ?

  42. papa_ours Réponse

    Bonsoir,
    il s’avère que Alhena SpeakHome fonctionne sur ce même principe.
    Et il y a justement une version gratuite pdt 30 jours.
    Je ne suis pas un bidouilleur comme vous mais vu qu’il fonctionne également avec les smartphones. Donc, si le coeur vous en dit :-).

    • Idleman Auteur ArticleRéponse

      Sympa, dommage qu’il soit proprietaire, payant, et plus orienté CPL que radio :), on peux difficilement bidouiller un soft comme ça, déja parce que c’est illégal, et ensuite parce qu’on à pas les sources, ce qu’il faudrait c’est un équivalent open source de qualité (donc pas sphinx & co qui sont relativement médiocres pour le moment).

      Merci pour le partage 🙂

    • Idleman Auteur ArticleRéponse

      Malheureusement non :), YURI utilise la librairie de synthèse/reco vocale de microsoft, il n’est donc pas portable sur un autre environnement que windows, sauf en faisant de la virtualisation.

  43. YaYa Réponse

    Salut,
    excellent tuto et présentation, tout cela m’a bien donné envie 😀 mon problème est que je n’arrive pas à mettre la main sur yuri.php dans le tuto n°9, je ne comprend pas ou se situe ce fichier ou bien si on doit le créer. Si tu pouvais m’eclaircir ce point stp? En tout cas bonne continuation et si te prend l’envie de faire quelques projet avec arduino je me ferais un regal de lire.
    @+

    EDIT : milles excuses pour yuri.php je ne l’avais pas vu en 2° liens :s

    • Idleman Auteur ArticleRéponse

      Ya pas de soucis :), concernant arduino, ça sera plus la puce atmega que la carte entière mais les prochain tuto devrait toujours en parler de près ou de loin 🙂

  44. YoCsusu Réponse

    Bonjour,

    Encore une fois tu m’inspires !
    Bref j’ai le Pi et comme toi je gère ma domotique(ampli,lampe…).
    Mais je bosse aussi du coté Dév, car j’intègre les commandes de windows en php grâce à la fonction exec() de php qui fait le liens sur un .bat du coup il est possible de rajouter toute les commandes de la CMD (malheureusement, pour trouver le son c’est une DLL).Encore un Bref si les sources vous intéressent demandé, je continue à bosser sur le projet.

    Mais est-ce que j’ai bien le droit ????
    Et est-ce qu’avec des REGEX pouvons nous lire des morceaux de site Web (but : Météo, Allomovie ce que fait déja S.A.R.A.H mais je prefere le Php) ??

    Merci d’avance.

    • Idleman Auteur ArticleRéponse

      Je n’ai pas bien compris ce que tu faisait mais tu as le droit de faire ce que tu veux tant que tu ne te fait pas choper 😀 !!

      Pour ce qui est des regex tu peux, je te conseille d’utiliser des librairies spécialements faites pour l’analyse du dom type http://phantomjs.org/ ou autre équivalent PHP ça te mâchera le travail.

      • YoCsusu Réponse

        Concrètement ça ressemble à sa : “Jarvis,éteint l’ordinateur.” rien de bien complexe un case GET_SHUTDOWN avec pour affectation à la variable $reponse = exec(shutdown.bat); et le shutdown.bat exécute la commande : “shutdown /s /f /t 60”.
        Bon c’est peut être pas optimisé car on peut lancer la commande depuis le exec() mais c’est surtout pour le concept.
        Après derrière il est relativement envisagable de lancer un programme etc…

        • Idleman Auteur ArticleRéponse

          Oui c’est tout à fait jouable, en revanche tu risque d’avoir des pb de permissions si tu lance une commande aussi sensible depuis le exec, il te faudra certainement passer par un wrapper C

          • YoCsusu

            Donc,

            Mieux vaut utiliser les .bat .

            Pour info le projet contient :
            – un nouveau exe qui installe jarvis(Y.U.R.I désolé…) en démarrage auto et lance le serveur appache (j’ai pas encore mis sur le pi)
            – Au lancement de jarvis : un son robotique genre démarage puis jarvis demande comment était votre journée… Bon c’est gadjet
            – Fonction éteindre ordinateur.
            – Lancer le lecteur Média (dommage qu’elle ne comprenne pas ACDC … )
            – Controler les prises Radio
            – récupération de la météo (En cours)
            – récupération des films (En cours)
            – récupération des actualitées (En cours)
            – Date en fonction d’un planning (j’ai fais la fonction mais le planning est encore manuel), et si il est tard elle vous donne des conseils (Style : 04:00 A.M Samedi : Voila une bonne heure pour travailler, en quoi puis-je vous être utile).
            – L’ heure mais je me tate à la supprimer (Oui l’original ne donne pas l’heure juste pour le coté “référence”).

            bref je fini de dév je pense que j’ai encore pas mal de boulot, mais je consacre pas mal de temps donc ça avance vite.

            Si d’avantages d’idées merci de poster.

            PS: “J’ai besoin de faire des conditions, style :
            MOI : “Jarvis éteins l’ordinateur”
            Jarvis : “êtes vous sur ?”
            Moi : “Oui”.
            Mais je n’ais pas encore trouvé de solution n’y vraiment retourner la question.
            une piste ? …

          • Idleman Auteur Article

            SARAH implémente déjà ce style de question réponse a ce qu’il me semble 🙂

  45. Ne02ptzero Réponse

    Salut!
    Merci pour ce beau tuto, je vais sûrement m’en inspirer pour mon futur raspi !
    Je voulais juste vous présenter mon petit soft DLA peut être plus approprié à cette utilisation, vu qu’il tourne sous Linux!
    Plus d’infos -> http://projetjarvis.tk/
    Le code est open source, tu n’a qu’a t’en inspirer pour faire un Jarvis uniquement domotique, ou dis moi sinon quelles sont les demandes et les commandes à faire pour que j’en programme une 🙂
    Amicalement,

    • Idleman Auteur ArticleRéponse

      Le soucis étant que tu passe par google API, qui est un webservice :), et c’est justement ce que j’essaye d’éviter pour les raisons évoquées dans le tuto 9, cela dit ça pourra en intéresser des moins casse couilles et paranos que moi, merci pour le partage 🙂

      • Ne02ptzero Réponse

        Merci pour ta réponse 🙂
        Voilà ce que je propose:
        Je termine la version 1.0 de Jarvis (Bien plus complète que la BETA) et je vais bosser après sur une version raspi.
        Il y aura sûrement:
        -Toutes les commandes utilisées dans tes tutos (si tu n’y voit pas d’inconvénient évidemment) ainsi que les commandes vocales appropriées
        -Une gestion plus complète et pas seulement domotique (mail, alerte news, météo)

        Ce serai pour les gens qui voudrait utiliser uniquement leur raspi (sans laisser tourner un ordi h24 derrière) et pour un DLA qui ne sert pas seulement à la Domotique!

        Plus un plug-in d’ajout de commande personalisées, pardon d’avoir oublié !

        Amicalement :),

        • Idleman Auteur ArticleRéponse

          Ça peut être intéressant oui :), je compte revoir mon interface hcc un de ces 4, on pourrait éventuelement intégrer ton jarvis sous forme de plugin aussi pourquoi pas 🙂

  46. wYse Réponse

    Bonjour à tous,

    Je tiens d’abord a signaler que ton blog est une merveille, donc merci a toi.

    J’ai quelque petit soucis au niveau de .xml.
    Je voudrais créer un nouveau fichier xml avec la requête et les ordres associés.

    Mais une fois créer l’application ne se lance plus. Quelqu’un peut m’éclaircir?
    merci

    • Idleman Auteur ArticleRéponse

      Tu dois avoir une erreur de syntaxe dans ton xml, l’application plante dès le départ si elle n’arrive pas a parser un xml mal formé, après sans plus de détails c’est dur de t’aider 🙂

  47. Wil Réponse

    Bonjour,

    Je re-post peut-etre, je ne sais pas si mon premier commentaire a été pris en compte.

    J’ai installer Yuri chez moi et tout marche nickel. Mais dès que je veux rajouter un .xml, l’application de veut plus du tout se lancer ( windows me demande de fermé le programme) de quoi cela peut venir?

    Merci pour ton blog qui est une merveille. et merci aussi a toute la communauté qui le fait vivre.

  48. MadMax55 Réponse

    Salut Super blog je suis totalement fan !
    Mais petit problème sur ce tuto , en attendant les pièces que j’ai commandais pour mètre en œuvre ton tuto je me suis avancer et veut absolument testé Yuri qui a l’air super fun , le soeur problème c’est sa ”
    [2013:05:02] [ENGINE] REJETED Speech : 0.636502 <0.9 Text: Yuri qui est tu ?

    • Idleman Auteur ArticleRéponse

      Tu ne parle pas assez clairement ou ton micro est de trop mauvaise qualité ou ton son est trop bas etc… Yuri indique que tu dois atteindre une pertinence de 0.9 pour qu’il valide la phrase, et que tu n’atteind que 0.63

      Tu peux baisser cette pertinence dans les configs de l’xml mais je te conseille plutôt de prendre un bon micro pour capter les voix type miro array ou kinect

  49. mmoi Réponse

    juste pour dire que j’ai lus l’ensemble des tuto, et j’ai (évidemment) quelques soucis/bug mais là, maintenant, tout de suite j’ai juste envie de dire merci et bravo pour tout ça !

    PS : j’avais déjà commencé mon installation domotique à base d’arduino, l’ajout du raspberry avec les contrôles radio à largement amélioré mon WAF : plus de fils qui trainent !

  50. Sharlihe Réponse

    Bonjour, ton blog est tout simplement génial je viens de la partager à plusieurs connaissances.

    Dans un projet scolaire j’aimerais utiliser un pc comme Mère pour mon installation domotique qui contrôlera un arduino Mega lui même chargé de récupérer les données des capteurs et gérer ses sorties sur des relais.

    J’aimerais donc avoir ton superbe YURI uniquement sur mon pc , pourrais tu me dire comment faire ?
    En fonction des actions à effectuer YURI devrait envoyer des infos sur un programme VB ou sur une page PHP voir les deux.

    D’avance merci !!

    • Idleman Auteur ArticleRéponse

      Tout est expliqué dans ce tuto normalement :), il te suffit de télécharger yuri via le lien fournis plus haut, de le décompresser et de configurer ses xml pour faire ce que tu souhaite puis de l’exécuter 🙂

  51. Enissay Réponse

    Hello Idleman,

    Merci bcp pour ce bijoux, je suis en train de faire les tests de Yori en attendant de recevoir mon RPI

    Dans les commentaires, j’ai vu que tu as dit qu’on peut exploiter Yori sans le RPI. j’ai fait le test, il arrive à faire la reconnaissance vocale, nickel. par contre il envoi la requete vers le RPI avec send httprequest…

    alors comment je peux, redirectionner les commandes vers le pc local, et je veux aussi que Yori me répond quand il exécute une commande…

    Merci bcp

    • Idleman Auteur ArticleRéponse

      En modifiant les adresses dans les xml du dossier macro tu peux le faire pointer vers n’importe quelle url locale ou distante :), yuri te répond par défaut quand tu lui envoie une commande avec le texte que la page interrogée lui renvoie, cf mon code 🙂

  52. Enissay Réponse

    Hello IdleMan,

    Merci pour ce bijoux extraordinaire. je suis en plein test actuellement de YORI, en attendant de recevoir mon RPI.

    YORI reconnait ce que j’ai dit, et il envoi la commande au RPI,

    J’ai 2 questions :
    – Comment exploiter YORI que sur Windows (dans un 1er temps)
    – YORI essaye de lancer par exemple la page yori.php/time… cela veut dire que je dois avoir un répertoire sur le RPI ! si c’est le cas (sauf un oublie de ma part) est ce que tu as mis le lien pour le telecharger ?

    Merci bcp

    • Idleman Auteur ArticleRéponse

      Mmmhh c’est pas clair tout ça ^^, je ne comprends pas tes questions, peux tu reformuler ça ? 😀

  53. Zerocool29 Réponse

    Bonjour, Super site ! enfin des bonnes idees pour utiliser mon rpi !
    Je trouve que les temps de reponse sur rpi sont un peu lents pour une utilisation “courante” mais j’ai essaye d’installer YURI sur mon PC sous win 7 64bits. Je lance le prog il reconnait plus ou moins bien ce que je dis mais des qu’il reconnait une commande le logiciel se plante ! dans mon cas en utilisation locale sur PC comment dois-je configurer le Yuri.php ? où le mettre ? j’ai tente de modifier les fichiers xml en mettant l’adresse de yuri.php (style c:\temp\yuri.php) mais rien, j’ai essaye de mettre http:\\192.168.1.XXX\yuri.php mais rien non plus ? Où me gourje ?

    Merci d’avance et continu avec ce ton decale sur ton blog ! c’est genial les gens intelligents qui ne se prennent pas pour des cadors !

    • Idleman Auteur ArticleRéponse

      il faut impérativement que tu mette des adresses en http:// sur les macros, donc si tu tiens executer des pages en local il te faut installer un serveur web en local comme par exemple WAMP, puis attaquer les urls via http://127.0.0.1/chemin.vers.fichier.php

      merci pour les encouragements 🙂

  54. Swan Réponse

    Salut !
    Alors déjà moultes mercis !
    Ton blog est génial et ce que tu fais aussi !

    J’ai pas l’habitude de demander de l’aide mais mes connaissances en php sont limitées et j’ai passé un long moment à tester diverses solution (qui n’en sont pas en faite…).

    Mon problème : quand je demande un truc à YURI, il me répond gentiment : “Aucune action n’a été spécifiée”
    Bon, alors je passe outre l’interface vocale et je rentre dans mon firefox : http://ip_de_yuri/yuri.php?action=GET_TIME
    Et la ce gros malin m’écris (dans firefox donc) : “Aucune action n’a été spécifiée”.
    Donc je regarde le code php, je vois un switch et comme juste avant ya : $response = 'Aucune action n\'a été spécifiée'; je me dis, “dégage le switch pour voir”.
    Donc je fait plusieurs fichiers php, et je renvois chaque fichiers xml vers son copaing php.
    Du coup il fonctionne mais avec de sacrés ratés puisque quand je lui demande l’heure il me donne toujours 20h43, quand je lui demande (gentiment pourtant) de m’insulter il me renvois toujours “Espaice de Visage sans nez”, et pour finir quand je lui demande d’allumer la lampe, il me dis que c’est fait mais elle s’allume pas… (alors que la commande gpio seule marche).

    Voila merci de m’avoir lus et si tu as une réponse c’est la fêêête !

    • Idleman Auteur ArticleRéponse

      Tu aurais du laisse rle fichier comme il était j’aurais pu t’aider ^^, mais la du coup je ne peux plus savoir ou tu en est :), je te conseille de repartir sur le fichier initial et de bien verifier si lorsque tu lance la commande http://ip_de_yuri/yuri.php?action=GET_TIME

      le fichier action.php contient bien un case ‘GET_TIME’: … dans le switch, car c’est cette partie qui vas s’executer.

      • Swan Réponse

        Salut,

        Bon bin ça fonctionne ! Super merci !
        Mais alors je comprend pas… Mais pas du tout !!
        Parce que bien évidement j’ai refais plusieurs fois toutes les étapes avec les fichiers d’origine etc avant de poser ma question.
        Alors la seule différence c’est que cette foi j’en ai eu mare de faire des wget, cp et compagnie en ssh pour récupérer yuri.php donc je suis passé par le bureau du rasp. Comme je ne vois absolument pas ce que ça pourrais changer je me dis que j’ai du faire une boulette la dernière foi…
        Bon en tout cas merci beaucoup pour ta réponse et continue à pondre des super tuto !

        Swan

  55. Riri Réponse

    Salut Idleman !
    J’ai suivi ton/tes tutos, c’est un vrai régale pour le moment (du moins quand ça marche 😉 ). J’attend de finir tous les tutos avant de pousser un peu plus l’expérience et personnaliser un peu plus les actions de mon rpi.

    Cependant, j’ai un petit soucis lors du lancement de YURI…of course. Si tout marchait du premier coup, ça serait trop simple 😉
    Lorsque je lance le fichier WSRMicro.cmd, j’obtiens l’erreur suivante :
    “Error with speech recognition init: Aucun module de reconnaissance de l’ID requis n’a été trouvé.
    Nom du paramètre : culture”

    Peut être que cette erreur te dit quelque chose ?
    Merci pour ton aide en tout cas !

    EDIT :
    J’ai posté un commentaire il y a quelques heures pour lequel j’ai trouvé une solution, certe plutôt radicale, mais qui marche : j’ai réinstallé windows7.

    Maintenant, ça marche, au point prêt qu’il détecte pas vraiment mes paroles et ne me répond que la date de temps en temps. Je ne sais pas si ce soucis te parle ? Sinon je vais bucher ça de mon côté, donc pas la peine de publier, ni mon précédent commentaire, ni celui ci.
    A+

    • Idleman Auteur ArticleRéponse

      Comment ça “quand ça marche” ? XD !! Ca marche tout le temps avec moi monsieur !! (enfin jusqu’à ce que ça flambe :p)

      Pour ton erreur c’est très simple : le logiciel pense que tu n’est pas assez cultivé pour l’utiliser 😀 !

      Plus sérieusement, le terme “culture” représente la langue de l’utilisateur en matière de reconnaissance, visiblement il te manquais une langue sur ton pc ou quelque chose de similaire, mais je ne peux pas t’en dire plus n’ayant pas
      développé SARAH (dont découle YURI).

      Pour améliorer la pertinence de la reconnaissance trois choses sont faisables :

      1) Régler la sensibilité de la reconnaissance “nommé confidence” dans les xml, c’est un chiffre entre 0.0 et 1, plus tu le met haut, plus la phrase doit être exactement prononcée pour que ça fonctionne, je te conseille donc de le baisser
      2) Executer plusieurs fois l’assistant d’apprentissage de profil de la reco de windows, dans le panneau reco vocale de windows ya un bouton nommé “Apprentissage”, si tu clic, windows vas te faire lire plein de texte afin de mieux se régler sur ta voix
      3) Acheter un micro array, c’est un micro qui gère très bien la dissociation de la voix et des bruits ambiants, un très bon est inclus dans la kinect mais tu peux en prendre un autre

      Nb : Si YURI te cause trop de soucis et que t es patient, je devrais bientôt sortir YANA, sa petite soeur entièrement développé par moi même, elle est un peu plus adapté à mes tutos domotique et tu aura peut être moins de soucis (ou du moins j’arriverais plus à t’aider à les résoudre)

      • Riri Réponse

        Super merci pour ta réponse. Je comprend mieux le coup de la première erreur.

        Ce qui est un peu embêtant c’est que YURI parle avec l’accent anglais, je n’ai que cette option dans les propriétés de voix de l’assistant…

        Pour le problème de “reconnaissance” de ce que je dis, ce que je trouve bizarre c’est que :
        1. Lorsque je prononce une phrase (ex: Yuri insulte moi), il rejète la phrase car le taux de “confidence” n’est pas assez haut, cependant, il écrit quand même ce que je dis à l’écran –> Il écrit parfaitement ce que je dis, mais il n’est pas capable de l’interpréter ? je comprend pas là ^^
        2. Je change la ligne suivante pour réduire le taux de “confidence” dans le fichier date.xml par ex : out.action._attributes.threashold=”0.80″;. Par exemple je le met à 0,5. Cependant, lorsque les phrases sont rejetés (assez régulièrement si je ne suis pas assez proche de mon micro), ce taux n’est pas du tout celui que j’ai mis dans le fichier xml, donc je ne comprend pas, peut être que je me trompe d’endroit ?

        J’ai hate de voir YANA, mais j’aime bien persister pour faire marcher ce qu’initialement je voulais faire marcher 😉

        • Idleman Auteur ArticleRéponse

          Pour l’accent anglais c’est parce que, par défaut, seule la voix “anna” anglaise est installée et active sur les windows vista/seven …

          Je te conseille de télécharger/installer la voix “virginie” qui est française et très réaliste, ou encore “hortense” qui n’est pas mal non plus.

          Pour ta première question c’est logique :), en fait yuri récupère la phrase du xml la plus “proche” de ce que tu as dit dans un premier temps, puis il attribue une “note” qui correspond aux ressemblances entre ce que tu a dit et cette phrase (c’est à ce moment qu’il t’affiche la phrase dans la console) MAIS yuri fait ensuite un test préalable avant de faire quoique ce soit de plus : il vérifie que la note donnée n’est pas inférience à un certain seuil, seuille que tu définit dans le xml sous le nom de confidence.

          Pour ta deuxième question c’est la même chose, la note affichée est celle qui vas être comparée au seuil que tu as mis dans le xml, donc c’est normal que ca ne soit pas la même :), garde à l’esprit que la note affichée dans la console est celle qui est attribuée en fonction des ressemblances entre ce que tu as dit et la phrase de ton xml.

          • Riri

            Merci pour le nom des voix, je vais aller voir ça.

            Ok je comprend mieux, parce que je trouvais bizarre qu’il arrive à bien détecter la phrase mais que finalement…bah non il a pas envie ^^

            Je me suis peut être mal exprimé sur mon deuxième point, lorsque je change la note dans le xml, à l’écran il affiche “la note que ma donné yuri” < "la note présente dans le xml". Lorsqu'il m'affiche ça, donc le signe "<" (inférieur), il rejète la demande. Et c'est "la note présent dans le xml" qui change alors qu'elle devrait être fixe.

          • Idleman Auteur Article

            Dans ce cas je vois mal d’ou ça viens désolé, je vais essayer de sortir YANA au plus v ite (peut être ce we si je trouve une minute avec ma thèse) tu pourra tester 🙂

  56. Chuck Réponse

    Bonjour, Tout d’abord merci pour ce tuto, j’ai installer la voix Virginie et sa fonctionne très bien :), mais peut-on rajouter des commandes, car sa a pas l’air d’être si simple :/
    A ce jours il n’y a toujours aucune reconnaissance vocale sans l’aide de Windows ? (juste avec le Rpi)

    J’ai vu aussi un projet nommée RORI qui a l’air d’être fait en python, sous linux et open-source : http://amarok1412.great-heberg.eu/rori.php
    Des développeurs pourrait peut-être faire une version Rpi ? 😀

    • Idleman Auteur ArticleRéponse

      Pour rajouter des commandes il te suffit d’ajouter des fichiers xml dans “macros”, ce n’est pas si compliqué, aide toi des existants tu devrais comprendre 🙂

      Il existe des reco sans aide de windows, mais elles ont toutes un inconvenient : soit elles utilisent un webservice (donc plus de net = plus de reco) soit elles sont locales, libres et dispo sur rpi mais médiocres (sphinx, arturus etc…)

      RORI utilise google speech et sphinx, ce qui signifique que quand tu as le net, tu passe par les serveurs de google (donc tout ce qui se passe dans ton appart est écoutable par les gentils monsieurs de chez google) et quand t’a pas le net c’est sphinx (donc ton système comprends plus rien à ce que tu dit ^^)

      Je suis médisant mais je suis pas loin de la vérité ^^

  57. Antoine1535 Réponse

    Salut,
    bon j’ai une question un peu bizarre ^^
    est ce que WSRMacro est créer par le créateur de S.A.R.A.H ou bien par microsoft ?
    car mon objectif finale est de rendre compatible toute plateforme Y.U.R.I.

    • Idleman Auteur ArticleRéponse

      WSRMacro est le binaire de SARAH, mais il utilise les librairies de microsoft, notamment microsoft system speech :), c’est très improbable que tu puisse faire tourner ça sur rpi, a part en virtualisant (et le rpi n’y survivrait pas) :).

  58. Bobby Réponse

    Salut idle et les autres 🙂

    Je découvre un peu les fonctionnalités du rpi que je vais acheter dans pas longtemps grâce à ton blog, c’est ouf comment tu arrives à faire des trucs trop stylés 😮

    Mais par contre j’ai un souci : je suis une pure daube en électronique, j’en ai jamais fait (sauf en techno au collège quoi), c’est grave ?

    Sinon nice article, je vais m’en inspiré pour installer une petite reconnaissance vocale dans mon appart, bien pratique 😉

    À plus,

    Bobby

    • Idleman Auteur ArticleRéponse

      Personnellement je ne me rappelle même pas de mes cours du collège :), donc non c’est pas grave.

      En tout cas moi j’y connais rien et j’arrive a faire à peu près ce que je souhaite (après quelques arrachages de cheveux et deux trois composants grillés je te l’accorde :p)

  59. riri69 Réponse

    salut idleman,
    super les tutos!
    Moi j’ai un probleme avec l’interface vocale ! (Application YURI ) au niveau youri.php.
    Quand je demande la date, tous marche bien.
    mais quand je demande d’eteindre la lumiere, l’action n’est pas effectué.
    j’ai suivis tous le tutos …..et il y’a quelque chose que je ne comprend pas dans yuri.php c’est :

    //en fonction de la variable action spécifiée par yuri desktop, on execute les actions ci dessous
    switch ($_[‘action’]){

    //action permettant l’activation/la désactivation d’un PIN GPIO (par exemple rélié a une carte relais elle même reliée a une lampe)
    // $_[‘engine’] = position de la lampe visée(ex : LAMPE_SALON)
    // $_[‘state’] = etat ciblé (0 désactivé, 1 activé)

    Doit-je remplacer ou indiquer des choses pour engine et state ? j’ai essayé de la faire j’ai une erreur 500 !

    Merci de ta réponse

    • Idleman Auteur ArticleRéponse

      Tu as certainement un pb de permission, regarde dans ton fichier de log (var/apache2/log/error.log) voir si tu n’a pas un message “setuid: Operation not permitted” si c’est le cas, suis la manip suivante :

      Place toi dans le répertoire de hcc (cd /var/www/hcc) et tape les deux commandes suivantes en même temps puis réésaye via l’interface :


      sudo chown root:www-data radioEmission
      sudo chmod 4777 radioEmission

      • riri69 Réponse

        Merci pour la reponse .

        En faite dans le log j’ai cette erreur :

        PHP Notice: Undefined index: LAMPE in /var/www/yuri.php on line 44
        Usage: gpio write pin value

        • Idleman Auteur ArticleRéponse

          Tu dois avoir un pb dans tes config car a la place de LAMPE il devrais y avoir le code GPIO relié a ton relais :), regarde ou tu a mis le terme LAMPE, et modifie ça pas le numero gpio wiring pi relié a ton relais

  60. Trinyty Réponse

    Salut a tous !! deja tres beau tuto de idle, et merci a toi pour tous les efforts et les belles choses que tu nous fais partager.
    Cependant, en suivant le tutoriel j ai un sacre probleme: YURI ne parle pas.

    voila ce qui s’affiche dans mon terminal :

    [ENGINE] RECOGNIZED Speech: 0.7324827 Text: Yuri il est quelle heure
    [HTTP] Build HttpRequest: http://192.168.x.xx/yuri.php
    [HTTP] Response status: OK
    [TTS] Say:

    il ne dis rien et c est comme ca pour chaque commande. ca s’arrete la. J ai telecharger SDK speech 5.1 sur le site de microsoft, jai cherche partout sur internet, j ai telecharger tous les trucs sapi de windows, j ai essaye de reconfigurer la reconnaissance vocal, les haut parleur, le micros… rien n’y fais. Est ce que quelqu un a deja rencontrer ce meme probleme et pourrais m aider ? visiblement il renvoi la reponse mais ca ne fais rien.

    PS: Je tourne sur windows 8.

    Merci a tous 😉

    • Idleman Auteur ArticleRéponse

      Ca viens probablement du PHP, as tu essayé un echo ‘test’; enfin de page php pour voir ce que ça donne?

  61. Nico33 Réponse

    J’ai une question toute bête … Je n’arrive pas à faire un unrar sur yuri-web.rar.
    J’obtiens un failed lorsque je tape la commande.
    sudo unrar -x -f yuri-web.rar
    Extracting from /home/pi/yuri-web.rar

    Extracting yuri.php Failed
    Je précise que je télécharge directement le fichier depuis le raspberry.
    As-tu le fichier en téléchargement mais non compressé ?

    • Idleman Auteur ArticleRéponse

      Désolé je ne l’ai pas sous un autre format pour le moment :), au pire décrompresse le sur ton pc et envoie le avec un utilitaire type winscp 🙂

  62. nico Réponse

    bonjour,
    je suis arrivé sur ce site en parcourant le web et en cherchant “le pc low cost” par curiosité et pour passer le temps.
    J’ai découvert le rapsberry pi que je ne connaissait pas et par voie de conséquences son potentiel grace a votre site qui me donne envie de me lancer
    dans l’aventure de domotique low cost, c’est vraiment du très bon travail félicitation, les tutos sont bien détaillés et compréhensibles.
    ce qui serai pas mal c’est qu’un jour il soit possible de piloter les gpio sans fil, car en lisant vos tutos on a bien envie de tout cabler dans la maison et d’installer des micros partout mais bon les placos risquent vite de morfler avec tout ces cables lol…….
    au plaisir de lire le prochain tuto, merci
    nico

  63. dom Réponse

    bonsoir,

    j’essaye de viser un port gpio mais rien a faire c’est toujour le meme qui salume ou s eteint
    action:
    case ‘CHANGE_ENGINE_STATE’:
    system(‘gpio mode ‘.$pin_engine[$_[‘engine’]].’ out’);
    system(‘gpio write ‘.$pin_engine[$_[‘engine’]].’ ‘.$_[‘state’]);

    $response= ‘Action effectuée’;
    je ne comprend pas ou on vise le port gpio vu qu’on et dans un array “pin_engine” comment viser
    merci pour vos réponse
    bon aussi non c’est vraiment du bon boulot , gros bravo
    merci

    • Idleman Auteur ArticleRéponse

      Salut, qu’essaye tu de faire et sur quel script ?

      le tableau pin_engine (a mon souvenir parce que ça remonte) permet juste de faire une conversion pin physiques/pin wiring pi.

      • dom Réponse

        bonsoir,
        ba en faite je veut juste créé un case pour un action sur un pin

        case ‘CHANGE_ENGINE_STATE’:
        system(‘gpio mode ‘.$pin_engine[$_[‘engine’]].’ out’);
        system(‘gpio write ‘.$pin_engine[$_[‘engine’]].’ ‘.$_[‘state’]);

        exemple :
        je souhaite créé une action vocal par pin .
        plus créé une commande vocal pour la totalité des pin ou de ceux que j’aurais sélectionné avec un case c’est l’idéal.

        mais je ne voit pas comment appeler les pin individuellement.

        j’ai pris le tuto sur cette page un peut plus haut avec yuri qui allume salon.
        j’ai essayer de changer les pin mais rien y fait .
        je comprend qu’il faut également faire un xlm pour chaque action ça ok mais il faudrait déjà que je puisse sélectionné le pin que je veut lol .
        j’espère qu’il e faut pas toucher au script en c writing qui se trouve sur la pi .

        merci beaucoup pour ta réponse aussi rapide.
        @bientôt

  64. XAUXAU Réponse

    salut!
    j’ai suivi les autres tutos qui fonctionnent parfaitement cependant j’ai un petit soucis avec YURI!
    L’allumage fonctionne parfaitement depuis le Pihome sur le navigateur . Sauf qu’avec YURI il me dit “action effectuée” mais rien n’est fait sur le Gpio 😉 En bref l’état du Gpio ne change pas

    • Idleman Auteur ArticleRéponse

      Coucou, je ne maintient plus YURi car il n’est pas d emoi, je te conseille de passer à ma solution : YANA, qui est plus récente et plus adaptée a mes tutos.

      Concernant ton problème je pense que ça t’aidera car YANA comporte un système de log plus détaillé afin de trouver simplement l’erreur.

  65. Emile Réponse

    Yosh ! Super tuto ! Seulement j’aurais voulu aller un peu plus loin dans les “ordres” et demander a GLaDOS (oui, je l’ai appelée GLaDOS :3 ) de lancer Firefox. Je n’arrive pas a lancer un programme avec un GUI en PHP. Un programme console marche très bien, je peux demander a GLaDOS d’éteindre mon ordi par exemple. Un petit peu d’aide svp ? Ca serait vraiment cool d’avoir un compagnon robot qui m’assiste !

    • Idleman Auteur ArticleRéponse

      Simple curiosité mais pourquoi GLaDOS ? 😀

      Je te conseille d’utiliser yana comme interface vocale, de cette manière tu peux créer des ordres custom juste avec une ligne de php dans un plugin.

  66. Nicolas Réponse

    Comment fait-on pour faire passer des paramètres dans l’url ?

    Par exemple “Yuri, donne moi le définition du mot coder”.

  67. Nicolas Réponse

    Salut, est ce que tu pourrais me donner la solution pour faire passer un paramètre dynamique dans le fichier xml ?

    Par exmple “Yuri Donne moi la définition du mot anticonstitutionnellement “, sans avoir a faire un xml avec tous les mots du dico ?

    • Idleman Auteur ArticleRéponse

      Regarde dans la doc de S.A.R.A.H, si il y a moyen de le faire, ça doit surement s’y trouver :), cherche les mots clés “dictation” ou “mode dictée”

  68. Gab' Réponse

    Bonjour bonjour,
    Quelqu’un sait-il comment inclure SPHINXpocket ?
    j’ai téléchargé CMUSphinx (c’est-à-dire sphinxbase et sphinxpocket) pour être utilisable en langage C, mais pour l’installer, ils demandent de placer des fichiers dans tel dossier ou quelque chose comme ça car je n’est pas compris, de plus je ne trouve pas ces fichiers qu’ils demandent. Leur explication en anglais pour le faire fonctionner est assez flou.

    Si quelqu’un sait comment installer tous ceci dans les bon endroits, ça serait sympa qu’on m’explique la démarche à suivre ?

    A voir ce lien :
    http://translate.googleusercontent.com/translate_c?depth=1&hl=fr&prev=/search%3Fq%3Dcmu%2Bsphinx%26biw%3D1280%26bih%3D736&rurl=translate.google.fr&sl=en&u=http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx&usg=ALkJrhg5-burr_8M_PG4jFIuF6Skn32fCA

    • Idleman Auteur ArticleRéponse

      Coucou :), normalement les liens sont remis d’applombs, je suis en phase de déménagement du coup le serveur de ressource à du mal à suivre 🙂

  69. seb Réponse

    Un grand merci pour ton travail Idleman !
    Mon système yuri fonctionne bien grâce à tes tuto alors que je n’y connaissais rien en électronique/domotique, il y a 15jours.

    J’arrive à commander mes prises, par la voix, par la telecommande chacon et via ton interface et j’ai même le droit de me faire insulter ^^

    Maintenant, je dois trouver :
    1. un émetteur de qualité et une antenne performante pour que ca capte dans toute la maison
    2. mettre en place une alimentation externe pour l’émetteur pour ne pas user les ports du RPI si j’ai bien compris ^^

    pour les 2 points tu as des conseils à me donner? dans le tuto tu parles de soudes un fil conducteur de 17cm. je prend quel type de fil? car la pour l’apprentissage des prises je dois me situer à 2/3 mètres max.

    En tout cas chapeau pour ton site 🙂
    Séb

  70. Zarak Réponse

    Bonsoir Idleman !

    Merci pour tous ces tutos. J’ai enfin reçu la bête ! J’ai un problème mon pc est sous win 7 64 Bits. Lorsque j’exécute “WSRMicro.cmd”. J’obtiens “WSRMacro.exe a cessé de fonctionner”. Rien n’a été modifié dans le dossier YURI mise à part l’adresse du Rpi. J’ai essayé en exécutant en tant qu’administrateur et sans même topo. Si toi ou quelqu’un peut m’aider ce serait super sympa.

    Merci encore pour tout ce que tu fais!

    Zarak

    • Idleman Auteur ArticleRéponse

      As tu essayé avec yana plutôt qu’avec YURI? Je ne maintient plus YURI cas il découle essentiellement du programme SARAH développé par JP Encausse, je le connais donc moins bien que mon alternative (YANA) qui est adaptée a mes tutos et que je connais par coeur.

  71. Zarak Réponse

    Hello, merci de ta réponse.

    Le problème semble venir de mon windows 7. J’ai virtualisé un autre windows 7 pour essayer et plus de problèmes !

    Merci ! :p

  72. Ping Compte-rendu // mardi 14 janvier 2014 |

  73. Gadgetroch Réponse

    Bonjour, j’aurais voulu savoir si ce programme est sous licence complétement libre et si on peut en faire ce que l’on veut ?

  74. thibault Réponse

    Bonjour ,
    ce blog est vraiment sympa , j’ai d’ailleurs acheté ma rpi pour pouvoir suivre tout ces tutos ^^
    J’ai une petite question concernant la reconnaissance vocale … est il possible de baisser la tolérance de la reconnaissance vocale ? car j’ai un peu de mal à me faire comprendre !
    Merci d’avance !

    • Idleman Auteur ArticleRéponse

      Oui, ça se fait directement sur les plugins de yana-server, et donc le plugin vocalinfo pour la plupart des commandes

  75. nathan04 Réponse

    bonjour , felicitation pour ton tuto, tu ma bien fait rire avec tes videos .
    pour une fois j ai reussi a faire un tuto qui fonctionne,j arrive a faire fonctionner mon relais 433 sur l interface web grace a ton tuto 12 mais je n arrive pas avec yuri si tu peux m aidé merci

  76. Ping Raspberry PI ~ 09 : Créer une interface vocale – Real-Docs

  77. Benoit Réponse

    Salut et merci de ton boulot!! Grace a toi je démarre mon aventure dans la domotique avec rpi.
    J’aurais juste une question a propos de la synthèse vocale. Pour que ça marche il faut un micro mais dans une maison de plusieurs pièces (donc toutes les maison 😀 ) la portée du micro ne va pas être mauvaise? Je me demandais donc si il était possible d’utiliser plusieurs micro a la fois (un dans chaqe pièces)? Etant donné que je n’ai pas plusieurs micros je te demande a toi si dans la théorie sur windaube on peux utiliser plusieurs micros simultanément et si ça ne va pas entrer en confit pour la reconnaissance vocale? J’avais pensé a des micros USB et non pa jack (on a plus de port usb que de jack 🙂 )
    Je te remercie encore une fois pour tout ton travail, merci d’être aussi clair.

  78. vava-tronic Réponse

    Oui je m’appelle valentin !
    Slt tu est un génie !
    Une petite question comment faire pour pouvoir exécute une commande sur le raspberry via internet sur un ordinateur? je pensait par une page html ou php mais je ne suis pas aussi calé que toi !!
    Peut tu m’aidé s’il te plait ? ?
    Encore bravo pour tes tutos bien utile :-}

    • Idleman Auteur ArticleRéponse

      Il suffit de créer une page php sur ton serveur web, et d’utiliser une fonction comme exec(‘ta commande’) ou encore system(‘ta commande’) (je te laisse regarder la doc de php)

  79. new Réponse

    Bonjour même problème que sur ton autre tuto lien mort Xo
    “Installation de Y.U.R.I sur le raspberry PI

    Téléchargez le script yuri.php en cliquant ici”

    sinon pour le problème du pc il y en a des tout petit (un peut merdique mais pour le transport sa suffit) de la taille d une ps1 qui ne coûte pas cher (~30e)
    tu monte les performance du pc au max (ordianteur/ , clic droit dans le vide , propriété , paramètres système avancées , paramètre performance , ajuster afin d avoir les meilleures performances) et en plus sa te fait une alim vu que c est un pc portable .

    • Idleman Auteur ArticleRéponse

      Coucou, lien corrigé.

      J’ignore ou t as trouvé des pc supportant windows a oins de 30€ mais si tu as un lien je suis preneur 🙂

    • Idleman Auteur ArticleRéponse

      espeak est assez moche mais fonctionnel oui :), j’ai déja testé il est simple d’utilisation et on comprends a peu près, mais il ne fait que synthese (le plus simple a trouver en open source local) et pas reconnaissance vocale

  80. Ravinstudio.fr Réponse

    Tout d’abord super tes tutoriels, ça fait un moment que je lis ton blog, mais je prend seulement maintenant le temps de t’écrire pour te dire que c’est tes TUTOS sont TOP ! Ça marche nikel et c’est super détaillé ! Continu comme ça 🙂

  81. vava-tronic Réponse

    C’EST TROP BIEN ! !
    Le petit bémol c’est que je suis en anglais !
    Tu a une astuce pour que yuri me parle en français ?
    Merci pour tout tes super tuto ! 😀

    • Idleman Auteur ArticleRéponse

      Il faut que tu installe la voix virginie avec le setup fournis dans yana windows puis que dans les config de yana windows tu selectionne virginie.

  82. sebmasto Réponse

    Bonsoir,
    je suis vraiment intéresser sur la domotique commandé par yuri, mais le problème c’est que je suis une bille sur la programmation du Raspberry pi et les codes. J’ai des question, Comment fait on pour mettre le fichier yuri sur le Raspberry pi depuis un pc ? Es qu’il faut configurer un reseau pour yuri ? et enfin, comment créer des ligne de code XML sachant que j’i connais rien?

    PS: Bravo pour tes super tuto qui m’inspire vachement.

  83. Rémy Réponse

    Bonjour j’ai un problème pour l’installation de Y.U.R.I au moment où il faut mettre le dossier “yuri.php” dans le raspberry pi et le décompresser pour le mettre dans le dossier “/var/www” car je ne connais pas la commande a effectuer pour le faire, c’est donc pour sa que je vous fais appelle.

    Merci pour tes tutos 🙂

    En attendant votre réponse.

    • Idleman Auteur ArticleRéponse

      Utilise 7zip sur ton pc windows pour le décompresser et winscp pour transferer les fichiers simplement sur ton pi.

  84. brouard Réponse

    Bonjour.
    Un grand merci pour ces tutos.
    Concernant YURI, il me répond en anglais et les commandes pour GPIO ne tournent pas. Il envoie bien du PC les commandes engine=LAMPE SALON et STATE=1, répond que tout est OK, mais pas de déclenchement du relais.
    Pour info, c’est un B+ et je suis très néophyte sur le raspberry

    • Idleman Auteur ArticleRéponse

      Pour l’anglais, c’est que tu as du mal installer/selectionner la voix utilisée pour la synthèse
      Pour le relais, c’est coté serveur qu’il faut regarder essaye de mater les fchiers logs de ton serveur lighttpd (/var/log/lighttpd/error.log) et aussi d’executer l’action a la main dans le navigateur voir si une erreur n’apparait pas

  85. fred Réponse

    Merci Idleman.
    Tout tourne sous yuri. J’ai effectivement tout essayé à la mano pour me rendre compte que j’avais pédalé dans les numéros de PIN.
    Suis passé à Yana.
    Très impressionnant.
    Je ne parviens pas encore à allumer une LED avec, mais je cherche. (WiRINGPI 4 sous yana, c’est bien le gpio 23 au passage ?)
    Je suis fabriquant de cuve et mon but est de commander une régul thermique (input un thermomètre et output deux electro vannes) et un verin pneumatique par le raspi.
    Je précise que ce n’est pas un but commercial, mais simplement pour me faire plaisir et me la jouer sur les salons.
    Encore un grand merci d’inventer et de partager tout ça.

  86. Baptiste974 Réponse

    Salut, un grand merci pour tes tutos géniaux!!
    J’arrive à commander les leds à partir de mon pc, j’essaye actuellement de faire fonctionner yuri, j’ai réalisé toutes les étapes de ton tuto, mais lorsque j’ouvre WSRMicro et que je lance une commande comme “Yuri allume la lampe du salon”, j’ai bien l’étape build http request, send http request puis j’ai Exception: The remote name could not be resolve…
    Je n’ai pour l’instant que de très maigres connaissances qui ne me permettent pas de résoudre ce problème, help please ^^”

    • Idleman Auteur ArticleRéponse

      Visibelment soit tu as mal configuré l’adresse de ton pi dans le client, soit ton client n’a pas le net, soit ton pi n’a pas le net, soit ton routeur bloque le port 80 de ton pi.

    • Idleman Auteur ArticleRéponse

      Parce que jasper utilise pocketsphinx, qui ne reconnais que très peu de mots en français, qui est un cauchemar a compiler et dont les performances sont relativement médiocres :).

  87. Enzo Réponse

    Bonjour,
    Je n’ai pas de raspberry PI mais cela m’intéresse beaucoup
    Ton blog est très bien fait ainsi que les tutos, bravo
    Je voudrai savoir si en utilisant une chrome box (avantages d’être petit et pas trop cher…) il est possible de télécharger la reconaissance vocal français comme pour android.
    Comme ça avec une chrome box alimentée en continue dans un coin et dans les pièces concernées un module micro + haut parleur encastrée dans un mur (j’ai chercher un module du type vite fait mais pas trouver à voir si ça existe) on a une solution sans ordinateur fonctionnant en continu dans toutes les pièces.
    Sinon je suis intéressé par toute autre solution directe pour Mini Pc Windows/ chrome box ou raspberry pi
    Merci enzo

    • Idleman Auteur ArticleRéponse

      200$ la box quand même ^^, ça pique ^^, a ce prix la ya peut être moyen de trouver des mini pc avec un indows installé :p, sinon aucune idée pour ta question, je ne connais pas du tout chromebox et chromeos 🙂

  88. barbe Réponse

    bonjour ,je voudrais savoir si on peut utiliser le système vocale sans ce servir du micro et des enceintes du pc, mais si on peut utilise des micros et des enceintes indépendantes merci (exemple ; allume plusieur éclairage d une maison en simullant quelque micro et enceinte dans la maison) pourriez vous me fournir un plan de branchement merci M BARBE frantz ^_^

    • Idleman Auteur ArticleRéponse

      intéressant, mais j’ignore si il existe une api pour s’y plugger, la page de présentation n’a aps l’air de la mentionner, si c’est 100% propriétaire on ne pourra pas l’expoiter, dommage le hardware à l’air sympa.

  89. Asura Réponse

    Bonjour,

    Question, le programme est-il compatible avec la cubieboard ?

    Merci d’avance 🙂

    • Idleman Auteur ArticleRéponse

      Si cubie board embarque une distribution debian et possède des gpio, ça devrait le faire 🙂 a tester

  90. Ugooow Réponse

    Salut !

    Déjà merci pour tout ces tutos super bien faits !

    J’ai cru comprendre que Yuri était un dérivé de S.A.R.A.H

    Personnellement j’utilise S.a.r.a.h et je serait embêté de changer après avoir programmé tous mes scripts.

    Je n’arrive pas à changer la voix de ma chère et tendre 🙁 J’ai téléchargé la voix de “sebastien” qui est assez connue. Serait-il possible d’avoir un petit tuto sur l’installation de cette voix sur Windows 8 ??

    merci ! A bientot

  91. dimitri Réponse

    Bonjour,
    J’ai un problème quand je veux déplacer le fichier Yuri.php dans le dossier www de la raspberry il m’indique ” erreur lors du déplacement du fichier :Permission non accordée”
    merci d’avance pour l’aide

  92. Dimitri Réponse

    Salut,
    Merci pour ce tuto !
    cependant j’ai un soucis pour mettre le fichier dans le dossier www. Quand je le déplace il me signale une erreur en me disant que je n’ai pas la permission
    “erreur lors du déplacement du fichier. Permission non accordée”
    Merci d’avance pour ton aide

  93. dedepierre Réponse

    bonjour, et merci pour le tuto 😀

    je viens de commander le PI 2, il ce trouve que dans peux de temps , nous pourrons installer Windows 10 sur le Raspberry

    et donc tu crois que yuri peux être installer sur le Ras en utilisent le micro du Ras ?

    merci

  94. dedepierre Réponse

    bojour

    sur le raspberry PI2 nous allons pouvoir installer Windows 10
    tu crois que se sera possible d’utiliser Yuri depuis le Ras et un micro dessus ?
    pour éviter de passer pas un autre Pc

    merci 🙂

  95. Demeur Réponse

    Bonsoir,

    je voulais savoir si il était possible d’envoyer la requête sur un autre système type Crestron ?
    en effet j’ai un petit QM-RMC dont sont adresse IP est 192.168.1.5 , et l’ideal c’est que yuri envoie une trame contenant l’infos
    , juste que mon module de possède pas de scripte PHP , néo moins je peut toujours y intégré un serveur type TCP/IP ou un bloc UDP
    jors “YURI j’ai envie de geeker”

    sachant que j’ai un scénario pour le geekage lol
    ===> la télé on+3s+tele sur hdmi 1+1s+ xbox on+ampli on +3s+ampli sur canal 1

    Cordialement

  96. Ping Raspberry PI ~ 09 : Créer une interface vocale | IdleBlog | Manoala

  97. IronMan Réponse

    Salut !

    Je trouve ton post très intéressant, je suis complètement d’accord avec toi, Windows c’est pas terrible. Je suis amusé par ta remarque de la reconnaissance vocale sur Linux c’est vrai qu’il n’y a rien !! Mais le soucis actuel, c’est qu’il faut laisser tourner un ordinateur en continu pour pouvoir gérer le système, (je pense ajouter un système de réveil dans le programme ^^). Je veux remplacer l’ordinateur par un micro ordinateur qui consomme beaucoup moins. Donc petit message je suis entrain de développer un programme de reconnaissance vocale qui a pour objectif final de tourner soit sur une Raspberry soit sur une Pyduino V3. Doinc si tu es intéressé n’hésite pas à me contacter !!

    Merci à bientôt !!

  98. RASPBERRY PI Réponse

    super tutoriel , je suis en train de réaliser un serveur web avec raspberry pi b+ , mais le problème c’est que l’interface s’affiche (page vide) malgré que j’ai effectué toutes les étapes nécessaires de l’installation de apache2, php5,…
    j’ai besoin de votre aide svp et merciii.

    • Idleman Auteur ArticleRéponse

      je bosse sur une dht11 en ce moment, ça doit être très similaire, je pense que tu pourra t’inspirer du code qui vas sortir sur ce blog sous peu.

  99. Marcux Réponse

    Pour la reco vocale pour moins cher qu’un lapinou tu as l’enceinte sbx20 de chez creative que l’on trouve à 43€ dans un magasin à Bezons (95), je l’ai eu le lendemain pour 48€ avec les fdp !

  100. Girault Réponse

    Bonjour bonjour!

    Je suis super content de ce que tu nous fait faire avec tes tutos,comme dit dans plusieurs commentaires on peux frimer devant les potes ahah! 🙂
    Seulement j’ai une tite question ( eh oui)
    J’ai bien installé YURI mais je souhaite changer sa voix j’ai deja regardé sur le net ou l’on me dit de telecharger de nouvelle voix via msspeech mais sans succès : quand je vais dans les options des voix je n’en ai que 2, la voix de base et la voix anglaise…
    aurais-tu un ptiot tuto pour nous??? :siffle:
    PS je me lance dans la programmation en python, le rpi sera en mesure de le lire?

    Merci beaucoup et tres bonne journée gaaaaaz!!!

  101. Overdrive Réponse

    Bonjour a tous ,

    J’essai d’ouvrir un fichier .bat avec la commande exec. Mais voila ca ne marche pas.

    case ‘GET_ENVOI’:

    $response = exec(‘%CD%/lol.bat’);
    break;

    Si quelqu’un peux m’aider

  102. Gardaux Réponse

    Concernant tes fournisseurs de pièces détachées, je te conseil http://fr.aliexpress.com/ c’est un site ou tu vas pouvoir trouver ton bonheur en matière de module pour Raspberry pi et surtout à tarif EXTRÊMEMENT intéressant.
    A titre d’exemple la carte 8 relais coute 7€ frais de port compris. Le seul inconvénient de ce site c’est qu’il ne faut pas être pressé. Entre 15 et 60 jours de délais de livraison.

  103. AndyC Réponse

    Un petit dernier a tester que je viens de trouver https://github.com/Smanar/Rhonda
    Ca marche bien, une seule appli en C qui fait tout, par contre je pense que ca utilise la reco de google donc limité a 50 demandes et c’est juste l’enfer pour l’installer.
    Reste a voir si on peut la mixer.

  104. Phil69630 Réponse

    Bonjour idleman et merci pour tes tutos, ils sont supers. Je m’éclate avec YURI, j’ai découvert à ma plus grande surprise que lorsque l’on lance un programme .py depuis yuri.php, les ‘print’ de ce dernier étaient directement renvoyés à la synthèse vocale (cela évite bien des manipulations de chaines pour alimenter $reponse. Aujourd’hui Yuri me donne donc les coordonnées GPS, la température…
    Voici ma question, j’aimerai pouvoir envoyer à la synthèse vocale une phrase sans que ce soit une réponse, c’est à dire que sur un événement du Pi on puisse envoyer une phrase à yuri. Est ce faisable et est ce compliqué ?
    Encore merci à toi, c’est grace à toi que je suis devenu un accro de la framboise.

  105. PANPAN Réponse

    A mon tour de demander de l’aide …
    J’ai installé le répertoire YURI sur le root de mon C: pour essayer de solutionner mon problème.
    Lorsque j’exécute WSRMicro, juste après le message “Watching directory: macros”, je reçois le message suivant:
    “Exception non gérée : System.Exception: Macro’s directory do not exists : plugins”
    Ce répertoire n’existe pas.

  106. Bruwier Michel Réponse

    Bonjour,
    j’ai installé tout ce qu’il fallait sur l’ordi et quand je pose des questions j’ai la ligne suivante et pas de reponse sonore

    REJECTED Speech: 0.3013208 < 0.9 Text : Yuri identifie toi

    Merci de votre aide

  107. DAVID Réponse

    Bonjour, j’ai installé Y.U.R.I, ça fonctionne super bien, du coup j’ai modifié l’appel, en développant un socket en java, sur lequel je reçois bien la requête (GET_TIME, GET_DATE’…) mais le seul problème c’est que je ne sais pas comment lui retourner la phrase à dire en java, vu que j’ai vu comme quoi c’était du json, j’ai rajouté la librairie Gson en java, le seul hic, c’est que je ne sais pas à quoi s’attend le code C# de Y.U.R.I avec $response…
    Comment peut on obtenir le code Y.U.R.I ? merci pour le soutien.

  108. rené Réponse

    Bonjours a tous et toutes,
    Alors déjà bravo a l’auteur de ce tuto vraiment super travail et j’espère qu’il nous surprendra avec d’autre tuto de son cru.
    Seulement voila mon problème est que je suis très novice dans ce domaine et j’ai quelques problèmes.
    Je m”explique:
    J’ai appliqué a la lettre le tuto et ça fonctionne parfaitement bien.
    Voyant que tout roule comme sur des roulettes, j’ai fait quelques modifs pour rajouté des commandes.
    Pour info moi je l’ai renommé SOPHIE.
    Après avoir fait ces modifs, quand je lance une commande du type sophie donne moi l’heure; elle me renvoie bien l’heure; mais elle continue avec a me sortir la même chose ou bien une autre réponse figurant dans le php du rpi.
    J’ai l’impression que le script ne parvient pas a sortir de la boucle.
    Si une bonne âme pouvait me venir en aide je serai le plus heureux des home
    Voila mon php:
    $value){
    $_[addslashes(htmlentities($key))] = addslashes(htmlentities($value));
    }
    foreach($_POST as $key=>$value){

    $_[addslashes(htmlentities($key))] = addslashes(htmlentities($value));

    }

    //Tableau de correspondance position lampe/pin GPIO raspberry pi utilisé
    $pin_engine = array(
    ‘LAMPE_SALON’=>22,
    ‘LAMPE_BUREAU’=>6,);

    //Réponse par défaut à syntétiser en retour.
    $response = ‘Aucune action n\’a été spécifiée.’;

    //en foncion de la variable action spécifiée par sophie desktop, on execute les actions ci dessous
    switch ($_[‘action’]){

    //action permettant l’activation/la désactivation d’un PIN GPIO (par exemple rélié a une carte relais elle même reliée a une lampe)
    // $_[‘engine’] = position de la lampe visée(ex : LAMPE_SALON)
    // $_[‘state’] = etat ciblé (0 désactivé, 1 activé)
    case ‘CHANGE_ENGINE_STATE’:
    system(‘gpio mode ‘.$pin_engine[$_[‘engine’]].’ out’);
    system(‘gpio write ‘.$pin_engine[$_[‘engine’]].’ ‘.$_[‘state’]);
    $response = ‘Action effectuée’;

    break;

    //action bonjour
    case’GET_BONJOUR’:

    $response = ‘bonjour René, comment va tu.’;
    break;

    //action heure
    case’GET_TIME’:
    $response = ‘Il est ‘.date(‘H’).’ heures ‘ .date(‘i’);

    break;

    //action identification
    case’GET_IDENTIFICATION’:
    $response = ‘Je suis SOPHIE, J\’ai été programmée pour gérer et surveiller cette maison par la voix .
    Mon concepteur ma doté de quelques fonctions basic afin de pouvoir conversé avec des personnes .
    Vous pouvez me solicité a tout moment en commançant votre phrase par mon prénom .
    Par exemple, sophie, donne moi la date .’;
    break;

    //action remerciment
    case’GET_MERCI’:
    $response = ‘de rien , a ton service mon chou ,’;
    break;

    //action appel
    case’GET_APPELSOPHIE’:
    $response = ‘Oui René, puije faire quelque chose pour toi.’;
    break;

    //action bonjour
    case ‘GET_REPONCEBONJOUR’:
    $response = ‘De rien mon chéri, Je suis la pour te servir:’;
    break;

    //action écoute
    case’GET_ECOUTE’:
    $response = ‘Oui René je suis la et je tentend très bien.’;
    break;

    //action date
    case’GET_DATE’:
    $jour = array(“Dimanche”,”Lundi”,”Mardi”,”Mercredi”,”Jeudi”,”Vendredi”,”Samedi”);
    $mois = array(“”,”Janvier”,”Février”,”Mars”,”Avril”,”Mai”,”Juin”,”Juillet”,”Août”,”Septembre”,”Octobre”,”Novembre”,”Décembre”);
    $datefr = $jour[date(“w”)].” “.date(“d”).” “.$mois[date(“n”)].” “.date(“Y”);
    $response = “Nous sommes le “. $datefr . ‘ et il est’ .date(‘ H’).’ heures ‘.date(‘i’);
    break;

    //Action insulte
    case’GET_AFFRONTS’:
    $affronts = array(
    ‘Espaice de Rideau pas tringlai.’,
    ‘Espaice d\’Innovation pairimaie.’,
    ‘Espaice de Star academicien croate.’,
    ‘Espaice d\’Improvisateurs à texte.’,
    ‘Espaice de Visage sans nez.’,
    ‘Espaice de colléoptère unijambiste.’,
    ‘Espaice d\’Excrément maternel.’,
    ‘Espaice de Catcheur manchot.’,
    ‘Espaice de Lunettes sans verre.’,
    ‘Espaice de Carrai sans cotai.’,
    ‘Espaice de Pot catholitique.’,
    ‘Espaice de Fille de lémurien.’,
    ‘Espaice de Cheveux sans racine.’,
    ‘Espaice d\’Hectoplasme circonscit.’,
    ‘Espaice de Vomi.’,
    ‘Espaice de Ragout d\’uranium.’,
    ‘Espaice de Pom pom girl.’,
    ‘Espaice de Pantalon en soldes.’,
    ‘Espaice de Naturiste en mailllot.’,
    ‘Espaice de String sans ficelle.’,
    ‘Espaice de Haut parleur aphone.’,
    ‘Espaice de Cochon anoraixique.’,
    ‘Espaice de Queue de cheval sans cheval.’,
    ‘Espaice de WC sans chasse d\’eau.’,
    ‘Tes cheveux poussent aux bouts des pieds.’,
    ‘Espaice de Régle tordue.’,
    ‘Espaice de Aisselles sans poil.’,
    ‘Espaice de Trou de nez sur pattes.’,
    ‘Espaice de Bière sans alcool.’,
    ‘Espaice de Cravate sans costard.’,
    ‘Espaice de Beignet daicongelai.’,
    ‘Espaice de Taite de grille pain.’,
    ‘Remet ta culotte sale gueuse’,
    ‘Avec tes lunettes, tu ressembles à des toilettes.’);
    $response = $affronts[rand(0,count($affronts))];
    brek;
    }
    //Impression de la réponse a synthétiser par SOPHIE
    echo $response;

    ?>

  109. Ping Assistants vocaux sur votre raspberry pi – Roch's Blog

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.