[mary-dev] adding new NLPs to the system

fxavier at ircam.fr fxavier at ircam.fr
Mon Jun 20 14:40:16 CEST 2011


Thanks,


Now I just tried to play with the french NLP component, locale fr. Here's
what's on the server.log file:

2011-06-20 13:24:11,926 [I/O dispatcher 2] INFO  marytts.R 18 New request
(input type "RAWMARYXML", output type "PHONEMES", effect "", audio "AU")
2011-06-20 13:24:11,928 [I/O dispatcher 2] WARN  marytts.Voice Could not
find default voice for locale fr
2011-06-20 13:24:11,928 [I/O dispatcher 2] INFO  marytts.server Read:
<?xml version="1.0" encoding="UTF-8"?> <maryxml
xmlns="http://mary.dfki.de/2002/MaryXML"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="0.5"
xml:lang="fr"> <p> salut dB </p> </maryxml>
2011-06-20 13:24:11,929 [I/O dispatcher 2] ERROR marytts.server Processing
failed.
java.lang.UnsupportedOperationException: No known way of generating output
from input -- no processing path through modules.
	at marytts.server.Request.processOneChunk(Request.java:513)
	at marytts.server.Request.processOrLookupOneChunk(Request.java:394)
	at marytts.server.Request.process(Request.java:341)
	at
marytts.server.http.SynthesisRequestHandler.process(SynthesisRequestHandler.java:286)
	at
marytts.server.http.SynthesisRequestHandler.handleClientRequest(SynthesisRequestHandler.java:112)
	at
marytts.server.http.BaseHttpRequestHandler.handle(BaseHttpRequestHandler.java:150)
	at
org.apache.http.nio.protocol.BufferingHttpServiceHandler$RequestHandlerAdaptor.handle(BufferingHttpServiceHandler.java:193)
	at
org.apache.http.nio.protocol.SimpleNHttpRequestHandler.handle(SimpleNHttpRequestHandler.java:55)
	at
org.apache.http.nio.protocol.AsyncNHttpServiceHandler.processRequest(AsyncNHttpServiceHandler.java:454)
	at
org.apache.http.nio.protocol.AsyncNHttpServiceHandler.inputReady(AsyncNHttpServiceHandler.java:320)
	at
org.apache.http.nio.protocol.BufferingHttpServiceHandler.inputReady(BufferingHttpServiceHandler.java:135)
	at
org.apache.http.impl.nio.DefaultNHttpServerConnection.consumeInput(DefaultNHttpServerConnection.java:179)
	at
org.apache.http.impl.nio.DefaultServerIOEventDispatch.inputReady(DefaultServerIOEventDispatch.java:145)
	at
org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:153)
	at
org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:314)
	at
org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:294)
	at
org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:256)
	at
org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:96)
	at
org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:556)
	at java.lang.Thread.run(Thread.java:679)
2011-06-20 13:24:11,930 [I/O dispatcher 2] INFO  marytts.server Request
couldn't be handled successfully.
2011-06-20 13:24:12,040 [I/O dispatcher 2] INFO  marytts.server Connection
closed: [closed]


and my fr.config file:



##########################################################################
# Copyright 2000-2011 DFKI GmbH.
# All Rights Reserved.  Use is subject to license terms.
#
# This file is part of MARY TTS.
#
# MARY TTS is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, version 3 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
##########################################################################
# MARY TTS configuration file tr.config
##########################################################################

name = fr
fr.version = 4.3.0

provides = a-language

requires = \
    marybase


###########################################################################
############################## The Modules  ###############################
###########################################################################
modules.classes.list = \
	marytts.language.fr.PhonemiserFR \
	marytts.language.fr.getPOSorPhonemFR \
	marytts.language.fr.preprocessFR \
	marytts.language.fr.ProsodyFR \

	marytts.language.fr.preprocess.abrev2alpha \
	marytts.language.fr.preprocess.date2alpha \
	marytts.language.fr.preprocess.devis2alpha \
	marytts.language.fr.preprocess.dur2alpha \
	marytts.language.fr.preprocess.heur2alpha \
	marytts.language.fr.preprocess.mesu2alpha \
	marytts.language.fr.preprocess.sms2alpha \




As you can see, all my classes are included in the fr.config file. I send
the request with the proper input, output and locales. So there shouldn't
be any errors. My RAWMARYWML input is:


<?xml version="1.0" encoding="UTF-8"?>
<maryxml xmlns="http://mary.dfki.de/2002/MaryXML"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="0.5"
xml:lang="fr">
<p>
salut dB
</p>
</maryxml>


So everything should be ok, even if my NLP component doesn't work. At
least I shouldnt get this kind of exception. I precise that my class
PhonemiserFR extends INternalModule and my constructor is

	public PhonemiserFR()
	{
	    super("FrenchPhonemiser",
	            MaryDataType.RAWMARYXML,
                MaryDataType.PHONEMES,
                Locale.FRENCH);
	}




Florent






More information about the Mary-dev mailing list