Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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