Bon, pour ceux qui découvriraient ce post maintenant et qui auraient la flemme de tout lire, voilà une synthèse, réalisée à partir des infos de ce topic (Un grand merci à tous, en particulier à Ghost33, Michubuntu, Skippy le Grand Gourou et balkoth) :
1 Installer les programmes espeak et xclip :
sudo apt-get install espeak xclip
ou
sudo aptitude install espeak xclip
selon ce que vous utilisez d'habitude.
Il faut compléter cette installation par des fichiers de communication avec MBROLA, qui ne sont pas inclus par défaut car non libres. On va les récupérer dans la version officielle de espeak : téléchargez
cette archive (attention, c'est la version linux i386, pour d'autre architecture, allez voir sur
cette page, que vous dézipperai. il suffit de copier le répertoire espeak-data/voices/mb dans /usr/share/espeak-data/voices/
2 Installer le programme MBROLA :
Télécharger le binaire de MBROLA
ici (c'est le binaire pour LINUX sur i386 / ppc / alpha / ultra1. Pour d'autre architecture, allez voir
la page officielle).
Rangez le o๠vous voulez, par exemple dans /opt. Puis, important, créez un lien vers ce binaire dans /usr/bin (pour la simplicité, j'ai renommé ce lien mbrola)
Il faut également installer une voix, qu'on télécharge
ici, sur la partie basse de la page, vous avez le choix (fr1, fr2, fr3,... voire une autre langue si ça vous amuse 😉). Décompressez l'archive et rangez le dossier obtenu (par exemple dans /opt, à cà´té de mbrola)
3 Intégration :
Voilà deux scripts réalisés à partir des infos recueillies dans ce topic, que je vous présente ici, attention, il faudra sans doute les adapter pour que ça marche chez vous.
Le premier, à placer dans /home/VOTRE_LOGIN/.gnome2/nautilus-scripts/ et à rendre exécutable, permet par un clic droit / script / nom_de_votre_script de lire le contenu d'un fichier texte. Refaire cette opération sur le même fichier pendant la lecture en cours interrompra la lecture :
#!/bin/bash
# définition du fichier temporaire, à adapter selon votre installation
DIR=${HOME}
TEMP=${DIR}/Documents/Scripts/lecture.pho
# définition de la voix à utiliser par Mbrola, à adapter selon la voix choisie et son chemin
VOIX=/opt/fr2/fr2
# TYPE=mb/mb-fr4 # à décommenter si vous avez téléchargé une voix de femme
# TYPE=mb/mb-fr1 # à décommenter si vous avez téléchargé une voix d'homme
# on teste si la lecture est en cours, pour l'arrêter le cas échéant
if [ ! -z $(ps -A | grep mbrola | awk '{ print $1 }' ) ]; then
kill $(ps -A | grep mbrola | awk '{ print $1 }' )
else
# On traduit le fichier en phonèmes grà¢ce à espeak, et on l'envoie vers le fichier temporaire
espeak -v ${TYPE} -s 150 -p 40 -f "$@" > ${TEMP}
# on lit le fichier temporaire
mbrola ${VOIX} ${TEMP} -.au | aplay
fi
done
Le second permet de lire une sélection faite à l'écran :
#!/bin/bash
# définition du fichier temporaire, à adapter selon votre installation
DIR=${HOME}
TEMP=${DIR}/Documents/Scripts/lecture.pho
# définition de la voix à utiliser par Mbrola, à adapter selon la voix choisie et son chemin
VOIX=/opt/fr2/fr2
# TYPE=mb/mb-fr4 # à décommenter si vous avez téléchargé une voix de femme
# TYPE=mb/mb-fr1 # à décommenter si vous avez téléchargé une voix d'homme
# on teste si la lecture est en cours, pour l'arrêter le cas échéant
if [ ! -z $(ps -A | grep mbrola | awk '{ print $1 }' ) ]; then
kill $(ps -A | grep mbrola | awk '{ print $1 }' )
else
# On traduit la sélection en phonèmes grà¢ce à espeak, et on l'envoie vers le fichier temporaire
xclip -o | espeak -v ${TYPE} -s 150 -p 40 "$@" > ${TEMP}
# on lit le fichier temporaire
mbrola ${VOIX} ${TEMP} -.au | aplay
fi
done
Pour faire marcher ce script, enregistrez le o๠vous voulez et rendez le exécutable. Ensuite, il faut aller dans les préférences générales de compiz (Menu Système/Préférences/Advanced Desktop Effects Settings puis General Option). Sous l'onglet "Commands", choisissez une ligne vide et rentrez y le chemin vers votre script, sous la forme /chemin/vers/le/script/nom_du_script.
Ensuite, sous l'ongle "Actions" et la sous partie "Commands", éditez le raccourci correspondant à la ligne o๠vous avez rentré le script. Personnellement, j'utilise Ctrl+D en raccourci clavier, mais c'est vous qui voyez).
L'utilisation est simple, vous sélectionnez du texte à l'écran, puis vous tapez votre raccourci. Une seconde pression sur le raccourci pendant la lecture l'interrompt.
Enjoy... 🙂
Edit : Et m***e, je viens de réaliser que tu l'avais déjà mis dans le wiki Skippy 🙁... Ben tant pis hein, maintenant que je me suis fais ch** à taper tout ça, je le laisse quand même 😛