dialogos-project / dialogos

The DialogOS dialog system.
https://www.dialogos.app
GNU General Public License v3.0
21 stars 8 forks source link

RecognizerError: can't locate resource #103

Closed alexanderkoller closed 6 years ago

alexanderkoller commented 6 years ago

When I "gradlew run" DialogOS from source and try to execute the attached dialog, I get a popup with the attached error message.

When I run DialogOS 2.0.1 from the distribution, the recognizer seems to work correctly.

I don't know if this is relevant, but the dialog was written by a student under Windows, and I am on MacOS.

@timobaumann , do you have any idea what could be going on?

screen shot 2018-11-14 at 16 31 31

miniTaschenrechner2.dos.zip

alexanderkoller commented 6 years ago

Stack trace:

Error at node
   Spracherkenner
in miniTaschenrechner2.dos
Property exception component:'acousticModelLoader' property:'location' - Can't locate resource:/edu/cmu/sphinx/models/de-de/
edu.cmu.sphinx.util.props.InternalConfigurationException: Can't locate resource:/edu/cmu/sphinx/models/de-de/
        at edu.cmu.sphinx.util.props.ConfigurationManagerUtils.getResource(ConfigurationManagerUtils.java:468)
        at edu.cmu.sphinx.linguist.acoustic.tiedstate.Sphinx3Loader.newProperties(Sphinx3Loader.java:219)
        at edu.cmu.sphinx.util.props.PropertySheet.getOwner(PropertySheet.java:518)
        at edu.cmu.sphinx.util.props.PropertySheet.getComponent(PropertySheet.java:296)
        at edu.cmu.sphinx.linguist.acoustic.tiedstate.TiedStateAcousticModel.newProperties(TiedStateAcousticModel.java:101)
        at edu.cmu.sphinx.util.props.PropertySheet.getOwner(PropertySheet.java:518)
        at edu.cmu.sphinx.util.props.PropertySheet.getComponent(PropertySheet.java:296)
        at edu.cmu.sphinx.linguist.dflat.DynamicFlatLinguist.newProperties(DynamicFlatLinguist.java:157)
        at edu.cmu.sphinx.util.props.PropertySheet.getOwner(PropertySheet.java:518)
        at edu.cmu.sphinx.util.props.PropertySheet.getComponent(PropertySheet.java:296)
        at edu.cmu.sphinx.decoder.search.SimpleBreadthFirstSearchManager.newProperties(SimpleBreadthFirstSearchManager.java:177)
        at edu.cmu.sphinx.util.props.PropertySheet.getOwner(PropertySheet.java:518)
        at edu.cmu.sphinx.util.props.PropertySheet.getComponent(PropertySheet.java:296)
        at edu.cmu.sphinx.decoder.AbstractDecoder.newProperties(AbstractDecoder.java:81)
        at edu.cmu.sphinx.decoder.Decoder.newProperties(Decoder.java:36)
        at edu.cmu.sphinx.util.props.PropertySheet.getOwner(PropertySheet.java:518)
        at edu.cmu.sphinx.util.props.PropertySheet.getComponent(PropertySheet.java:296)
        at edu.cmu.sphinx.recognizer.Recognizer.newProperties(Recognizer.java:86)
        at edu.cmu.sphinx.util.props.PropertySheet.getOwner(PropertySheet.java:518)
        at edu.cmu.sphinx.util.props.ConfigurationManager.lookup(ConfigurationManager.java:163)
        at edu.cmu.sphinx.api.Context.<init>(Context.java:73)
        at edu.cmu.lti.dialogos.sphinx.client.SphinxContext.getRecognizer(SphinxContext.java:76)
        at edu.cmu.lti.dialogos.sphinx.client.Sphinx.startImpl(Sphinx.java:40)
        at com.clt.speech.recognition.AbstractRecognizer.startLiveRecognition(AbstractRecognizer.java:140)
        at com.clt.speech.recognition.AbstractRecognizer.startLiveRecognition(AbstractRecognizer.java:111)
        at edu.cmu.lti.dialogos.sphinx.plugin.SphinxRecognitionExecutor.lambda$start$0(SphinxRecognitionExecutor.java:43)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
timobaumann commented 6 years ago

there's no de-model in dialogos sources. gradle run from dialogos-distribution for DE support.

alexanderkoller commented 6 years ago

Ah ok, thanks. But there is an EN model in dialogos?

timobaumann commented 6 years ago

yes, for testing and as it's available as a gradle dependency (in contrast, de-de is contained in dialogos-distribution itself).

alexanderkoller commented 6 years ago

At some point, we have to figure out a better setup for debugging DialogOS. I am trying to track down a student-reported problem in the regex pattern matching of recognition results. It would be nice not to have to manually change the dialogos dependency in dialogos-distribution and run gradle twice in each debugging step.