kiwi Posté(e) le 2 août 2015 Signaler Posté(e) le 2 août 2015 Comme convenu, voici mon Tuto pour faire un TTS (Text To Speach) avec un Raspberry PI. J'ai fait ce TTS avec mon Raspberry PI 2 qui fait tourner domoticz. Ce tuto a été largement inspiré de cette page : http://rpihome.blogspot.fr/2015/02/installing-pico-tts.html, que je vais traduire en partie pour vous tous. Comme le logiciel n'existe pas en packages directement, il faut donc le compiler, ajoutez dans /etc/apt/sources.list deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi deb-src http://mirror.ox.ac.uk/sites/archive.raspbian.org/archive/raspbian/ wheezy main contrib non-free rpiLancer l'update des packages : sudo apt-get updatePuis ajoutez les packets suivants : sudo apt-get install fakeroot debhelper automake autoconf libtool help2man libpopt-dev hardening-wrapper alsa-utilsCréez un espace pour la compilation et downloader le code source : mkdir pico_build cd pico_build apt-get source libttspico-utilsPuis compilez le biniou : cd svox-1.0+git20110131 dpkg-buildpackage -rfakeroot -us -ucPrennez un p'tit café et quelques minutes plus tard vous devez avoir les .deb de prêt : cd .. ls *.deb libttspico0_1.0+git20110131-2_armhf.deb libttspico-data_1.0+git20110131-2_all.deb libttspico-dev_1.0+git20110131-2_armhf.deb libttspico-utils_1.0+git20110131-2_armhf.debReste plus qu'à installer les 3 packages : sudo dpkg -i libttspico-data_1.0+git20110131-2_all.deb sudo dpkg -i libttspico0_1.0+git20110131-2_armhf.deb sudo dpkg -i libttspico-utils_1.0+git20110131-2_armhf.debAprès on peux tester : pico2wave -l fr-FR -w /tmp/test.wav "Ceci est un test" aplay /tmp/test.wavsi vous entendez la jolie phrase, c'est que tout marche bien.Reste a faire le serveur web qui vas faire HTTP -> Son. Pour cela il faut installer lighttpd qui vas permettre au cgi (qui vas être présenté plus tard) d'être appelé d'un VD depuis la HC2. apt-get install lighttpdModifiez /etc/group, et ajoutez www-data au groupe audio (sauf si votre PI est accessible depuis l'internet). audio:x:29:pi,www-dataIl faut configurer le lighttpd avec le fichier /etc/lighttpd/conf-enabled/10-cgi.conf : # /usr/share/doc/lighttpd/cgi.txt server.modules += ( "mod_cgi" ) $HTTP["url"] =~ "^/cgi-bin/" { cgi.assign = ( "" => "" ) } alias.url = ( "/cgi-bin/" => "/usr/lib/cgi-bin/") ## Warning this represents a security risk, as it allow to execute any file ## with a .pl/.py even outside of /usr/lib/cgi-bin. # #cgi.assign = ( # ".pl" => "/usr/bin/perl", # ".py" => "/usr/bin/python", #)Relancer lighttpd : /etc/init.d/lighttpd restartReste le code de l'interface TTS : /usr/lib/cgi-bin/speak.cgi qui se trouve dans : https://github.com/xbeaudouin/hc2-misc/Reste a mettre les droits d'execution : chmod a+x speak.cgi Pour utiliser cette passerelle, reste a faire :http://pi/cgi-bin/speak.cgi Le cgi prends les paramètres : text=le text à parler cache=1 ou cache=0 (pour cacher dans /tmp/ les datas) lang=en-US,fr-FR... etc En cadeau, le VD qui permet (avec la même variable que le VD OpenKarotz de faire parler la chose). EDIT: 08/08/2015 : mise du code sur github à la place du copier collé TTS.vfib 4
mich42300 Posté(e) le 7 août 2015 Signaler Posté(e) le 7 août 2015 Bonsoir, Lorsque j'envoie une requête cgi, exemple: http://192.168.1.206:82/cgi-bin/speak.cgi?text=bonjour&cache=1〈=fr-FR Je n'ai pas d'erreur mais aucun retour, il ne se passe rien. J''utilise le port 82 pour lighttpd, j'ai un autre serveur web qui tourne sur le même Raspberry. Comment tester si éspeak.cgié fonctionne bien ?
kiwi Posté(e) le 7 août 2015 Auteur Signaler Posté(e) le 7 août 2015 Salut As tu un fichier /tmp/speak_request.log ? Normalement tu peux tester le cgi en ligne de commande : text="test" ./speak.cgi Envoyé de mon iPad en utilisant Tapatalk
mich42300 Posté(e) le 7 août 2015 Signaler Posté(e) le 7 août 2015 Bonsoir, Si je lance la commande text="test" ./speak.cgi J'obtiens ceci: syntax error at ./speak.cgi line 73, near "my " Global symbol "$final_dir" requires explicit package name at ./speak.cgi line 73. Global symbol "$final_dir" requires explicit package name at ./speak.cgi line 74. Global symbol "$final_dir" requires explicit package name at ./speak.cgi line 77. Execution of ./speak.cgi aborted due to compilation errors.
kiwi Posté(e) le 7 août 2015 Auteur Signaler Posté(e) le 7 août 2015 Bon y a un de copier coller du script. Je le mets sur github demain! Envoyé de mon iPad en utilisant Tapatalk
mich42300 Posté(e) le 8 août 2015 Signaler Posté(e) le 8 août 2015 Bonjour, As-tu mis ton script sur github ? Si oui, peux-tu me donner le lien pour le récupérer, merci.
kiwi Posté(e) le 8 août 2015 Auteur Signaler Posté(e) le 8 août 2015 Salut, Je viens de le pousser sur : https://github.com/xbeaudouin/hc2-misc/
mich42300 Posté(e) le 8 août 2015 Signaler Posté(e) le 8 août 2015 Bonsoir et merci, C'est Ok, c'était bien un problème de copier coller. Bonne soirée.
jorderic Posté(e) le 28 octobre 2015 Signaler Posté(e) le 28 octobre 2015 salut @kiwi J'ai réussi après quelque galère à suivre ton tuto et faire parler mon Rasp Pi et c'est ma 1ere utilisation de ce dernier!! J'arrive à formaliser un message via un VD perso. Par contre, une idée pour envoyer ces TTS sur les SONOS par hasard??
robisette Posté(e) le 26 mai 2016 Signaler Posté(e) le 26 mai 2016 Salut, avec la dernière version du firmware 4082 VD TTS.vfib ne fonctionne plus, comment elle a changé? merci Roberto
Messages recommandés