À propos de GNU/Linux

Juillet 2009

I  .–Outils principaux

I.1  .–Franfest 1.96-beta-rc01

I.1.1  .–Introduction à Franfest

Franfest est essentiellement un patch de Festival (voir ??) qui permet de disposer d’une synthèse de parole française. Franfest peut s’utiliser dans l’environnement de Festival mais est utilisé aussi en conjonction avec d’autres outils dans E.F.M. (voir ??) Fr Sd TTS (voir ??) et E.S.D.F.F.M. (voir ??.)

Attention : des informations concernant l’installation de Franfest sont disponibles à http://www.culte.org/projets/biglux/install/lao/festival.shtml mais elles ne sont pas tout à fait à jour et surtout ne correspondent pas aux package que nous vous proposons d’installer ici, mais à des version antérieures.


I.1.2  .–Information sur le package

Télécharger : franfest-1.96-beta-rc01.tar.bz2

Vous pouvez aussi télécharger l’archive svn :

$ svn checkout http://pollock-nageoire.net/protected/franfest/trunk franfest

.


I.1.3  .–Dépendances pour Franfest

Il n’est a priori pas nécessaire de télécharger d’autres archives, même si Franfest utilise entre autre Festival (y compris lors de la compilation), et Mbrola ??. Ces outils seront téléchargés automatiquement (ou ne le seront pas s’ils sont présents déjà sur le système) lors de l’installation (voir I.1.4.)


I.1.4  .–Installation de Franfest

Décompresser l’archive par

$ tar -xjf franfest-1.96-beta-rc01.tar.bz2

entrer dans le répertoire qui vient d’être créé avec

$ cd franfest-1.96-beta-rc01

configurer le package avec

$ ./configure

compiler et installer avec

$ make

ATTENTION ! L’utilisateur qui effectue la commande make DOIT être autorisé à ÉCRIRE dans le répertoire défini par l’option –prefix du script ./configure

ATTENTION ! Il n’y a pas de target install. Ceci suffit à configurer, compiler et installer Franfest cependant, il est conseillé de prendre connaissance du commentaire de la commande

$ ./configure –help

en I.1.4.2.

I.1.4.1  .–Installation Manuelle

On suppose, dans cette section (I.1.4.1,) qu’on dispose de sources pour Festival et les speech_tools compatibles avec les outils de compilation disponibles sur le système. En d’autres termes, dans un répertoire de l’arborescence que nous appellrons src par convention, on a deux sous répertoires festival et speech_tools. En suivant les instructions de compilation dans chacun d’entre eux, la procédure doit aboutir. On suppose également qu’on dispose d’un répertoire franfest-1.96-beta-rc01 contenant l’arborescence des sources de Franfest. Son nom pourra être légèrement différent suivant la procédure que l’on aura adoptée pour télécharger ces sources (voir I.1.2.) Nous l’appelrons simplement franfest dans la suite. Néanmoins il semble préférable d’utiliser l’archive svn surtout que celle-ci pourrait bénéficier d’améliorations dans l’avenir.

On doit alors procéder aux étapes suivantes en supposant à chaque étape que le répertoire courant est src :

i) Compiler les speech_tools

$ cd speech_tools
$ ./configure
$ make
$ make test

Cette dernière étape étant évidemment facultative mais il est rassurant de savoir que ce package a passé les tests.


ii) Vérifier que festival compile Cette étape est également facultative, puisqu’on devra de toute façon recompiler festival une fois qu’on aura inséré les sources correspondant à Franfest. Cependant il peut s’avérer utile dans la suite de savoir qu’à ce stade festival compile. En effet, si une erreur de compilation devait survenir par la suite, cela permettrait de la localiser bien plus aisément. Effectuer les commandes :

$ cd festival
$ ./configure
$ make

À ce point on peut réaliser des tests mais il faut disposer des archives

Faire

$ cd ../

pour retourner dans le répertoire src et décompacter les archives ci-dessus avec tar -xzf *.tar.gz. Entrer à nouveau dans le répertoire festival :

$ cd festival

puis lancer les tests :

$ make test


iii) Préparer Franfest Supposons pour simplifier, qu’on a également placé les archives de Franfest dans src. Entrer dans le répertoire contenant ces archives :

$ cd franfest

Le script de configuration semble assez souple à ce point pour pouvoir être lancé même s’il ne va pas déterminer une installation complète :

$ ./configure –prefix=PREFIX --with-owner=OWNER \
--with-group=GROUP --with-festival=n \
--with-festivaldirectory=src --with-mbrola=?

On peut ensuite lancer :

$ make

