Posted June 7, 20169 yr After taking a small break, I have resumed work on building my mod with sphinx4 speech recognition. I have figured out how to include it in the jar and almost everything works. When I try to start the speech recognition in Minecraft, it says it can't find the dictionary model that I specified. However, when I extract the jar and look where it specifies, the file is there. Is there something wrong here? Error: Exception in thread "Thread-12" [13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: java.lang.RuntimeException: Allocation of search manager resources failed [13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstSearchManager.allocate(WordPruningBreadthFirstSearchManager.java:247) [13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.decoder.AbstractDecoder.allocate(AbstractDecoder.java:103) [13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.recognizer.Recognizer.allocate(Recognizer.java:164) [13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.api.LiveSpeechRecognizer.startRecognition(LiveSpeechRecognizer.java:47) [13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at com.apmods.hpspells.speech.SpeechThread.run(SpeechThread.java:22) [13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.lang.Thread.run(Thread.java:745) [13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: Caused by: java.io.FileNotFoundException: ~snip~/minecraft/mods/hpspells-1.7.10-1.0-universal.jar!/assets/hpspells/speech/spells.txt (No such file or directory) [13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.io.FileInputStream.open0(Native Method) [13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.io.FileInputStream.open(FileInputStream.java:195) [13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.io.FileInputStream.<init>(FileInputStream.java:138) [13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.io.FileInputStream.<init>(FileInputStream.java:93) [13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90) [13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188) [13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.net.URL.openStream(URL.java:1045) [13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.linguist.dictionary.TextDictionary.allocate(TextDictionary.java:180) [13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.linguist.lextree.LexTreeLinguist.allocate(LexTreeLinguist.java:332) [13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstSearchManager.allocate(WordPruningBreadthFirstSearchManager.java:243) [13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: ... 5 more This is the path that I specify for Sphinx4: String urlDic = getClass().getClassLoader().getResource("assets/hpspells/speech/spells.txt").getPath(); Side note: It works in the dev environment, just not when built Thanks Creator of the MyFit, MagiCraft, Tesseract gun, and Papa's Wingeria mod.
June 7, 20169 yr Are you sure the file's path in the JAR is exactly the same as the path you're trying to load, including case? Paths in JARs are case-sensitive, paths on Windows (NTFS) drives aren't. Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.
June 8, 20169 yr Author Yes, everything is lower case Creator of the MyFit, MagiCraft, Tesseract gun, and Papa's Wingeria mod.
June 8, 20169 yr It seems that assets folder is ignored on the real mc enviroment, compared to dev environment where resources are just read. You can simply omit the 'assets' part, so it becomes "/hpspells/speech/spells.txt". This worked well for me. I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP) II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.
June 8, 20169 yr Author That doesn't work either, not even in the dev environment. Here is the error after trying to run it in eclipse. 09:39:00.417 INFO dictionary Loading dictionary from: file:/hpspells/speech/spells.txt [09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: java.lang.RuntimeException: Allocation of search manager resources failed Exception in thread "Thread-13" [09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstSearchManager.allocate(WordPruningBreadthFirstSearchManager.java:247) [09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.decoder.AbstractDecoder.allocate(AbstractDecoder.java:103) [09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.recognizer.Recognizer.allocate(Recognizer.java:164) [09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.api.LiveSpeechRecognizer.startRecognition(LiveSpeechRecognizer.java:47) [09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at com.apmods.hpspells.speech.SpeechThread.run(SpeechThread.java:22) [09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.lang.Thread.run(Thread.java:745) [09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: Caused by: java.io.FileNotFoundException: /hpspells/speech/spells.txt (No such file or directory) [09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.io.FileInputStream.open(Native Method) [09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.io.FileInputStream.<init>(FileInputStream.java:146) [09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.io.FileInputStream.<init>(FileInputStream.java:101) [09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90) [09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188) [09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.net.URL.openStream(URL.java:1037) [09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.linguist.dictionary.TextDictionary.allocate(TextDictionary.java:180) [09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.linguist.lextree.LexTreeLinguist.allocate(LexTreeLinguist.java:332) [09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstSearchManager.allocate(WordPruningBreadthFirstSearchManager.java:243) [09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: ... 5 more Creator of the MyFit, MagiCraft, Tesseract gun, and Papa's Wingeria mod.
June 8, 20169 yr You can try prefixing the path with a slash, i.e. "/assets/hpspells/speech/spells.txt" Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.
June 8, 20169 yr Found out that I omitted the assets on the resource folder. "/assets/hpspells/speech/spells.txt" will work. I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP) II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.
June 9, 20169 yr Author That doesn't work either, not even in eclipse. I get an NullPointerException on this line: String urlDic = getClass().getClassLoader().getResource("/assets/hpspells/speech/spells.txt").getPath(); Creator of the MyFit, MagiCraft, Tesseract gun, and Papa's Wingeria mod.
June 9, 20169 yr If what you need is the location to provide the api, why just gets around with ClassLoader#getResource? It seems that getPath only gives input string for ClassLoader#getResource again. Try this: String urlDic = "/assets/hpspells/speech/spells.txt" Also are there no other types of the input? I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP) II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.
June 9, 20169 yr Author Same error with that, too. 13:07:27.298 INFO dictionary Loading dictionary from: file:/assets/hpspells/speech/spells.txt Exception in thread "Thread-13" [13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: java.lang.RuntimeException: Allocation of search manager resources failed [13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstSearchManager.allocate(WordPruningBreadthFirstSearchManager.java:247) [13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.decoder.AbstractDecoder.allocate(AbstractDecoder.java:103) [13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.recognizer.Recognizer.allocate(Recognizer.java:164) [13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.api.LiveSpeechRecognizer.startRecognition(LiveSpeechRecognizer.java:47) [13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at com.apmods.hpspells.speech.SpeechThread.run(SpeechThread.java:22) [13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.lang.Thread.run(Thread.java:745) [13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: Caused by: java.io.FileNotFoundException: /assets/hpspells/speech/spells.txt (No such file or directory) [13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.io.FileInputStream.open(Native Method) [13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.io.FileInputStream.<init>(FileInputStream.java:146) [13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.io.FileInputStream.<init>(FileInputStream.java:101) [13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90) [13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188) [13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.net.URL.openStream(URL.java:1037) [13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.linguist.dictionary.TextDictionary.allocate(TextDictionary.java:180) [13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.linguist.lextree.LexTreeLinguist.allocate(LexTreeLinguist.java:332) [13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstSearchManager.allocate(WordPruningBreadthFirstSearchManager.java:243) [13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: ... 5 more Creator of the MyFit, MagiCraft, Tesseract gun, and Papa's Wingeria mod.
June 10, 20169 yr I found about sphinx, and found out that it needs domain to read jar in , like "resource:" http://cmusphinx.sourceforge.net/wiki/tutorialsphinx4 It was actually obvious, since there is nothing like File in jar. But you didn't specified any domain there, which resulted in it trying to read from the File... I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP) II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.
June 10, 20169 yr Author Property exception component:'simpleNGramModel' property:'location' - Can't locate resource:assets/hpspells/speech/spells.lm edu.cmu.sphinx.util.props.InternalConfigurationException: Can't locate resource:assets/hpspells/speech/spells.lm at edu.cmu.sphinx.util.props.ConfigurationManagerUtils.getResource(ConfigurationManagerUtils.java:468) at edu.cmu.sphinx.linguist.language.ngram.SimpleNGramModel.newProperties(SimpleNGramModel.java:99) 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.lextree.LexTreeLinguist.newProperties(LexTreeLinguist.java:305) 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.WordPruningBreadthFirstSearchManager.newProperties(WordPruningBreadthFirstSearchManager.java:211) at edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstLookaheadSearchManager.newProperties(WordPruningBreadthFirstLookaheadSearchManager.java:156) 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.sphinx.api.Context.<init>(Context.java:45) at edu.cmu.sphinx.api.AbstractSpeechRecognizer.<init>(AbstractSpeechRecognizer.java:44) at edu.cmu.sphinx.api.LiveSpeechRecognizer.<init>(LiveSpeechRecognizer.java:34) at com.apmods.hpspells.main.HPSpells.init(HPSpells.java:86) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) at cpw.mods.fml.common.Loader.initializeMods(Loader.java:737) at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:311) at net.minecraft.client.Minecraft.startGame(Minecraft.java:597) at net.minecraft.client.Minecraft.run(Minecraft.java:942) at net.minecraft.client.main.Main.main(Main.java:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) at GradleStart.main(Unknown Source) Creator of the MyFit, MagiCraft, Tesseract gun, and Papa's Wingeria mod.
June 10, 20169 yr Did you put '/' between the domain and the location? (So it would like 'resource:/(location)') Also did you tried removing 'assets'? I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP) II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.
June 12, 20169 yr Author Ah that works, thanks Creator of the MyFit, MagiCraft, Tesseract gun, and Papa's Wingeria mod.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.