Aller au contenu Aller au menu Aller au sous menu Aller à la recherche

Ligams » Publications » Linux » Synthèse vocale : Festival

Synthèse vocale avec Festival sous Linux

La synthèse vocale pour le web est dans certains cas essentielle : prenons un cas concret, les captcha. On voit fleurir un peu partout, ils servent à valider que la personne qui remplit un formulaire est bien un être humain, pour cela, on vous demande de recopier le texte sur une image (bien souvent illisible, ndlr), on appelle ce procédé un captcha.

Cela sert à assainir les informations recueillies par un formulaire, et il faut bien avouer que c'est assez efficace, même si en tant qu'utilisateur, on trouve ça pénible.

Synthèse vocale et accessibilité

Si l'on souhaite utiliser les captcha, tout en gardant son application web accessible, il faut permettre à toute personne de pouvoir remplir correctement les formulaires que l'on propose. D'où l'intérêt de recourir à la synthèse vocale sur un serveur web.

On pourrait éventuellement aller beaucoup plus loin en proposant ses contenus sous forme audio, mais nous partons néanmoins du principe que les personnes qui ont besoin de ce type de dispositif sont d'ores et déjà équipées.

Installation de festival

Vous trouverez les sources sur la page officielle du projet festival, sous Linux debian :

apt-get install festival

Et vous pourrez ainsi sortir votre "hello world" avec la commande suivante :

echo "Salut tout le monde" | festival --tts

Création d'un fichier .wav avec text2wave

La commande text2wave permet à partir d'un fichier, de convertir le texte en audio et de le sauvegarder dans un fichier. Il y a quelques options à découvrir en lisant le fichier d'aide ( # text2wave --help)

Pour générer le fichier wav, utilisons la commande suivante :

echo "Salut tout le monde" | text2wave -o salut.wav

Le problème étant principalement que les fichiers wave sont très lourds, aussi, nous pouvons utiliser un format compressé mp3, plus léger. Nous utiliserons lame comme encodeur mp3.

Encodage en mp3 avec lame

Pour installer lame avec apt-get, ajoutez tout d'abord un repository qui le contient : fichier /etc/apt/sources.list

deb http://www.debian-multimedia.org etch main

Lancez ensuite l'installation :

sudo apt-get install lame liblame0

Il ne reste plus qu'à convertir notre fichier salut.wav en salut.mp3

lame salut.wav salut.mp3

Voici donc une excellente base pour faire un transformer un texte en audio côté serveur d'une application web, cela nécessite tout de même de laisser l'accès à certaines commandes depuis php, ou d'utiliser un script PERL. Mais le résultat en vaut la peine, puisqu'il s'agit d'accessibilité.

Pour le moment, cette synthèse vocale est en anglais.

Commentaires

Les commentaires sont tous validés par un modérateur, votre commentaire n'apparaît pas directement sur le site.
Aucun support n'est assuré ici, vous pouvez néanmoins laisser vos remarques et critiques sur l'article, les points de vue pertinents sont toujours les bienvenus.

Votez pour cet article

Vote: 5,00/5
(Nombre de votant(s) : 1)

Traduction automatique

Recherche

Ligams © 2009 tous droits réservés - Contact | Aide à la navigation | Plan du site | Glossaire | Infos légales | Accessibilité