Auteur Sujet: Synthèse vocale sous Linux  (Lu 4077 fois)

0 Membres et 1 Invité sur ce sujet

Totoffe

  • Membre Héroïque
  • *****
  • Messages: 6 143
    • Voir le profil
Synthèse vocale sous Linux
« le: 10 juillet 2009 à 21:33:52 »
Comme vous le savez, Opera propose de la reconnaissance vocale et de la synthèse vocale.
Malheureusement, elle n'est disponible que sous Windows 9x/Me/XP et uniquement avec une voix en anglais.

Cependant, pour nous linuxiens, rien ne nous empêche d'utiliser les ressources du pingouin pour lire les textes des pages web, et en français s'il vous plait !

On peut utiliser les ressources d'espeak ou de mbrola.
espeak est libre et simple à configurer. Par contre, la voix n'est pas ce qui se fait de mieux (mais ça reste acceptable).
mbrola propose de meilleures voix, mais il n'est pas libre, plus complexe à configurer, et en plus, il bugge sur certains phonèmes.

Pour aujourd'hui, on va donc voir comment utiliser espeak pour faire "causer" Opera. Pour mbrola, j'en suis encore en phase de test, mais je publierai ici des scripts quand j'obtiendrai des résultats acceptables.

Synthèse vocale sur Opera avec espeak

Une méthode simple et rapide.

1. Installation des paquets.
Avec votre gestionnaire de paquets, installez les paquets suivants (si ils ne le sont pas déjà) :
- espeak : le programme de synthèse vocale
- xclip : nous permettra de récupérer le texte du presse-papier pour le fournir à espeak

2. Ecriture du script (pour Ubuntu)
Dans un terminal, tapez :
sudo gedit /usr/bin/svoperaDans le document vide qui s'ouvre, copiez-collez ces deux lignes :
#!/bin/bash
xclip -o | espeak -v fr
Enregistrez et quittez.
Rendez le script éxecutable en entrant ceci dans le terminal :
sudo chmod +x /usr/bin/svoperaVoila, le script est prêt !

3. Configuration dans Opera
Il suffit de créer un bouton ou un raccourci-clavier (ou un gesture, une entrée de menu contextuel, etc.) contenant l'action :
Copy & Execute program,"svopera"4. Utilisation
Sélectionnez du texte dans la page, et appuyez sur le bouton ou sur le raccourci, et Opera lira le texte sélectionné !
Cordialement,
Christophe.

Outils : Wiki - FAQ - Recherche du forum - Faire et poster une capture d\'écran

Trent

  • Membre Héroïque
  • *****
  • Messages: 1 852
    • Voir le profil
    • http://xn--pp-oia.com/
Synthèse vocale sous Linux
« Réponse #1 le: 10 juillet 2009 à 21:38:23 »
Merci beaucoup ! Et pour la reconaissance vocale, il y a un logiciel aussi ? :cool:

Totoffe

  • Membre Héroïque
  • *****
  • Messages: 6 143
    • Voir le profil
Synthèse vocale sous Linux
« Réponse #2 le: 21 janvier 2012 à 22:00:58 »
Un nouveau script, basé mbrola cette fois (installez les paquets mbrola mbrola-fr1 et mbrola-fr4 pour avoir les voix masculine et féminine)

#!/bin/bash

VOIX=/usr/share/mbrola/fr4/fr4
TYPE=mb/mb-fr4
 
if [ ! -z $(ps -A | grep mbrola | awk '{ print $1 }' ) ]; then
     kill $(ps -A | grep mbrola | awk '{ print $1 }' )
 
else
xclip -o | espeak -v $TYPE -s 150 -p 40 "$@" | mbrola $VOIX - -.au | aplay
fi

Si vous préférez l'autre voix, remplacez fr4 par fr1 (3 occurences).

La voix est plus jolie que celle d'espeak, mais reste perfectible.

Pour le reste, voir le premier post, la logique est la même, seul le script change.
Cordialement,
Christophe.

Outils : Wiki - FAQ - Recherche du forum - Faire et poster une capture d\'écran

Gloorian

  • Membre Héroïque
  • *****
  • Messages: 1 189
    • Voir le profil
Synthèse vocale sous Linux
« Réponse #3 le: 21 janvier 2012 à 22:31:57 »
Trent: Je ne pense pas que ce soit faisable, mais tu dois pouvoir réaliser un script avec un logiciel de reconnaissance vocal qui pourra executer certaines actions sur Opera par la ligne de commande (faire un opera-next url par exemple).
Cordialement,

Gloorian

Totoffe

  • Membre Héroïque
  • *****
  • Messages: 6 143
    • Voir le profil
Synthèse vocale sous Linux
« Réponse #4 le: 22 janvier 2012 à 11:06:07 »
Je pense que c'est peut-être jouable avec CMU Sphinx et gnome-voice-control, mais j'avoue ne jamais avoir creusé la question, je m'y pencherai peut-être un jour.
Faudrait voir si on peut déclencher un événement clavier via la reconnaissance vocale, genre dire "Recharger" et associer ça à un appui (virtuel) sur la touche "F5" déclenchant par la même le rechargement si Opera est la fenêtre active au moment de l'appui.
Cordialement,
Christophe.

Outils : Wiki - FAQ - Recherche du forum - Faire et poster une capture d\'écran