[mary-dev] [Mary-dev] PronunciationModel not working

fxavier at ircam.fr fxavier at ircam.fr
Tue Jul 12 11:31:41 CEST 2011


Hello Nickolay,

It was not logger.debug(), but logger.info() that writes in the
server.log, that it why I had nothing written when doing logger.debug.

So I'm testing twice the value of locale in the PronunciationModel, at the
beginning  of the method process, and at the line 192, so just before
there is the exception line 193.

The values are locale=fr:

2011-07-12 11:16:10,888 [I/O dispatcher 6] INFO  marytts.R 0 Next module:
PronunciationModel
2011-07-12 11:16:10,888 [I/O dispatcher 6] INFO  marytts.PronunciationModel

!!!!!!!!!!!!!!!!!!!!!!!!!!!!! locale info in
PronunciationModel=fr!!!!!!!!!!!!!!!!!!


2011-07-12 11:16:10,888 [I/O dispatcher 6] INFO  marytts.PronunciationModel

!!!!!!!!!!!!!!!!!!!!!!!!!!!!! locale info in PronunciationModel line
192=fr!!!!!!!!!!!!!!!!!!


2011-07-12 11:16:10,889 [I/O dispatcher 6] ERROR marytts.server Processing
failed.
java.lang.Exception: Module PronunciationModel: Problem processing the data.
	at marytts.server.Request.processOneChunk(Request.java:556)
	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)
Caused by: java.util.NoSuchElementException
	at java.util.StringTokenizer.nextToken(StringTokenizer.java:349)
	at marytts.util.MaryUtils.string2locale(MaryUtils.java:473)
	at
marytts.modules.phonemiser.AllophoneSet.determineAllophoneSet(AllophoneSet.java:93)
	at marytts.modules.PronunciationModel.process(PronunciationModel.java:193)
	at marytts.server.Request.processOneChunk(Request.java:554)
	... 19 more


The locale was supposed to equal "" according to the exception. But as you
can see, it is properly set. So why such an exception? How can I test the
value of locale in the AllophoneSet since I can't write logger.info()
(doesn't extend InternalModule)? Otherwise, line 93 in AllophonSet:

Locale locale =
MaryUtils.string2locale(e.getOwnerDocument().getDocumentElement().getAttribute("xml:lang"));

is pretty ok and shouldn't be equal "" since it is "fr" in
PronunciationModel.

I will try some more things and let you informed.
Thanks,



Florent


More information about the Mary-dev mailing list