#1 Le 25/08/2010, à 17:09
- Mysteroïd
Synthèse vocale, script de correction de phonèmes Espeak=>MBROLA
Bonjour,
Voici un script nommé "Diphorect", corrigeant certains phonèmes problématiques, c'est une base à compléter car au moment de la création du script (sous Hardy) certains phonèmes repérés comme étant problématiques n'avaient pas été inclus par manque de temps.
Je manque de temps pour continuer mais éventuellement postez tout de même vos suggestions et je verrai si je peux faire quelque chose.
Pour l'utiliser voir http://doc.ubuntu-fr.org/synthese_vocal … _diphorect
#!/bin/bash
# diphorect.sh v0.1.2, par Mysteroïd le 03/01/2009
# à rendre exécutable et à placer dans /usr/bin/ ou créer un lien par ln -s <chemin/diphorect.sh> /usr/bin/diphorect.sh
# Remplace le phonème n2 par n dans le fichier passé en argument et renvoi le contenu corrigé sur la sortie standard
checkphonem(){
if [ "${1:0:2}" = "n2" ]
then
NEWLINE=`echo "n ${1:2}"`
else
if [ "${1:0:2}" = "z3" ]
then
NEWLINE=`echo "s ${1:2}"`
else
NEWLINE="$*"
fi
fi
}
echo -n $NEWLINE >"$1.new"
IFS=""
while read LINE
do
((LINENBR = LINENBR + 1))
checkphonem $LINE
echo $NEWLINE >>"$1.new"
done <"$1"
cat "$1.new"
rm "$1.new"
exit 0
Dernière modification par Mysteroïd (Le 25/08/2010, à 17:18)
Hors ligne
#2 Le 25/08/2010, à 17:28
- Mysteroïd
Re : Synthèse vocale, script de correction de phonèmes Espeak=>MBROLA
Voici également un script pour lire le contenu du presse papier, voir ici pour l'utiliser :
http://doc.ubuntu-fr.org/synthese_vocal … sse_papier
#!/bin/bash
# lecteur vocale de presse papier v1.0 Mysteroïd 18/11/2008
# ! Nécessite les paquets "xclip" et "recode" et le script diphorect !
# Définition de la voix à utiliser par Mbrola, à adapter selon la voix choisie et son chemin
# voix d'homme
VOIX=/opt/fr1/fr1
TYPE=mb/mb-fr1
# Décommentez pour une voix de femme
#VOIX=/opt/fr2/fr2
#TYPE=mb/mb-fr4
# Contenu du presse-papier, sans " et ''recodé'' de JAVA vers utf-8
CLIP=`xclip -o -select p | recode java..u8 | tr -d '"'` # contenu primaire simplement sélectionné
if [ -z "$CLIP" ] ; then
CLIP=`xclip -o -select c | recode java..u8 | tr -d '"'` # ou secondaire (=copié) si aucune sélection active
fi
zenity --info --title="Info lecture par synthèse vocale " --text="La lecture du presse-papier va débuter (ou s'arrêter si elle est en cours)"
# on teste si la lecture est en cours, pour l'arrêter le cas échéant
if [ -n "$(ps -A | grep mbrola)" ] ; then
killall -g mbrola
else
# On traduit le fichier en phonèmes grâce à Espeak
espeak -v ${TYPE} "${CLIP}" >$HOME/temp.pho
# On corrige les phonèmes non valides et on envoie à Mbrola
diphorect $HOME/temp.pho | mbrola ${VOIX} - -.au | aplay
rm $HOME/temp.pho
fi
exit 0
Hors ligne
#3 Le 29/07/2011, à 15:40
- altair8080
Re : Synthèse vocale, script de correction de phonèmes Espeak=>MBROLA
Bonjour je découvre ce topic.
Mais quelles sont les étapes à la mise en place sous ubuntu.
Merci de votre aide
Hors ligne
#4 Le 30/07/2011, à 11:28
- Mysteroïd
Re : Synthèse vocale, script de correction de phonèmes Espeak=>MBROLA
Bonjour,
Comme indiqué tout au début, voyez :
http://doc.ubuntu-fr.org/synthese_vocal … _diphorect
Ca fait très longtemps que je n'ai plus travaillé sur ce sujet mais si vous avez des difficultés particulières après avoir suivi les explications de la doc essayez de me les exposer précisément et je verrai si je peux vous aider.
Hors ligne
#5 Le 12/05/2013, à 13:54
- eleg2
Re : Synthèse vocale, script de correction de phonèmes Espeak=>MBROLA
bonjour,
dans la mesure de mes (faibles) compétences en shell, le script semble remplacer « n2 » (resp. « z3 ») par « n » (resp. « s ») si ceux-ci sont en début de ligne.
un équivalent compatible avec les tubes (pipes) unix et basé sur sed est alors :
[entrée] | sed -e "s/^n2 /n /"| sed -e "s/^z3 /s /" | [sortie]
« ^ » y dénotant le début de ligne dans les expressions rationnelles/régulières.
évite alors la création de fichier de phonème temporaire dans un chaînage « espeak | sed × 2 | mbrola ».
E.
Hors ligne