[mary-dev] adding new NLPs to the system

Marc Schroeder marc.schroeder at dfki.de
Tue Jun 21 16:20:34 CEST 2011


OK, let's go slowly.

When you start the mary server with debug output enabled, e.g. as follows:

bin/maryserver -Dlog4j.logger.marytts=DEBUG,stderr
(writing to the console)

or as

bin/maryserver -Dlog4j.logger.marytts=DEBUG,logfile
(writing to log/server.log)

You should see lines such as:

2011-06-21 16:07:38,267 [main] DEBUG marytts.main fr.allophoneset = 
MARY_BASE/lib/modules/tr/lexicon/allophones.tr.xml
2011-06-21 16:07:38,267 [main] DEBUG marytts.main fr.lettertosound = 
MARY_BASE/lib/modules/tr/lexicon/tr.lts
2011-06-21 16:07:38,267 [main] DEBUG marytts.main fr.lexicon = 
MARY_BASE/lib/modules/tr/lexicon/tr_lexicon.fst
2011-06-21 16:07:38,267 [main] DEBUG marytts.main fr.version = 4.3.0


which confirm that the fr.config is actually being loaded.

Then you will see lines such as:

2011-06-21 16:07:38,830 [main] INFO  marytts.ModuleRegistry Now 
initiating mary module 'marytts.modules.JPhonemiser(fr.)'

which confirms that the class is being loaded.

In this setup though, where you use the Turkish allophone set for the 
"fr.allophoneset" property, the locale derived from the file will be 
Turkish, not French, and so you will find later:

2011-06-21 16:07:46,472 [main] INFO  marytts.JPhonemiser Module started 
(PARTSOFSPEECH->PHONEMES, locale tr).
2011-06-21 16:07:46,472 [main] INFO  marytts.JPhonemiser Starting 
power-on self test.
2011-06-21 16:07:46,473 [main] DEBUG marytts.JPhonemiser No example text 
-- no power-on self test!
2011-06-21 16:07:46,473 [main] INFO  marytts.JPhonemiser Power-on self 
test complete.


The point here is that for French PARTSOFSPEECH->PHONEMES conversion 
(which is the only thing you can hope to do with just this module) this 
will not work since you in fact instantiated a Turkish component.

Regards,
Marc


