Salut, je viens de tester le tts pico avec
speech-dispatcher, surtout pour voir la réactivité, en naviguant sur le
net, lire mail
et écrire du texte.
Tout ça derrière le lecteur d'écran speakup, avec la voix française.
C'est très intéressant, très rapide.
Il manque pas mal d'exception comme (quidam), mais surtout
des correspondances de mots anglais qui gardent la même prononciation en
français,
comme (root, utils), mais ça ce n'est plus le boulot d'un moteur tts mais
d'ne synthèse,
peut-êtrre un peu plus de clarté, et peut-être un échantillonage sur
16 bits au lieu de 8.
Pour ceux qui n'ont pas la dernière version de speech-dispatcher,
voici comment faire pour tester pico2wave :
1. télécharger le paquet libttspico-utils qui contient entre autre
pico2wave :
# apt-get install libttspico-utils
2. Dans le répertoire /etc/speech-dispatcher/modules/
créer un fichier pico-generic.conf et copier les lignes suivantes :
# pico output module is based on the generic plugin for Speech
# Dispatcher. It means there is no code written explicitly for
# this plugin, all the specifics are handled in this configuration
# and we call a simple command line client to perform the actual
# synthesis. Use this config file with the sd_generic output module.
#
# IMPORTANT: The audio output method relies on an audio playback
# utility (play, aplay, paplay for OSS, ALSA or Pulse)
# being installed. If this is not the case, consider installing it
# or replace the $PLAY_COMMAND string in the GenericExecuteString below
# with play, paplay or similar.
#
# GenericExecuteSynth is the shell command that should be
# executed in order to say some message. This command must
# stop saying the message on SIGKILL, otherwise it's useless.
# You can use the variables $LANGUAGE, $VOICE, $PITCH and $RATE
# which will be substituted for the appropriate value (you
# can modify this value, see other parameters).
# The command can be split into more lines, if necessary, using '\'.
GenericExecuteSynth \
"pico2wave -w $TMPDIR/pico.wav -l $VOICE \'$DATA\'&& $PLAY_COMMAND
$TMPDIR/pico.wav
# The following three items control punctuation levels None, Some, and All.
# Each of these values will be substituted into the $PUNCT variable
depending
# on the value passed to speech dispatcher from applications.
# Note that if an empty string is specified, then $PUNCT will be blank
# which is a default situation for espeak.
GenericPunctNone " "
GenericPunctSome "--punct=\"()[]{};:\""
GenericPunctAll "--punct"
# GenericStripPunctChars is a list (enclosed in doublequotes) of
# all the characters that should be replaced by whitespaces in
# order not to be badly handled by the output module or misinterpreted
# by shell.
# GenericStripPunctChars ""
# If the language you need to pass in $LANG is different
# from the standard ISO language code, you can specify
# which string to use instead. If you wish to use
# other than ISO charset for the specified language,
# you can add it's name (as accepted by iconv) as a
# third parameter in doublequotes.
GenericLanguage "en" "en" "utf-8"
GenericLanguage "de" "de" "utf-8"
GenericLanguage "es" "es" "utf-8"
GenericLanguage "fr" "fr" "utf-8"
GenericLanguage "it" "it" "utf-8"
# AddVoice specifies which $VOICE string should be assigned to
# each language and symbolic voice name. All the voices you want
# to use must be specified here. This list will likely not be
# up-to-date, please check pico documentation and add the voices
# you want to use.
AddVoice "en" "FEMALE1" "en-US"
AddVoice "en" "FEMALE2" "en-GB"
AddVoice "de" "FEMALE1" "de-DE"
AddVoice "es" "FEMALE1" "es-ES"
AddVoice "fr" "FEMALE1" "fr-FR"
AddVoice "it" "FEMALE1" "it-IT"
# Yes, it's wrong, but this way you at least get something even when
configured
# (by default) to use a male voice
AddVoice "en" "MALE1" "en-US"
AddVoice "en" "MALE2" "en-GB"
AddVoice "de" "MALE1" "de-DE"
AddVoice "es" "MALE1" "es-ES"
AddVoice "fr" "MALE1" "fr-FR"
AddVoice "it" "MALE1" "it-IT"
# Debug turns debugging on or off
# See speechd.conf for information where debugging information is stored
Debug 0
3. Dans le fichier /etc/speech-dispatcher/speechd.conf
ajouter les lignes suivantes :
DefaultLanguage "fr"
AddModule "pico-generic" "sd_generic" "pico-generic.conf"
DefaultModule pico-generic
LanguageDefaultModule "fr" "pico-generic"
Sans oublier de commenter les anciens paramètres pour éviter les doublons.
Et c'est tout ! Testez, et voyez avec vos oreilles !
A bientôt:
Sam
---