Page MenuHomePhabricator

Multiple requests to TTS server should not cause delay
Closed, ResolvedPublic

Description

There will be situations when there are multiple requests sent to the TTS server in quick succession (e.g. the user skipping ahead several sentences). This needs to be handled so that it doesn't cause extra delay. Most likely this needs to be done server side.

Possible solution:
When a new request is received, the process for previous any request is cancelled (alternatively put on hold until the new utterance is done).

Related Objects

StatusSubtypeAssignedTask
ResolvedNone
ResolvedHaraldBerthelsen
ResolvedJopparn
DeclinedLokal_Profil
ResolvedLokal_Profil
DeclinedNone
ResolvedSebastian_Berlin-WMSE
DeclinedNone
ResolvedLokal_Profil
ResolvedLokal_Profil
OpenNone
ResolvedNone
ResolvedSebastian_Berlin-WMSE
ResolvedAndrew
ResolvedNone
ResolvedSebastian_Berlin-WMSE
ResolvedNone
ResolvedSebastian_Berlin-WMSE
DeclinedNone
InvalidNone
InvalidNone
ResolvedSebastian_Berlin-WMSE
ResolvedSebastian_Berlin-WMSE
ResolvedSebastian_Berlin-WMSE
ResolvedSebastian_Berlin-WMSE
ResolvedSebastian_Berlin-WMSE
ResolvedSebastian_Berlin-WMSE
ResolvedLokal_Profil
ResolvedSebastian_Berlin-WMSE
ResolvedNone
ResolvedSebastian_Berlin-WMSE

Event Timeline

It would be nice to tie this ticjet to one (or more) of the stories so that it is not "hanging loose"

Based on need in T151786. May be raised to high depending on STTS feedback.

  1. The wikispeech server (python flask) can be run in threaded mode. That is not recommended for deployment, they suggest using a separate threaded wsgi server for that. But it is ok for testing. When run like that, the calls to the wikispeech server are not queued, but runs in parallell. With this setup on the demo server, some of this behaviour goes away, depending still on length of sentences, etc.
  1. The demo server on morf.se is not a fast machine. Running the wikispeech server locally and changing the WikispeechServerUrl parameter in Wikispeech/extension.json improves this problem very much. In the future we should expect synthesis to be running on a fairly powerful computer.
  1. One or several test cases for this would be good, both for objective speed testing and for subjective tests by a user.

@HaraldBerthelsen: I would like to try running in threaded mode. How do you do that?

Oh, I should have said: the latest version in git (and the demo server) uses threaded mode.
If you want to turn it off again, remove "threaded=True" from the last line in wikispeech.py.

Instead of solving this before the T151786 demo we will use the demo platform to evaluate how severe the issue is. it should be considered a blocker for the stage 3 demo.