Aller au contenu

Tts Avec Raspberry Pi Et Pico Tts


kiwi

Messages recommandés

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 rpi
Lancer l'update des packages :

 

sudo apt-get update
Puis ajoutez les packets suivants :

 

sudo apt-get install fakeroot debhelper automake autoconf libtool help2man libpopt-dev hardening-wrapper alsa-utils
Créez un espace pour la compilation et downloader le code source :

 

mkdir pico_build
cd pico_build
apt-get source libttspico-utils
Puis compilez le biniou :

 

cd svox-1.0+git20110131
dpkg-buildpackage -rfakeroot -us -uc
Prennez 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.deb
Reste 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.deb
Après on peux tester :

 

pico2wave -l fr-FR -w /tmp/test.wav "Ceci est un test"
aplay /tmp/test.wav
si 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 lighttpd
Modifiez /etc/group, et ajoutez www-data au groupe audio (sauf si votre PI est accessible depuis l'internet).

 

audio:x:29:pi,www-data
Il 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 restart
Reste 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

  • Upvote 4
Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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.
Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...

salut @kiwi

J'ai réussi après quelque galère  :lol: à  suivre ton tuto et faire parler mon Rasp Pi et c'est ma 1ere utilisation de ce dernier!!  :60:  :60:

J'arrive à  formaliser un message via un VD perso.

Par contre, une idée pour envoyer ces TTS sur les SONOS par hasard??

Lien vers le commentaire
Partager sur d’autres sites

  • 6 mois après...
×
×
  • Créer...