Page MenuHomePhabricator

Blubberize mary-tts
Closed, ResolvedPublic1 Estimated Story Points

Description

Create a blubber file for Wikispeech_mary-tts

There might be a problem with running javac inside the Docker, so we should deploy with the compiled java binaries. (What JVM do we have on the docker image and what is required by Mary-TTS?)

Related Objects

Event Timeline

Create a blubber file for Wikispeech_mary-tts

There might be a problem with running javac inside the Docker, so we should deploy with the compiled java binaries. (What JVM do we have on the docker image and what is required by Mary-TTS?)

kalle renamed this task from Create a blubber file for Wikispeech_mary-tts to Bubblerize mary-tts.Mar 11 2020, 12:48 PM
kalle updated the task description. (Show Details)
kalle renamed this task from Bubblerize mary-tts to Blubberize mary-tts.Mar 16 2020, 3:19 PM
This comment was removed by kalle.

The STTS fork will not start without a running copy of Mishkal on port 8080. They are running unit tests on startup and will not proceed if they fail.

It means that we have to wait for and make sure Mishkal is running before we proceed with starting up Mary TTS.

I'd really prefer to not be coupled this way to running services. That Mary just warns to the log that it's unable to communicate with Mishkal and keeps running.

MARY server 6.0-SNAPSHOT starting as an HTTP server...Arabic Postlex LOADING
lexiconProperty: jar:/marytts/language/da/lexicon/da_nst_ok_lexicon.fst
Loading da.secondary_lexicon: jar:/marytts/language/da/lexicon/da_nst_skipped_lexicon.dict
lexiconProperty: jar:/marytts/language/no/lexicon/no_nst_ok_lexicon.fst
lexiconProperty: jar:/marytts/language/sv/lexicon/sv_nst_ok_lexicon.fst
Looking for number: اليوم
Looking for number: الإثنين
Looking for number: 25
FOUND NUMBER: 25
Expanding cardinal 25.0 using rule %spellout-numbering -> خمسة و عشرون
makeNewTokens creating token خمسة
makeNewTokens creating token و
makeNewTokens creating token عشرون
makeNewTokens adding token to mtu: خمسة
makeNewTokens adding token to mtu: و
makeNewTokens adding token to mtu: عشرون
makeNewTokens returning mtu: [mtu: null]
MTU: [[mtu: null]]
set treewalker position:عشرون 
Looking for number: يناير
Looking for number: 2016
FOUND NUMBER: 2016
Expanding cardinal 2016.0 using rule %spellout-numbering -> ألفين و ستة عشر
makeNewTokens creating token ألفين
makeNewTokens creating token و
makeNewTokens creating token ستة
makeNewTokens creating token عشر
makeNewTokens adding token to mtu: ألفين
makeNewTokens adding token to mtu: و
makeNewTokens adding token to mtu: ستة
makeNewTokens adding token to mtu: عشر
makeNewTokens returning mtu: [mtu: null]
MTU: [[mtu: null]]
set treewalker position:عشر 
Looking for number: .
Vocalise url: http://localhost:8080/ajaxGet?action=Tashkeel2&text=+%D8%A7%D9%84%D9%8A%D9%88%D9%85+%D8%A7%D9%84%D8%A5%D8%AB%D9%86%D9%8A%D9%86+%D8%AE%D9%85%D8%B3%D8%A9+%D9%88+%D8%B9%D8%B4%D8%B1%D9%88%D9%86+%D9%8A%D9%86%D8%A7%D9%8A%D8%B1+%D8%A3%D9%84%D9%81%D9%8A%D9%86+%D9%88+%D8%B3%D8%AA%D8%A9+%D8%B9%D8%B4%D8%B1+.
Exception in thread "main" java.lang.Error: Module Preprocess: Power-on self test failed.
        at marytts.modules.InternalModule.powerOnSelfTest(InternalModule.java:147)
        at marytts.server.Mary.startModules(Mary.java:157)
        at marytts.server.Mary.startup(Mary.java:294)
        at marytts.server.Mary.startup(Mary.java:204)
        at marytts.server.Mary.main(Mary.java:510)
Caused by: java.io.FileNotFoundException: http://localhost:8080/ajaxGet?action=Tashkeel2&text=+%D8%A7%D9%84%D9%8A%D9%88%D9%85+%D8%A7%D9%84%D8%A5%D8%AB%D9%86%D9%8A%D9%86+%D8%AE%D9%85%D8%B3%D8%A9+%D9%88+%D8%B9%D8%B4%D8%B1%D9%88%D9%86+%D9%8A%D9%86%D8%A7%D9%8A%D8%B1+%D8%A3%D9%84%D9%81%D9%8A%D9%86+%D9%88+%D8%B3%D8%AA%D8%A9+%D8%B9%D8%B4%D8%B1+.
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1896)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
        at java.net.URL.openStream(URL.java:1068)
        at marytts.language.ar.Preprocess.vocaliseTextMishkal(Preprocess.java:141)
        at marytts.language.ar.Preprocess.vocaliseText(Preprocess.java:104)
        at marytts.language.ar.Preprocess.vocaliseDoc(Preprocess.java:82)
        at marytts.language.ar.Preprocess.process(Preprocess.java:64)
        at marytts.modules.InternalModule.powerOnSelfTest(InternalModule.java:142)
        ... 4 more
Exception in thread "Thread-1" java.lang.IllegalStateException: MARY system is not running
        at marytts.server.Mary.shutdown(Mary.java:368)
        at marytts.server.Mary$3.run(Mary.java:287)

It took me quite a bit of time to figure out Blubber, but now I've got it.

https://github.com/karlwettin/blubberize-mary-tts-stts

Notice that Mary TTS depends on Mishkal on localhost, it is thus included in the same Docker image.

Gradle might need internet connection to download some stuff. Kalle will document this further in this task very soon.

Earlier we mentioned in this thread and in other documents that there might be problems with Gradle downloading files from the internet. I believe this has been solved by forcing the preparation of the Blubber (i.e. compiling java etc) to use the same major and minor release version of Java locally when preparing as when running Gradle in the container.

kalle set the point value for this task to 2.Apr 2 2020, 8:50 AM

Due to complexity with Java etc, awaiting WMF response.

Change 594749 had a related patch set uploaded (by Karl Wettin (WMSE); owner: Karl Wettin (WMSE)):
[mediawiki/services/wikispeech/mary-tts@master] Blubberize Mary TTS

https://gerrit.wikimedia.org/r/594749

Lokal_Profil changed the point value for this task from 2 to 1.May 14 2020, 8:46 AM

We need to be able to disable self tests of Mary on startup. There should be no dependency of a running Mishkal in order to startup. Also, if someone is running Speechoid on a single language such as Norwegian, there should be no dependency to an Arabic language service.

Change 594749 merged by Karl Wettin (WMSE):
[mediawiki/services/wikispeech/mary-tts@master] Blubberize Mary TTS

https://gerrit.wikimedia.org/r/594749