Cependant, avec cette procédure :



I.1.4.2  .–Explication des commandes

Ci-dessous, les commentaires sont en italique. On suppose que tout ce qui concerne les options standard de configure est connu du lecteur ou que ce dernier se reportera aux nombreuses autres sources disponibles les concernant.

      ‘configure’ configures FranFest 20050705 to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

À noter que ces directives de configurations ne sont pas utilisables dans le cadre de l’installation de Franfest puisque elles ne sont pas implémentées par les scripts correspondants de Festival. Ainsi la spécification de la variable CC notamment serait sans effet ici et ne vous permettrait pas d’utiliser un autre compilateur c que celui fourni par défaut par le système.

Defaults for the options are specified in brackets.

Configuration:
  -h, –help              display this help and exit
      –help=short        display options specific to this package
      –help=recursive    display the short help of all the included packages
  -V, –version           display version information and exit
  -q, –quiet, –silent   do not print ‘checking...’ messages
      –cache-file=FILE   cache test results in FILE [disabled]
  -C, –config-cache      alias for ‘–cache-file=config.cache’
  -n, –no-create         do not create output files
      –srcdir=DIR        find the sources in DIR [configure dir or ‘..’]
    

Cette optiont n’est pas active et a été remplacée par des options décrites plus loin.

Installation directories:
  –prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local]
                        

ATTENTION ! Si vous n’indiquez aucun prefix explicitement, vérifier bien avant d’effectuer la commande make , que vous êtes autorisé à écrire dans le /usr/local ce qui est assez généralement réservé à l’utilisateur root. Si vous ne souhaitez pas effectuer l’installation en tant que root, indiquez –prefix=<répertoire><répertoire> est un répertoire sur lequel vous avez la permission d’écriture.

  –exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

By default, ‘make install’ will install all the files in
‘/usr/local/bin’, ‘/usr/local/lib’ etc.  You can specify
an installation prefix other than ‘/usr/local’ using ‘–prefix’,
for instance ‘–prefix=$HOME’.

For better control, use the options below.

Fine tuning of the installation directories:
  –bindir=DIR           user executables [EPREFIX/bin]
  –sbindir=DIR          system admin executables [EPREFIX/sbin]
  –libexecdir=DIR       program executables [EPREFIX/libexec]
  –datadir=DIR          read-only architecture-independent data [PREFIX/share]
  –sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
  –sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
  –localstatedir=DIR    modifiable single-machine data [PREFIX/var]
  –libdir=DIR           object code libraries [EPREFIX/lib]
  –includedir=DIR       C header files [PREFIX/include]
  –oldincludedir=DIR    C header files for non-gcc [/usr/include]
  –infodir=DIR          info documentation [PREFIX/info]
  –mandir=DIR           man documentation [PREFIX/man]

System types:
  –build=BUILD     configure for building on BUILD [guessed]

Optional Packages:
  –with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  –without-PACKAGE       do not use PACKAGE (same as –with-PACKAGE=no)
  –with-audiofeedback=y|n
                          If ‘y’ tries to find festival to provide an audio
                          feedback during the installation (default is ‘y’)
                        

Produit un suivi sonore de l’installation si Festival peut être trouvé sur le système. La méthode employée étant assez rudimentaire, cela peut considérablement ralentir l’installation.

  –with-sources=PATH Common source directory. Individual directories might be
                          set as well for each package.. (Default is
                          ‘$ac_cv_pln_prefix/src’)
                        

Si Festival ?? et/ou Mbrola ?? n’est pas installé sur le système mais que les sources sont cependant disponibles le script d’installation les trouvera de lui-même si elle sont dans prefisx/src. Cependant si elles sont ailleurs vous pouvez lui indiquer où elles se trouvent grâce à l’option ci-dessus.

  –with-owner=OWNER      Value of the –owner option passed to install.
                          (default depends on installation level)
  –with-group=GROUP      Value of the –group option passed to install.
                          (default depends on installation level)
                        

Si un utilisateur lambda fait l’installation et que le premier item renvoyé par la commande groups lambda est grecs, ces valeurs seront utilisées par défaut pour les options ci-dessus.

  –with-festival=y|n     Allows to inhibit explicitly use of festival. Beware
                          not to use this option if you don’t really know what
                          you are doing. (Default is y)
  –with-festivalprefix   Sets a particular prefix for festival installation.
                          (Default is the prefix set by the –prefix option.)
  –with-festivaldirectory=PATH
                          Sets directory by hands (not really a user option).
                          (Default is ‘$ac_cv_pln_default_directory_festival’)
  –with-festivalsources=PATH
                          Directory where festival sources are available. If
                          not set will try to get the sources on internet if
                          necessary. (Default is ’$prefix/src’)
                        

