Salut,
Le WE arrive, avec quelques testes ce sera peut être plus clair :
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 🙂
Voilà, Qu'est-ce que je pourrais faire d'autre ?