#1 Le 22/08/2009, à 10:18
- EricG
Problème pour faire parler mon ordinateur
Salut,
Je n'arrive pas à faire parler mon ordinateur.
ça marche avec le script pour lire un fichier texte, mais pour une sélection avec xclip, rien. Il n'y a pourtant que deux ou trois termes dans le script qui diffèrent. A moins que j'ai un problème de raccourcis, j'utilise Ctrl+Alt+s ou Alt+s c'est pareil.
L'exécution du script "Lire fichier texte.sh" fonctionne avec la voix que je voulais.
#!/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-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 script "lire_selection.sh" ne donne rien.
Dans CompizConfig, Général, Commands, la ligne Ligne de commande 0 contient home/ericgb/lire_selection.sh, Key Bindings, Exacuter la commande 0, j'ai mis <Alt>s
Dans gconf-editor, metacity, global_keybindings, j'ai run_command_1, <Alt>s
Dans keybinding_commands, j'ai command_1, home/ericgb/lire_selection.sh
#!/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-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} - - | aplay -r16000 -fs16
fi
done
Sinon, quelques tests bêbêtes :
espeak -v fr -s 140 "salut"
Fonctionne avec la voix masculine et robotisée.
espeak -v fr -s 140 | /home/ericgb/ToDo.txt
Permission non accordée mais je n'ai pas l'habitude du Terminal.
espeak -v mb-fr4 -s 150 -p 40 -f /home/ericgb/ToDo.txt > texte.pho
ça a marché une fois, après rien. Normal peut-être ?
/opt/mbrola-linux-i386 /opt/fr2/fr2 texte.pho -.au | aplay
C'est bon, la voix que je voulais.
Autres tests :
xclip semble bien capturer la sélection puisque xclip -0 me la ressort.
xclip -o | espeak -v mb-fr4 -s 150 -p 40 "$@" > /home/ericgb/Documents/Scripts/lecture.pho
ça ne renvoit rien mais pas d'erreur non plus.
mbrola /opt/fr2/fr2 /home/ericgb/Documents/Scripts/lecture.pho - - | aplay -r16000 -fs16
OK mais pas avec la bonne voix.
Peut être une piste : espeak, dernière version, 1.40 je crois, contient un dossier mb, il m'a semblé sur le coup que le tuto de la page 3 de ce fil disait le contraire. Il faut que je vérifie ce point, parce que l'idée était d'obtenir ce dossier mb, je n'ai peut être pas assez réfléchi sur le moment smile
J'arrive à faire lire une sélection à la main, dans le terminal, si je fais :
xclip -o | espeak -v mb-fr4 -s 150 -p 40 "$@" >$HOME/Documents/Scripts/lecture.pho
Le fichier pho se crée.
mbrola /opt/fr2/fr2 $HOME/Documents/Scripts/lecture.pho - - | aplay -r16000 -fs16
J'arrive à le lire, même avec la mauvaise voix.
Donc, c'est le raccourcis ?
Merci pour votre aide.
Hors ligne
#2 Le 24/08/2009, à 18:11
- Compte supprimé
Re : Problème pour faire parler mon ordinateur
Bonjour,
Que donne :
espeak -v fr -s 140 < /home/ericgb/ToDo.txt
?
#3 Le 25/08/2009, à 08:46
- EricG
Re : Problème pour faire parler mon ordinateur
Bonjour,
ça fonctionne avec la voix d'origine robotique.
Merci
Hors ligne
#4 Le 25/08/2009, à 09:45
- Compte supprimé
Re : Problème pour faire parler mon ordinateur
De rien,
En bonus :
echo "alias dire='espeak -v fr -s 140'" > .bashrc
À ne faire qu'une fois. Ensuite tu redémarre uniquement ta session (pas l'ordinateur).
Ensuite il suffit de taper en console par exemple :
dire "Bonjour"
dire < /home/ericgb/ToDo.txt
Cordialement.
Dernière modification par Compte supprimé (Le 25/08/2009, à 11:54)
#5 Le 25/08/2009, à 10:34
- EricG
Re : Problème pour faire parler mon ordinateur
Je voulais aller plus loin, avec mbrola et les raccourcis, etc. C'est en rapport avec le fil http://forum.ubuntu-fr.org/viewtopic.php?id=183394&p=1 pour sa partie tutorielle pure.
Bonne journée.
Hors ligne