Cette option permet de spécifier où se trouvent les sources Festival en particulier si cela ne peut se faire grâce à l’option –with-sources dans le cas notamment où toutes les sources ne seraient pas au même endroit.

  –with-franfest=y|n     Allows to inhibit explicitly use of franfest. Beware
                          not to use this option if you don’t really know what
                          you are doing. (Default is y)
  –with-franfestprefix   Sets a particular prefix for franfest installation.
                          (Default is the prefix set by the –prefix option.)
  –with-franfestdirectory=PATH
                          Sets directory by hands (not really a user option).
                          (Default is ‘$ac_cv_pln_default_directory_franfest’)
  –with-mbrola=y|n       Allows to inhibit explicitly use of mbrola. Beware
                          not to use this option if you don’t really know what
                          you are doing. (Default is y)
  –with-mbrolaprefix     Sets a particular prefix for mbrola installation.
                          (Default is the prefix set by the –prefix option.)
  –with-mbroladirectory=PATH
                          Sets directory by hands (not really a user option).
                          (Default is ‘$ac_cv_pln_default_directory_mbrola’)
  –with-mbrolasources=PATH
                          Directory where mbrola sources are available. If not
                          set will try to get the sources on internet if
                          necessary. (Default is ’$prefix/src’)
                        

Permet de spécifier où se trouvent les sources de Mbrola indépendamment des autres sources.

  –with-mbrolaprogram=PROGNAME
                          Sets program by hands (not really a user option).
                          (Default is ‘$ac_cv_pln_default_program_mbrola’)
  –with-fr1directory=PATH
                          Sets directory by hands (not really a user option).
                          (Default is ‘$ac_cv_pln_default_directory_fr1’)
  –with-fr2directory=PATH
                          Sets directory by hands (not really a user option).
                          (Default is ‘$ac_cv_pln_default_directory_fr2’)

Report bugs to <biglux@culte.org>.

    



I.1.5  .–Contenu de Franfest

I.1.5.1  .–Programmes installés

Franfest n’installe pas d’autre programmes que l’interface utilisateur de Festival ?? c’est-à-dire festival, festival_client, festival_server, text2wave. Néanmoins, ceux-ci sont modifiés puisqu’ils ont été recompilés avec Franfest. Ceux-ci se trouvent dans <PREFIX>/share/festival/bin et un lien symbolique est créé depuis la commande festival sur <PREFIX>/bin/festival.


I.1.5.2  .–Librairies installées

Aucune librairie particulière n’est installée.


I.1.5.3  .–Répertoires installés

Les répertoires <PREFIX>/share/festival et <PREFIX>/share/speech_tools sont créés.


I.1.5.4  .–Courte description

Pour s’assurer du bon fonctionnement de Franfest il est raisonnable de s’assurer préalablement du bon fonctionnement de Festival. Si l’installation à a été convenablement effectuée, la commande festival est disponible dans le PATH (voir I.1.5.1) Avec la commande

$ festival

Vous vous trouverez devant un prompt du genre :

Festival Speech Synthesis System 1.95:beta July 2004
Copyright (C) University of Edinburgh, 1996-2004. All rights reserved.
For details type ‘(festival_warranty)’
festival> 

La commande «SayText» comme ci-dessous

festival> (SayText "Hello")
#<Utterance 0xb6f71588>
festival> 

doit produire un output du genre de celui ci-dessus ainsi que le mot «Hello» qui doit être prononcé.

Pour charger Franfest (ce qui n’est peut-être pas strictement nécessaire suivant la version dont vous disposez mais «abondance de bien ne nuit pas!»)

festival> (require ’franfest)
t
festival> 

Sélectionnez ensuite la voix française masculine avec

festival> (voice_fr1_mbrola)
fr1_mbrola
festival> 

Puis

festival> (SayText "Bonsoir")
#<Utterance 0xb6fd65d8>
festival> 

doit vous faire entendre «bonsoir» avec une voix française.

Enfin

festival> (voice_fr2_mbrola)
fr2_mbrola
festival> (SayText "Bonsoir")
#<Utterance 0xb6ff3488>
festival> 

doit vous faire entendre le même «bonsoir» avec une charmante voix d’hôtesse de l’air (enfin n’exagérons rien !)

Si ces tests vous semblent concluants, vous pouvez raisonnablement penser que Franfest est convenablement installé.




Index



Copyright (©) 2009 - 2010 Pierre L. Nageoire