Page MenuHomePhabricator

Arabic cannot always be played from the workflow demo
Closed, ResolvedPublic

Description

Steps to reproduce:

  1. start the wikispeech server (include dependencies marytts with mishkal, and lexserver)
  2. go to the workflow demo page
  3. select arabic and the corresponding lexicon
  4. start
  5. from the Lexicon view, select a word and click play
  6. look at the stacktrace/error output from your server

Stacktrace

Internal server error

Processing failed.

java.lang.Exception: Module JTokeniser: Problem processing the data.
	at marytts.server.Request.processOneChunk(Request.java:568)
	at marytts.server.Request.processOrLookupOneChunk(Request.java:403)
	at marytts.server.Request.process(Request.java:337)
	at marytts.server.http.SynthesisRequestHandler.process(SynthesisRequestHandler.java:261)
	at marytts.server.http.SynthesisRequestHandler.handleClientRequest(SynthesisRequestHandler.java:91)
	at marytts.server.http.BaseHttpRequestHandler.handle(BaseHttpRequestHandler.java:138)
	at org.apache.http.nio.protocol.BufferingHttpServiceHandler$RequestHandlerAdaptor.handle(BufferingHttpServiceHandler.java:189)
	at org.apache.http.nio.protocol.SimpleNHttpRequestHandler.handle(SimpleNHttpRequestHandler.java:51)
	at org.apache.http.nio.protocol.AsyncNHttpServiceHandler.processRequest(AsyncNHttpServiceHandler.java:453)
	at org.apache.http.nio.protocol.AsyncNHttpServiceHandler.requestReceived(AsyncNHttpServiceHandler.java:225)
	at org.apache.http.nio.protocol.BufferingHttpServiceHandler.requestReceived(BufferingHttpServiceHandler.java:127)
	at org.apache.http.impl.nio.DefaultNHttpServerConnection.consumeInput(DefaultNHttpServerConnection.java:161)
	at org.apache.http.impl.nio.DefaultServerIOEventDispatch.inputReady(DefaultServerIOEventDispatch.java:147)
	at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:161)
	at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:335)
	at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)
	at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:275)
	at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
	at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:542)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
	at marytts.language.ar.JTokeniser.filterPunctuation(JTokeniser.java:71)
	at marytts.language.ar.JTokeniser.process(JTokeniser.java:54)
	at marytts.server.Request.processOneChunk(Request.java:566)
	... 19 more

Other server output

marytts          | FilterPunctuation
marytts          | null
wikispeech       | [2017-11-13 12:55:42,962] ERROR in app: Exception on /wikispeech/ [POST]
wikispeech       | Traceback (most recent call last):
wikispeech       |   File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1982, in wsgi_app
wikispeech       |     response = self.full_dispatch_request()
wikispeech       |   File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1614, in full_dispatch_request
wikispeech       |     rv = self.handle_user_exception(e)
wikispeech       |   File "/usr/local/lib/python3.5/dist-packages/flask_cors/extension.py", line 161, in wrapped_function
wikispeech       |     return cors_after_request(app.make_response(f(*args, **kwargs)))
wikispeech       |   File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1517, in handle_user_exception
wikispeech       |     reraise(exc_type, exc_value, tb)
wikispeech       |   File "/usr/local/lib/python3.5/dist-packages/flask/_compat.py", line 33, in reraise
wikispeech       |     raise value
wikispeech       |   File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1612, in full_dispatch_request
wikispeech       |     rv = self.dispatch_request()
wikispeech       |   File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1598, in dispatch_request
wikispeech       |     return self.view_functions[rule.endpoint](**req.view_args)
wikispeech       |   File "./wikispeech_server/wikispeech.py", line 158, in wikispeech
wikispeech       |     markup = textproc(lang, textprocessor_name, input, input_type=input_type)
wikispeech       |   File "./wikispeech_server/wikispeech.py", line 371, in textproc
wikispeech       |     utt = process(text, lang, component, input_type=input_type)
wikispeech       |   File "./wikispeech_server/adapters/marytts_adapter.py", line 62, in marytts_preproc
wikispeech       |     raise ValueError("marytts call failed with error", r.status_code, r.text)
wikispeech       | ValueError: ('marytts call failed with error', 500, '<html><body><h1>Internal server error</h1><p>Processing failed.<pre>java.lang.Exception: Module JTokeniser: Problem processing the data.\n\tat marytts.server.Request.processOneChunk(Request.java:568)\n\tat marytts.server.Request.processOrLookupOneChunk(Request.java:403)\n\tat marytts.server.Request.process(Request.java:337)\n\tat marytts.server.http.SynthesisRequestHandler.process(SynthesisRequestHandler.java:261)\n\tat marytts.server.http.SynthesisRequestHandler.handleClientRequest(SynthesisRequestHandler.java:91)\n\tat marytts.server.http.BaseHttpRequestHandler.handle(BaseHttpRequestHandler.java:138)\n\tat org.apache.http.nio.protocol.BufferingHttpServiceHandler$RequestHandlerAdaptor.handle(BufferingHttpServiceHandler.java:189)\n\tat org.apache.http.nio.protocol.SimpleNHttpRequestHandler.handle(SimpleNHttpRequestHandler.java:51)\n\tat org.apache.http.nio.protocol.AsyncNHttpServiceHandler.processRequest(AsyncNHttpServiceHandler.java:453)\n\tat org.apache.http.nio.protocol.AsyncNHttpServiceHandler.requestReceived(AsyncNHttpServiceHandler.java:225)\n\tat org.apache.http.nio.protocol.BufferingHttpServiceHandler.requestReceived(BufferingHttpServiceHandler.java:127)\n\tat org.apache.http.impl.nio.DefaultNHttpServerConnection.consumeInput(DefaultNHttpServerConnection.java:161)\n\tat org.apache.http.impl.nio.DefaultServerIOEventDispatch.inputReady(DefaultServerIOEventDispatch.java:147)\n\tat org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:161)\n\tat org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:335)\n\tat org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)\n\tat org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:275)\n\tat org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)\n\tat org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:542)\n\tat java.lang.Thread.run(Thread.java:748)\nCaused by: java.lang.NullPointerException\n\tat marytts.language.ar.JTokeniser.filterPunctuation(JTokeniser.java:71)\n\tat marytts.language.ar.JTokeniser.process(JTokeniser.java:54)\n\tat marytts.server.Request.processOneChunk(Request.java:566)\n\t... 19 more\n</pre></body></html>')
wikispeech       | 172.91.0.1 - - [13/Nov/2017 12:55:42] "POST /wikispeech/ HTTP/1.1" 500 -

Event Timeline

Working now for most words, only words with ">" in the transcription still cannot be played.

HannaLindgren renamed this task from Arabic cannot be played from the workflow demo to Arabic cannot always be played from the workflow demo.Nov 16 2017, 4:29 PM

Words with > (glottal stop) in transcription can now be played.