On 21.06.11 15:30, fxavier at ircam.fr wrote:
> I also tried to include only a marytts.modules.JPhonemiser(fr.) adding the
> tr allophoneset and all the others settings in the fr.config, rebuild
> everything, restart the server, but it still doesn't work (same
> exception), so the problem definitely doesn't come frome the class
> PhonemiserFR...
>
> The fr.config is:
>
> ##########################################################################
> # MARY TTS configuration file.
> ##########################################################################
>
> name = fr
> fr.version = 4.3.0
>
> # Declare "group names" as component that other components can require. #
> These correspond to abstract "groups" of which this component is an
> instance.
>
> provides = a-language
>
> requires = \
>      marybase \
>
>
> ###########################################################################
> ############################## The Modules
> ###############################
> ###########################################################################
>
>
> modules.classes.list = \
> 	    marytts.modules.JPhonemiser(fr.) \
>
>
>
> # Phonemiser settings
> fr.allophoneset = MARY_BASE/lib/modules/tr/lexicon/allophones.tr.xml
> fr.lexicon = MARY_BASE/lib/modules/tr/lexicon/tr_lexicon.fst
> fr.lettertosound = MARY_BASE/lib/modules/tr/lexicon/tr.lts
>
>
>
> Florent
>
>
>
>
>> Yes I tried to write it into the marybase.config, but same problem.
> Actually I didn't say that the conversion TEXT->RAWMARYXML failed, of
> course it works with every kind of local because it only uses the
> general
>> class TextToMaryXML included in marybase.config.
>> But TEXT->PHONEMES doesnt work, and according to what's on the
> server.log,
>> It stops right after the TEXT->RAWMARYXML.
>>
>> 2011-06-21 11:49:29,827 [I/O dispatcher 5] INFO  marytts.R 2 -
>>>> TextToMaryXML (marytts.modules.TextToMaryXML)
>>>> 2011-06-21 11:49:29,827 [I/O dispatcher 5] INFO  marytts.R 2 Next module:
>>>> TextToMaryXML
>>>> 2011-06-21 11:49:29,828 [I/O dispatcher 5] ERROR marytts.server
> Processing
>>>> failed.
>>
>> So I tried the conversion RAWMARYXML->PHONEMES, which is the input and
> output of my class PhonemiserFR, so that it is the only class used in
> theory, but I have diectly the ERROR marytts.server. Which means that
> the
>> class is not even recognized. As you can see in this portion, the class
> PhonemiserFR is never mentionned. Even if my code is not good, at least
> it
>> should be written in the server.log, and after only, must say that
> processing failed, doesn'it?
>> I think the problem comes from my fr.config which, without being ignored
> (for example when including some dummy class or forgetting some
> arguments,
>> the server throws an exception), is not properly recognized.
>>
>>
>>
>> Florent
>>
>>
>>
>>
>>
>>
>>> One thing you could try for testing is to write the
>>> 	marytts.language.fr.PhonemiserFR \
>>> directly into marybase.config -- just to make sure the problem is not
> with fr.config being ignored.
>>> How can the TEXT ->  RAWMARYXML conversion fail? Even with a dummy
> locale
>>> "bla" it is supposed to work:
>>> http://mary.dfki.de:59125/process?INPUT_TEXT=Hello+world&INPUT_TYPE=TEXT&OUTPUT_TYPE=RAWMARYXML&LOCALE=bla
> M.
>>> On 21.06.11 12:10, fxavier at ircam.fr wrote:
>>>> Hello Nickolay,
>>>> Thank you for your answer. I did install all the languages (not the
> voices) and it works... it's a real stupid mistake I must admit.
> However, still I 'm having problem with french. I guess it is not a
> problem if the voice is not installed since it is just a warning. For
> the
>>>> fr.config file, now it just look like this:
>>>> ##########################################################################
> # MARY TTS configuration file fr.config
>>>> ##########################################################################
> name = fr
>>>> fr.version = 4.3.0
>>>> provides = a-language
>>>> requires = \
>>>>       marybase
>>>> ###########################################################################
> ############################## The Modules
>>>> ###############################
>>>> ###########################################################################
> modules.classes.list = \
>>>> 	marytts.language.fr.PhonemiserFR \
>>>> This class PhonemiserFR takes as input a RAWMARYXML and output PHONEMES.
>>>> I
>>>> included some logger.debug() inside the constructor and the process
> method, but nothing is written into the server.log file. What I deduce
> from the exceptions is that the modules TextToMaryXML and PhonemiserFR
> are
>>>> not properly interconnected, so I'm missing something, maybe a file to
> tweak, or some includes missing? However, the output of TextToMaryXML
> is
>>>> a
>>>> RAWMARYXML, which is the input of the PhonemiserFR class. I think I've
> changed the build.xml file so it is correct now. As I can see in the
> server.log:
>>>> 2011-06-21 11:49:29,827 [I/O dispatcher 5] INFO  marytts.R 2 -
> TextToMaryXML (marytts.modules.TextToMaryXML)
>>>> 2011-06-21 11:49:29,827 [I/O dispatcher 5] INFO  marytts.R 2 Next module:
>>>> TextToMaryXML
>>>> 2011-06-21 11:49:29,828 [I/O dispatcher 5] ERROR marytts.server
> Processing
>>>> failed.
>>>> TextToMaryXML doesn't process.
>>>> Florent
>
>
>
> _______________________________________________
> Mary-dev mailing list
> Mary-dev at dfki.de
> http://www.dfki.de/mailman/cgi-bin/listinfo/mary-dev

-- 
Dr. Marc Schröder, Senior Researcher at DFKI GmbH
Project leader for DFKI in SSPNet http://sspnet.eu
Team Leader DFKI TTS Group http://mary.dfki.de
Editor W3C EmotionML Working Draft http://www.w3.org/TR/emotionml/
Portal Editor http://emotion-research.net

Homepage: http://www.dfki.de/~schroed
Email: marc.schroeder at dfki.de
Phone: +49-681-85775-5303
Postal address: DFKI GmbH, Campus D3_2, Stuhlsatzenhausweg 3, D-66123 
Saarbrücken, Germany
--
Official DFKI coordinates:
Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH
Trippstadter Strasse 122, D-67663 Kaiserslautern, Germany
Geschaeftsfuehrung:
Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster (Vorsitzender)
Dr. Walter Olthoff
Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
Amtsgericht Kaiserslautern, HRB 2313


More information about the Mary-dev mailing list