En tant que malvoyant, j'ai beaucoup cherché à intégrer correctement un système de synthèse vocale sur ubuntu. Néammoin, je ne suis pas parvenu à faire fonctionner orca avec les voix mbrola.
Je me suis donc tourner vers des petits scripts qui peuvent me faciliter la vie.
premier script: script de diction de l'heure
la structure du script en elle même n'est pas de moi (trouvée sur la doc)
#!/bin/bash
##### variable date #####
DATE=`date`
##### Affiche le menu Zenity #####
choix=`zenity --list --title="Choisissez le sexe" --column="N°" --column="Langue" --height="200" \
1 homme \
2 femme `
##### Sélection automatique de la langue choisie dans le menu Zenity #####
case $choix in
1 ) VOIX=/opt/mbrola/fr1/fr1 && TYPE=mb/mb-fr1 ;; # pour une voix de homme en français
2 ) VOIX=/opt/mbrola/fr4/fr4 && TYPE=mb/mb-fr4 ;; # pour une voix de femme en anglais
esac
# 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 }' ) && sleep 2
fi
# On traduit la sélection en phonèmes grâce à Espeak, et on l'envoie à Mbrola
xclip -o | espeak -v $TYPE -s 160 -p 40 "$DATE" | mbrola $VOIX - -.au | aplay
second script: diction de l'état de la batterie
#!/bin/bash
##### variable date #####
BAT=` acpi -b | grep "Battery 0" | awk '{ print $4}' `
##### Affiche le menu Zenity #####
choix=`zenity --list --title="Choisissez le sexe" --column="N°" --column="Langue" --height="200" \
1 homme \
2 femme `
##### Sélection automatique de la langue choisie dans le menu Zenity #####
case $choix in
1 ) VOIX=/opt/mbrola/fr1/fr1 && TYPE=mb/mb-fr1 ;; # pour une voix de homme en français
2 ) VOIX=/opt/mbrola/fr4/fr4 && TYPE=mb/mb-fr4 ;; # pour une voix de femme en anglais
esac
# 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 }' ) && sleep 2
fi
# On traduit la sélection en phonèmes grâce à Espeak, et on l'envoie à Mbrola
xclip -o | espeak -v $TYPE -s 160 -p 40 "$BAT" | mbrola $VOIX - -.au | aplay
Une autre idée qui pourrait être pratique pour les personnes souffrant du même handicap que moi serait la création d'un lanceur d'application "sonore", en voici un exemple sale certes mais efficace.
lanceur d'application
#!/bin/bash
##### Sélection automatique de la langue choisie dans le menu Zenity #####
VOIX=/opt/mbrola/fr1/fr1
TYPE=mb/mb-fr1
# 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 }' ) && sleep 2
fi
INTRO=Quelleapplicationexécuter1google2facebook3messagerie4amsn5nettoyeur
# On traduit la sélection en phonèmes grâce à Espeak, et on l'envoie à Mbrola
xclip -o | espeak -v $TYPE -s 160 -p 40 "$INTRO" | mbrola $VOIX - -.au | aplay
##### choix des applications #####
choix=`zenity --list --title="Choisissez la langue" --column="N°" --column="application" --height="200" \
1 Google \
2 Facebook \
3 Gmail \
4 Amsn \
5 Nettoyeur `
##### Sélection automatique de la langue choisie dans le menu Zenity #####
# 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 }' ) && sleep 2
fi
FIN=ouverturedelapplication$choix
# On traduit la sélection en phonèmes grâce à Espeak, et on l'envoie à Mbrola
xclip -o | espeak -v $TYPE -s 160 -p 40 "$FIN" | mbrola $VOIX - -.au | aplay
case $choix in
1 )/opt/google/chrome/google-chrome "http://www.google.fr/";;
2 )/opt/google/chrome/google-chrome "http://www.facebook.fr";;
3 )/opt/google/chrome/google-chrome "https://mail.google.com/mail/?hl=fr&shva=1#inbox";;
4 )amsn;;
5 )bleachbit;;
esac