Faites parler votre PC
Par traaf le jeudi 17 janvier 2008, 14:16 - Ubuntu - Lien permanent
Une petite astuce tirée du forum Ubuntu-fr, complètement inutile donc absolument indispensable... Ou comment faire parler votre pc
première étape, si ce n'est déjà fait, installer le programme espeak
Dans une console, tapez espeak -v fr -s 140 "espeak, programme installé", ca y est, votre pc est apte à vous parler
Maintenant, étape suivante, on va lui faire lire n'importe quel texte sélectionné. (dépendance requise : xclip)
ouvrez votre éditeur de texte favori et copiez-y le contenu suivant :
#!/bin/bash
xclip -o | sed 's/argent/arjant/g' | sed 's/mais est-on/mai aiton/g' | sed 's/u2019//g' | sed 's/u2026/.../g' | sed 's/tous/tousse/g' | sed 's/(/, /g' | sed 's/)/, /g' | sed 's/u0153u/eu/g' | sed 's/tout e/tout-e/g' | sed 's/[\]//g' | espeak -v fr -s 140
Et enregistrez le fichier sous n'importe quel nom, par exemple voice.sh
Rendez le fichier exécutable (clic droit > propriétés > onglet permissions > cocher la case "autoriser l'exécution du fichier comme un programme")
Ouvrez maintenant l'éditeur de configuration Gconf-editor (< alt >< F2 > gconf-editor) et naviguez jusqu'à la clé apps>metacity>global_keybindings
choisissez une commande vierge (disabled) et éditez la clé, nous allons choisir la combinaison < Control >s pour lancer la lecture.

éditez ensuite la clé correspondant à votre commande apps>metacity>keybinding_commands et renseignez le chemin vers le script précédement enregistré

Vous pouvez fermer le programme, il ne vous reste qu'à sélectionner n'importe quel texte à la souris et appuyer sur la combinaison de touches < Control >s pour déclencher le script. La voix n'est pas des plus réalistes mais la qualité de la lecture est assez bluffante, amusez vous bien !
Commentaires
Ahah, c'est sympa
Merci !
Pour le script Bash, apparemment, la plupart est composé de petites correction de prononciation. Simplement pour savoir, est ce que seul le "espeak" et ses options et nécessaire pour faire le script le plus simple ? Ou bien le "xclip" est quand même à mettre ?
xclip est nécessaire pour récupérer le contenu surligné
Ca a l'air symp, mais sur mon laptop, ca ne marche pas...

sorti de la 1° commande :
PaHost_OpenStream: could not open /dev/dsp for O_WRONLY
PaHost_OpenStream: ERROR - result = -10000
PaHost_OpenStream: could not open /dev/dsp for O_WRONLY
PaHost_OpenStream: ERROR - result = -10000
et ca, un bon paquet de fois...
si quelqu'un a une idée, je suis preneur
++
Axel
Salut traaf
"éditez ensuite la clé correspondant à votre commande apps>metacity>keybinding_commands et renseignez le chemin vers le script précédement enregistré" tu dis d'enregister le script sous le nom espeak.sh et le chemin que tu donnes est "/home/traaf/voice.sh
j'ai essayé toutes les combinaisons...ça ne fonctionne pas
@batouk
effectivement, erreur de saisie
tu tapes le chemin vers ton script, quel que soit son nom
@axel
concernant l'erreur, tu n'es pas le seul, et je ne sais pas d'où ça peut venir
suis le sujet sur le forum, une solution viendra probablement grâce à un membre plus éclairé que la moyenne
Hello.
Après quelques jours d'usage, j'ai été assez embêté par le raccourcis clavier qui commande aussi l'enregistrement des documents... Je propose le raccourcis <control><alt>s
Salut tout le monde !
axel, j'ai eu ton message d'erreur. un "killall esd" dans un term a résolu notre problème... (voir la reprise du billet sur mon blog)
A+
Mike.
Hé ben en plus de traduire de l'anglais il apprend aux ordinateurs à parler ... hé ben dis donc qu'il est fort ce traaf... Prochaine étape changer la voix du bonom qui parle ?
Bonjour,
par rapport au message d'erreur de axel: j'ai eu le même et j'ai résolu en éteignant "xmms" .....
(/dev/dsp est le périphérique carte son)
Si ça peut aider....
Syl.
Salut, j'avais utiliser ton astuce qd tu l'a montrée, je propose une autre utilisation de espeak:
avec le script suivant et une petite configuration de evolution, votre ordinateur peut lire les email que vous recevez:
le script:
#/usr/bin/env bash
echo nouveau mail > /tmp/test.txt
while read value
do
echo $value >> /tmp/test.txt
done
cat /tmp/test.txt | sed -n -r '/^(From|Subject)/p' | espeak -v fr -s 140
cat /tmp/test.txt | sed -n -r '/^$/,//p' | espeak -v fr -s 140
la configuration d'evolution:
ajouter un nouveau filtre, reglez les criteres qui correspondent au mail a lire
dans les actions a effectuer:
canal d'acces au programme
indiquer le chemin vers le script
c'est fini
Super idée de partager cela !
Je propose une petite évolution en utilisant mbrola, un projet de l'université de Mons (Belgique !), pour obtenir des voix nettement meilleures (démo http://tcts.fpms.ac.be/synthesis/mb... ) :
xclip -o | sed 's/argent/arjant/g' | sed 's/u2019//g' | sed 's/u2026/.../g' | sed 's/u2022/.../g' | sed 's/tous/tousse/g' | sed 's/(/, /g' | sed 's/)/, /g' | sed 's/u0153u/eu/g' | sed 's/tout e/tout-e/g' | sed 's/[]//g' | espeak -v mb-fr1 -s 160 | mbrola /opt/mbrola/fr1/fr1 - - | aplay -r16000 -fs16 # -D pulse
Pour installer Mbrola, téléchargez l'archive pour votre architecture => x86 : http://tcts.fpms.ac.be/synthesis/mb... (à vérifier) ou x86_64 : http://tcts.fpms.ac.be/synthesis/mb... (vérifié et fonctionnel).
Dézippez, rendez exécutable le fichier et déplacez-le vers /usr/local/bin/ (ou /usr/bin/, comme vous voulez).
Ensuite, téléchargez et dézippez l'archive du fichier de langue que vous voulez. Et enfin, indiquez dans le script l'endroit où vous l'avez mis (changez le "/opt/mbrola/fr1/fr1", autre exemple "~/.mbrola/fr2/fr2").
Aussi, si vous voulez forcer l'utilisation de PulseAudio, décommentez la fin du script (enlevez le "#")
Bon amusement
(à propos de mon message précédent)
Je n'avais pas vu que ça avait déjà été proposé sur le forum d'Ubuntu-fr...