Re: [CBLX] Pico2wave avec speech-dispatcher

[ Thread Index | Date Index | More lists.tuxfamily.org/carrefourblinux Archives ]


coolbrother@xxxxxxxxxx wrote on Sun, Sep 18, 2011 at 04:50:11PM +0200
> 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,

Il pourrait en effet y avoir des mécanismes d'échappement pour des
mots dans une autre langue mais ça n'est pas si simple car on dirait
qu'il n'y a pas que la prononciation qui change.  La prosodie est
apparemment différente d'une langue à l'autre.  Le dictionnaire de
diphones semble être différent également et il faut donc que tout soit
modifié à la volée.  Enfin on a pas tous les éléments techniques pour
évaluer ça.

> peut-êtrre un peu plus de clarté, et peut-être un échantillonage sur
> 16 bits au lieu de 8.

Si c'est vraiment la bonne raison, il faudrait voir pourquoi ce choix.
Les auteurs n'auraient pas dégradé le résultat par simple convenance.

> 
> Pour ceux qui n'ont pas la dernière version de speech-dispatcher,
> voici comment faire pour tester pico2wave :

Pour ton script de conf plus bas, peut-être vaudrait-il mieux que le
nom du fichier wave intermédiaire soit calculé pour éviter tout risque
de conflit, même si c'est peu probable puisque en principe on ne fait
pas parler 2 textes en même temps, un traitement non terminé pourrait
gêner le suivant.  Du coup il faudrait penser à virer le .wav après
l'avoir fait jouer.  À propos ça ne pourrait pas fonctionner par pipe
entre le production du wav et son jeu ?

dom


> 
> 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
> 
> 
> 
> 
> ---
> --
>    CarrefourBLinuX MailingListe
>    Pour obtenir de l'aide, envoyez le sujet  help  à:
>    carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
>    Archives:
>    http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux
> 

-- 

---
--
   CarrefourBLinuX MailingListe
   Pour obtenir de l'aide, envoyez le sujet  help  à:
   carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
   Archives:
   http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/