<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Christophe Nowicki &#187; eSpeak</title>
	<atom:link href="http://www.csquad.org/tag/espeak/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.csquad.org</link>
	<description>Just for fun</description>
	<lastBuildDate>Fri, 14 Jan 2011 08:32:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Reconnaissance vocale sous GNU/Linux et domotique</title>
		<link>http://www.csquad.org/2009/10/27/reconnaissance-vocale-avec-julius/</link>
		<comments>http://www.csquad.org/2009/10/27/reconnaissance-vocale-avec-julius/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 16:32:13 +0000</pubDate>
		<dc:creator>cscm</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Home automation]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[AIML]]></category>
		<category><![CDATA[eSpeak]]></category>
		<category><![CDATA[Julius]]></category>
		<category><![CDATA[Microphone array]]></category>
		<category><![CDATA[Voice Tracker]]></category>
		<category><![CDATA[VoxForge]]></category>
		<category><![CDATA[WAF]]></category>

		<guid isPermaLink="false">http://www.csquad.org/?p=554</guid>
		<description><![CDATA[L&#8217;objectif de cet article est de décrire mon avancement sur le système de reconnaissance vocale dans mon installation domotique. En effet, pour mon usage personnel, j&#8217;ai mis au point un chatterbot pour contrôler de manière intuitive l&#8217;appartement.
Cette technologie permet de tenir une discutions intuitive avec une maison intelligente pour lui faire exécuter des ordres.  [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;objectif de cet article est de décrire mon avancement sur le système de <a href="http://fr.wikipedia.org/wiki/Reconnaissance_vocale">reconnaissance vocale</a> dans mon <a href="/installation-domotique/">installation domotique</a>. En effet, pour mon usage personnel, j&#8217;ai mis au point un <a href="http://en.wikipedia.org/wiki/Chatterbot">chatterbot</a> pour contrôler de manière intuitive l&#8217;appartement.<br />
Cette technologie permet de tenir une discutions intuitive avec une maison intelligente pour lui faire exécuter des ordres.   (allez <a href="http://www.imdb.com/title/tt0062622/">Stanley</a>, tu t&#8217;es seulement planter de 10 ans <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ) :<br />
<code><br />
Moi>Alfred?<br />
Alfred>Oui, monsieur.<br />
Moi>Allume la lumière du salon.<br />
-- run xpl-sender -c x10.basic command=on device=a3<br />
Alfred>C'est fait.<br />
</code><br />
Le nom du bot est un hommage à <a href="http://en.wikipedia.org/wiki/Alfred_Pennyworth">Alfred Pennyworth</a>. Allons faire un petit tour dans les entrailles de la batcave <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Définition du besoin</h3>
<p>L&#8217;accumulation des télécommandes sur mon installation domotique, fait chuter mon <a href="http://en.wikipedia.org/wiki/Wife_acceptance_factor">WAF</a> de manière dramatique.<br />
 En effet, pour regarder une chaîne de télévision ou allumer la lumière.<br />
Il est nécessaire d&#8217;utiliser deux ou trois télécommandes différentes.<br />
Naviguer dans des interfaces, etc&#8230;<br />
Bref, pour des technologies donc l&#8217;objectif est d&#8217;améliorer la qualité de vie et rendre les taches quotidienne plus facile, j&#8217;avais un gros problème <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
Après un petite discussion et une mise au point avec ma moitié, j&#8217;ai réussi à vendre la solution de contrôle par la voix.<br />
Belle connerie me voilà parti dans un domaine que je ne connais pas <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h4>Première Approche</h4>
<p>Je <a href="http://www.touteladomotique.com/forum/viewtopic.php?t=2112">lance une boue à la mer</a> sur le forum <em>&#8220;toute la domotique&#8221;</em>. </p>
<p>Visiblement, je ne suis pas le seul à chercher ce genre de fonctionnalité. Actuellement, nous avons dans le domaine :</p>
<ul>
<li>l&#8217;abominable <a href="http://www.homeseer.com/">HomeSeer</a> qui fonctionne très mal en Anglais à l&#8217;aide de l&#8217;interface de reconnaissance vocale inclue dans <a href="http://www.microsoft.com/enable/products/windowsvista/speech.aspx">Microsoft Windows</a> et la <a href="http://en.wikipedia.org/wiki/Speech_Application_Programming_Interface">SAPI</a> ;</li>
<li>Rien de spécifique à la domotique sous GNU/Linux, mais une belle galaxie de programmes dans le domaine.</li>
</ul>
<h3>Le choix du microphone</h3>
<p>Ma petite dame voulais parler librement sans aucune contrainte et il n&#8217;étais pas question de l&#8217;équiper d&#8217;un microphone.<br />
J&#8217;ai donc cherché une solution qui permet de capter la parole dans une pièce sans microphone sur la personne.<br />
La solution magique s&#8217;appelle la technique du <a href="http://en.wikipedia.org/wiki/Microphone_array">Microphone array</a>.<br />
Le principe est très simple, mettre en commun plusieurs microphones reliés à un <a href="http://en.wikipedia.org/wiki/Digital_signal_processor">DSP</a> qui permet de faire le traitement du signal en fonction de l&#8217;orientation physique des microphones.<br />
J&#8217;ai donc proposé de mettre en place chez moi le <a href="http://groups.csail.mit.edu/cag/mic-array/images/array_pics/tn/dscf0483.jpg.html">LOUD</a> (non ce n&#8217;est pas un radiateur <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ).<br />
Bon vous vous doutez bien que lorsque j&#8217;ai proposé la solution du LOUD, j&#8217;ai faillit passer  par la fenêtre <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />   </p>
<table>
<tr>
<td valign="top">
<img src="http://www.csquad.org/wp-content/uploads/2009/09/microphone_array.jpg" alt="microphone_array" title="microphone_array" width="275" height="142" class="alignnone size-full wp-image-582" />
</td>
<td>
Heureusement, il existe des solutions plus simples telles que le <a href="http://www.acousticmagic.com/">Voice Tracker</a> de chez Acoustic Magic. </p>
<p>Celui-ci permet de capter la parole dans une pièce, retraite le signal et permet d&#8217;obtenir sur une prise Jack classique la voix et rien que la voix dans une pièce.<br />
Magique <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </td>
</tr>
</table>
<p>Je peux parler le dos tourner au microphone dans une pièce de 20m^2 et l&#8217;ordinateur capte ma voix de manière impressionnante <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Le logiciel de reconnaissance vocale</h3>
<p>Il y a principalement deux solutions dans le domaine sous GNU/Linux :</p>
<ul>
<li>Le projet <a href="http://cmusphinx.sourceforge.net/html/cmusphinx.php">CMU Sphinx</a> avec PocketSphinx, Sphinx-[234], etc&#8230;</li>
<li><a href="http://julius.sourceforge.jp/en_index.php">Julius</a>, Open-Source Large Vocabulary CSR Engine Julius.</li>
</ul>
<p>Sur ces deux moteurs de reconnaissance vocale, reposent de nombreux <a href="http://www.voxforge.org/home/docs/faq/faq/what-is-a-dialog-manager">Dialog Manager</a>,  qui permettent d&#8217;exploiter le moteurs pour faire de la téléphonie, de contrôle vocale, etc&#8230; </p>
<h3>Ma méthode</h3>
<p>Soyons claire, je ne suis pas un expert en reconnaissance vocale et ce domaine est vraiment très difficile d&#8217;accès et nécessite la compréhension de nombreuses notions.<br />
J&#8217;ai donc adopté la technique <a href="http://www.epitech.eu/">EPITECH</a> : c&#8217;est à dire faire en sorte que cela fonctionne. ( sans comprendre tout le contexte <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  )</p>
<h3>Un bon informaticien est un informaticien feignant</h3>
<p>Pour faire fonctionner Julius, il est nécessaire de lire à haute voix de nombreux mots pour enregistrer les différents <a href="http://fr.wikipedia.org/wiki/Phon%C3%A8me">phonèmes</a> qui les composent. Afin de créer un <a href="http://fr.wikipedia.org/wiki/Mod%C3%A8le_de_Markov_cach%C3%A9">Modèle de Markov caché</a> exploitable par le logiciel.<br />
Voici donc comment je m&#8217;y suis pris pour éviter cette phase fastidieuse du projet.</p>
<h4>Utilisation d&#8217;un logiciel de synthèse vocale</h4>
<p>1 ère approche une solution assez &#8220;<em>laide</em>&#8220;,  qui consiste à faire lire ces mots par un logiciel de <a href="http://en.wikipedia.org/wiki/Speech_synthesis">synthèse vocale</a> comme <a href="http://espeak.sourceforge.net/">eSpeak</a>. Mais le résultat n&#8217;était pas très bon.</p>
<h4>Utilisation d&#8217;une collection d&#8217;enregistrement audio</h4>
<p>J&#8217;ai par la suite découvert le <a href="http://shtooka.net/fr/">projet Shtooka</a>, qui est une collection audio libre de mots français.<br />
Tous les termes liés à la domotique ne sont pas disponible dans le projet mais il est très facile d&#8217;ajouter ces termes à sa base de données locale.</p>
<h4>Conversion texte vers Phonème</h4>
<p>Une des étapes de l&#8217;apprentissage de Julius est la conversion du texte en <a href="http://fr.wikipedia.org/wiki/Phon%C3%A8me">Phonèmes</a>, pour résoudre ce problème, j&#8217;ai utilisé l&#8217;option -X de  <a href="http://espeak.sourceforge.net/">eSpeak</a> dont voici un exemple de sortie :</p>
<pre>$espeak -v fr -q -X "lumière"
Translate 'lumière'
  1     l        [l]

  1     u        [y]

  1     m        [m]

 21     i (A     [j]
  1     i        [i]

 43     è       [E]

  1     r        [r]

 22     e (_     []
  1     e        [@]

 lymj'Er</pre>
<h4>Un peu de glu</h4>
<p>Pour faire fonctionner tout ces éléments ensemble, je me suis fait un script Perl (très sale pour le moment) permettant de réaliser automatiquement toutes ces étapes :</p>
<ul>
<li>analyse des questions posées au robot ;</li>
<li>la conversion des mots en phonèmes ; </li>
<li>la diction des mots ;</li>
<li>la création du modèle accoustique.</li>
</ul>
<p>Il s&#8217;agit de l&#8217;automatisation de toutes les étapes de la création d&#8217;un modèle acoustique du projet <a href="http://www.voxforge.org/home/dev/acousticmodels/linux/create/htkjulius/tutorial">VoxForge</a>.</p>
<h3>Les travaux en cours</h3>
<p>Mon projet est disponible à cette adresse : <a href="http://alfred.csquad.org/">Alfred</a><br />
Il est en cours de développement mais pour l&#8217;instant il est possible de donner des ordres simples. </p>
<p>J&#8217;utilise <a href="http://www.rivescript.com/">RiveScript</a> pour la définition des tâches et de la conversation. Ce langage de chatbot est plus puissant que  <a href="http://en.wikipedia.org/wiki/AIML">AIML</a>. Car il permet d&#8217;inclure du code Perl assez puissant dans le code de la conversation. Voici un exemple :<br />
<code>$ more lib/Alfred/languages/en/x10.rs<br />
+ switch * on<br />
- do you want me to switch &lt;star&gt; on?<br />
+ yes<br />
% do you want me to switch * on<br />
- &lt;call&gt;xpl_x10_send_on &lt;botstar&gt;&lt;/botstar&gt;&lt;/call&gt;</code><br />
<code>$more lib/Alfred/modules/x10.rs<br />
> object xpl_x10_send_on perl<br />
    my ($obj,$method,@args) = @_;<br />
    $obj->{'xpl'}->send(<br />
        message_type => 'xpl-cmnd', class => 'x10.basic',<br />
        body => { command => 'on', device => 'a3'  });<br />
< object<br />
</code></p>
<h3>Un petit appel à contribution</h3>
<p>J'aurais gagné énormément de temps si le projet <a href="http://www.voxforge.org/">VoxForge</a> avait reçu plus de contribution de la part des utilisateurs francophones.</p>
<p>En effet, il n'y a pas assez de contribution pour pouvoir faire un modèle accoustique en Français.<br />
Cela permettra de <strong>disposer d'un système de reconnaissance vocale libre</strong> en Français.<br />
Ce qui intéresse beaucoup de monde à mon avis <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
C'est donc un petit appel à contribution aux projets VoxForge et <a href="http://shtooka.net/fr/">Shtooka</a>.</p>
<h3>Références intéressantes</h3>
<ul>
<li>Ensemble de <a href="http://cookerspot.tuxfamily.org/wikka.php?wakka=ReconnaissanceVocale">liens intéressants</a> sur le sujet de la reconnaissance vocale sous GNU/Linux.</li>
<li>Un exemple d'utilisation de Julius : <a href="http://www.linux.com/archive/feature/134671">Querying a database using open source voice control software</a> ; </li>
<li>Les <a href="http://www.voxforge.org/home/dev/acousticmodels/linux">tutoriels</a> du projet VoxForge ;</li>
<li>Le <a href="http://sourceforge.jp/projects/julius/downloads/37581/Juliusbook-part-4.1.2-en.pdf">Julius Book</a>. </li>
</ul>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.csquad.org/2009/10/27/reconnaissance-vocale-avec-julius/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Text-to-Speech avec eSpeak, MBROLA et Speech Dispatcher</title>
		<link>http://www.csquad.org/2009/08/27/text-to-speech-avec-espeak-mbrola-et-speech-dispatcher/</link>
		<comments>http://www.csquad.org/2009/08/27/text-to-speech-avec-espeak-mbrola-et-speech-dispatcher/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 15:41:00 +0000</pubDate>
		<dc:creator>cscm</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Home automation]]></category>
		<category><![CDATA[eSpeak]]></category>
		<category><![CDATA[MBROLA]]></category>
		<category><![CDATA[Speech Dispatcher]]></category>
		<category><![CDATA[Text-to-Speech]]></category>

		<guid isPermaLink="false">http://www.csquad.org/?p=431</guid>
		<description><![CDATA[Je continue à travailler sur l&#8217;ajout de la parole dans mon système domotique.
En ajoutant le support des voix  MBROLA, je trouvais le code de mon module xPL, de plus en plus difficile à comprendre.
Et je n&#8217;étais pas très satisfait du résultat :

le module est spécifique à eSpeak ;
le nombre d&#8217;arguments à passer en ligne [...]]]></description>
			<content:encoded><![CDATA[<p>Je continue à travailler sur l&#8217;ajout de la parole dans <a href="http://www.csquad.org/installation-domotique/">mon système domotique</a>.<br />
En ajoutant le support des voix  <a href="http://tcts.fpms.ac.be/synthesis/mbrola.html">MBROLA</a>, je trouvais le code de <a href="http://www.csquad.org/2009/08/11/xpl-text-to-speech-module/">mon module xPL</a>, de plus en plus difficile à comprendre.<br />
Et je n&#8217;étais pas très satisfait du résultat :</p>
<ul>
<li>le module est spécifique à eSpeak ;</li>
<li>le nombre d&#8217;arguments à passer en ligne de commande au module devenait trop important.</li>
</ul>
<p>J&#8217;ai donc continué mes recherches dans le domaine est découvert <a href="http://www.freebsoft.org/speechd">Speech Dispatcher</a>.<br />
Il s&#8217;agit d&#8217;un daemon réseau qui s&#8217;occupe de l&#8217;abstraction par rapport aux différents systèmes de Text-to-Speech et met à disposition ces ressources à l&#8217;aide d&#8217;un protocole unique : <a href="http://cvs.freebsoft.org/doc/speechd/ssip.html">SSIP</a>.</p>
<p>Dans cette article, je vais décrie l&#8217;installation que j&#8217;ai mis en place chez moi.<br />
Pour obtenir un voix en Français de qualité correct et compréhensible sur une distribution Debian GNU/Linux version &#8220;Lenny&#8221;. </p>
<h3>Installation de MBROLA</h3>
<p>Vous avez besoin de l&#8217;exécutable et des voix du projet MBROLA.<br />
Téléchargeables sur le site du projet au format <a href="http://tcts.fpms.ac.be/synthesis/mbrola/mbrcopybin.html">binaire</a> :<br />
<code><br />
$ wget http://tcts.fpms.ac.be/synthesis/mbrola/bin/pclinux/mbr301h.zip<br />
$ unzip mbr301h.zip<br />
$ chmod +x mbrola-linux-i386<br />
# mv  mbrola-linux-i386 /usr/local/bin/mbrola<br />
$ mbrola<br />
 MBROLA 3.01h - speech synthesizer<br />
 Author : Thierry Dutoit with help of AC/DC adaptator Vincent Pagel<br />
 Copyright (c) 95 Faculte Polytechnique de Mons (TCTS lab) - T.Dutoit<br />
 Email mbrola@tcts.fpms.ac.be to freely subscribe as a user<br />
...<br />
</code><br />
Vous avez ensuite besoin d&#8217;une voix :<br />
<code><br />
$ wget http://tcts.fpms.ac.be/synthesis/mbrola/dba/fr1/fr1-990204.zip<br />
$ unzip fr1-990204.zip<br />
# mkdir /usr/share/mbrola/<br />
# mv fr1 /usr/share/mbrola/<br />
</code><br />
Vous pouvez ensuite tester la sortie à l&#8217;aide de la commande suivante :</p>
<p><code>$ espeak -v mb/mb-fr1 "bonjour, c'est la voix de secret story" | mbrola /usr/share/mbrola/fr1/fr1 - - | aplay -r16000 -fS16</code></p>
<h3>Installation et configuration de Speech Dispatcher</h3>
<p>Le programme est directement disponible dans <a href="http://packages.debian.org/lenny/speech-dispatcher">Debian</a>.</p>
<p><code> # apt-get install speech-dispatcher</code></p>
<p>Il faut ensuite modifier le fichier de configuration <em>/etc/speech-dispatcher/speechd.conf</em> de la manière suivante :<br />
<code><br />
DefaultLanguage "fr"<br />
DefaultVoiceType  "MALE1"<br />
AddModule "espeak-generic" "sd_generic" "espeak-generic.conf"<br />
DefaultModule espeak-generic<br />
</code></p>
<p>Et le fichier <em>/etc/speech-dispatcher/modules/espeak-generic.conf</em> :</p>
<p><code><br />
GenericExecuteSynth \<br />
"echo \"$DATA\" | espeak -v $VOICE -s $RATE -a $VOLUME -p $PITCH $PUNCT --stdin | /usr/local/bin/mbrola /usr/share/mbrola/fr1/fr1 - - | aplay -r16000 -fS16"<br />
</code></p>
<p>Vous pouvez relancer le <em>deamon</em> et vous connecter dessus :<br />
<code><br />
# /etc/init.d/speech-dispatcher restart<br />
</code></p>
<p><code><br />
$ telnet localhost 6560<br />
SET self CLIENT_name me:and:myself<br />
208 OK CLIENT NAME SET<br />
SPEAK<br />
230 OK RECEIVING DATA<br />
Attention, le frigo est vide<br />
.<br />
225-20<br />
225 OK MESSAGE QUEUED<br />
</code></p>
<h3>Références</h3>
<p>Voici quelques liens vers des documents intéressants sur le sujet :</p>
<ul>
<li><a href="http://ubuntuforums.org/showthread.php?t=751169">HOWTO: Make festival TTS use better voices (MBROLA / CMU / HTS)</a> ;</li>
<li><a href="http://espeak.sourceforge.net/mbrola.html">MBROLA VOICES with eSpeak</a> ;</li>
<li><a href="http://cvs.freebsoft.org/doc/speechd/ssip.html">La documentation du protocole SSIP</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.csquad.org/2009/08/27/text-to-speech-avec-espeak-mbrola-et-speech-dispatcher/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>xPL Text-to-Speech module</title>
		<link>http://www.csquad.org/2009/08/11/xpl-text-to-speech-module/</link>
		<comments>http://www.csquad.org/2009/08/11/xpl-text-to-speech-module/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 16:17:18 +0000</pubDate>
		<dc:creator>cscm</dc:creator>
				<category><![CDATA[Home automation]]></category>
		<category><![CDATA[eSpeak]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Text-to-Speech]]></category>
		<category><![CDATA[xPL]]></category>

		<guid isPermaLink="false">http://www.csquad.org/?p=404</guid>
		<description><![CDATA[I&#8217;ve wote an Text-to-Speech module for xPL Perl based on eSpeak and the Speech::eSpeak Perl module.
The xPL TTS.BAISC schema is very basic, but suffisent for my text-to-speech needs.
Setup on Debian GNU/Linux
You should install the fallowing packages with apt :
 # apt-get install libespeak-dev dh-make-perl espeak-data devscripts
And build the Perl module :
# cd /usr/src
# wget http://search.cpan.org/CPAN/authors/id/H/HG/HGNENG/Speech-eSpeak-0.3.tar.gz
# [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve wote an <a href="http://en.wikipedia.org/wiki/Speech_synthesis">Text-to-Speech module</a> for <a href="http://www.xpl-perl.org.uk/">xPL Perl</a> based on <a href="http://espeak.sourceforge.net/">eSpeak</a> and the <a href="http://search.cpan.org/dist/Speech-eSpeak/lib/Speech/eSpeak.pm">Speech::eSpeak</a> Perl module.</p>
<p>The xPL <a href="http://wiki.xplproject.org.uk/index.php/Schema_-_TTS.BASIC">TTS.BAISC</a> schema is very basic, but suffisent for my text-to-speech needs.</p>
<h3>Setup on Debian GNU/Linux</h3>
<p>You should install the fallowing packages with apt :<br />
<code> # apt-get install libespeak-dev dh-make-perl espeak-data devscripts</code></p>
<p>And build the Perl module :<br />
<code># cd /usr/src<br />
# wget http://search.cpan.org/CPAN/authors/id/H/HG/HGNENG/Speech-eSpeak-0.3.tar.gz<br />
# tar xzf Speech-eSpeak-0.3.tar.gz<br />
# dh-make-perl Speech-eSpeak-0.3<br />
# cd Speech-eSpeak-0.3<br />
# debuild<br />
# dpkg -i dpkg -i ../libspeech-espeak-perl*<br />
</code></p>
<p>Get my source code :<br />
<code># wget http://www.csquad.org/wp-content/contrib/eSpeak.pm -O /usr/share/perl5/xPL/Dock/eSpeak.pm<br />
# wget http://www.csquad.org/wp-content/contrib/xpl-tts -O /usr/bin/xpl-tts<br />
# chmod +x /usr/bin/xpl-tts<br />
</code></p>
<h3>Usage exemples</h3>
<p>Launch the <em>xpl-tts</em> program :<br />
<code>$ xpl-tts -espeak-verbose -espeak-voice-language en -espeak-voice-gender 2 -espeak-voice-age 42</code><br />
Then, send an xpl command on the network :<br />
<code>$ xpl-sender -m xpl-cmnd -c tts.basic speech="xPL rocks everything"<br />
</code></p>
<p>You should hear the synthesized voice.</p>
<p>And Voila <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Bugs and evolutions</h3>
<p>I will submit this module to the xpl-perl project and try to implement  <a href="http://tcts.fpms.ac.be/synthesis/mbrola.html">MBROLA</a> project support. Because I&#8217;ve got a more humain voices.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.csquad.org/2009/08/11/xpl-text-to-speech-module/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

