I am trying to detect letters and numbers in a telephonic recording, and I'm finding that the configuration is a little complex for me.
I have installed Ant, and the 1.0-beta sources, and I can compile the demos. My idea was to use the WavFile demo as a base point, and modify it's configuration file to include a larger dictionary, then to create a grammar including the letters as well as digits.
My first step was to replace TIDIGITS_8gau_13dCep_16k_40mel_130Hz_6800Hz in the configuration file with WSJ_8gau_13dCep_8kHz_31mel_200Hz_3500Hz. I did notice that the name of the 'dictionary' in each of those .jar archives is different, and I changed it accordingly.
I then ran ant -buildfile demo.xml
and on running the newly compiled wavfile.jar I received the following output:
Exception in thread "main" java.lang.NullPointerException
at edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_8kHz_31mel_200Hz_3500Hz.ModelLoader.loadProperties(ModelLoader.java:372)
at edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_8kHz_31mel_200Hz_3500Hz.ModelLoader.getIsBinaryDefault(ModelLoader.java:386)
at edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_8kHz_31mel_200Hz_3500Hz.ModelLoader.newProperties(ModelLoader.java:346)
at edu.cmu.sphinx.util.props.ConfigurationManager.lookup(ConfigurationManager.java:214)
at edu.cmu.sphinx.util.props.ValidatingPropertySheet.getComponent(ValidatingPropertySheet.java:403)
at edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_8kHz_31mel_200Hz_3500Hz.Model.newProperties(Model.java:159)
at edu.cmu.sphinx.util.props.ConfigurationManager.lookup(ConfigurationManager.java:214)
at edu.cmu.sphinx.util.props.ValidatingPropertySheet.getComponent(ValidatingPropertySheet.java:403)
at edu.cmu.sphinx.linguist.flat.FlatLinguist.setupAcousticModel(FlatLinguist.java:299)
at edu.cmu.sphinx.linguist.flat.FlatLinguist.newProperties(FlatLinguist.java:246)
at edu.cmu.sphinx.util.props.ConfigurationManager.lookup(ConfigurationManager.java:214)
at edu.cmu.sphinx.util.props.ValidatingPropertySheet.getComponent(ValidatingPropertySheet.java:403)
at edu.cmu.sphinx.decoder.search.SimpleBreadthFirstSearchManager.newProperties(SimpleBreadthFirstSearchManager.java:180)
at edu.cmu.sphinx.util.props.ConfigurationManager.lookup(ConfigurationManager.java:214)
at edu.cmu.sphinx.util.props.ValidatingPropertySheet.getComponent(ValidatingPropertySheet.java:403)
at edu.cmu.sphinx.decoder.Decoder.newProperties(Decoder.java:71)
at edu.cmu.sphinx.util.props.ConfigurationManager.lookup(ConfigurationManager.java:214)
at edu.cmu.sphinx.util.props.ValidatingPropertySheet.getComponent(ValidatingPropertySheet.java:403)
at edu.cmu.sphinx.recognizer.Recognizer.newProperties(Recognizer.java:93)
at edu.cmu.sphinx.util.props.ConfigurationManager.lookup(ConfigurationManager.java:214)
at demo.sphinx.wavfile.WavFile.main(WavFile.java:62)
I've included my current config.xml below. I feel I've made a fairly dumb mistake, but I'm afraid this is all a little over my head :( I'd greatly appreciate any assistance, even a smack and a shove towards the bit of the docs which plainly states what it is I am missing or doing wrong.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2006-08-15
Right. Scratch that, and sorry for the lengthy, clueless post. This one's not a lot better but I've got some questions, at least.
1) I've set it to use wsj 8khz data file. But since I only want to detect a-z and 0-9 (I will be able to scan the database of expected values to increase accuracy), I wonder - how can I decrease the size of the memory requirements? I'm running it with java -Xmx256m, and it's running out of memory.
2) My grammar file looks like this:
JSGF V1.0;
grammar transreport;
public <alphanumeric> = (oh | zero | one | two | three | four | five | six | seven | eight | nine | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z) * ;
Does that seem like it is correct?
3) Is there not an available set of data files for this limited capability? This javascript compile/build setup is a lot of complexity for me, and I don't think I'm doing very well.
I won't post my config again unless it's required - it's a bit long and seems impolite.
Thanks in advance for any pointers you can give me..
Campbell
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello,
I am trying to detect letters and numbers in a telephonic recording, and I'm finding that the configuration is a little complex for me.
I have installed Ant, and the 1.0-beta sources, and I can compile the demos. My idea was to use the WavFile demo as a base point, and modify it's configuration file to include a larger dictionary, then to create a grammar including the letters as well as digits.
My first step was to replace TIDIGITS_8gau_13dCep_16k_40mel_130Hz_6800Hz in the configuration file with WSJ_8gau_13dCep_8kHz_31mel_200Hz_3500Hz. I did notice that the name of the 'dictionary' in each of those .jar archives is different, and I changed it accordingly.
I then ran ant -buildfile demo.xml
and on running the newly compiled wavfile.jar I received the following output:
bash-3.00$ java -jar WavFile.jar 10001-90210-01803.wav
Loading Recognizer...
Exception in thread "main" java.lang.NullPointerException
at edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_8kHz_31mel_200Hz_3500Hz.ModelLoader.loadProperties(ModelLoader.java:372)
at edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_8kHz_31mel_200Hz_3500Hz.ModelLoader.getIsBinaryDefault(ModelLoader.java:386)
at edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_8kHz_31mel_200Hz_3500Hz.ModelLoader.newProperties(ModelLoader.java:346)
at edu.cmu.sphinx.util.props.ConfigurationManager.lookup(ConfigurationManager.java:214)
at edu.cmu.sphinx.util.props.ValidatingPropertySheet.getComponent(ValidatingPropertySheet.java:403)
at edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_8kHz_31mel_200Hz_3500Hz.Model.newProperties(Model.java:159)
at edu.cmu.sphinx.util.props.ConfigurationManager.lookup(ConfigurationManager.java:214)
at edu.cmu.sphinx.util.props.ValidatingPropertySheet.getComponent(ValidatingPropertySheet.java:403)
at edu.cmu.sphinx.linguist.flat.FlatLinguist.setupAcousticModel(FlatLinguist.java:299)
at edu.cmu.sphinx.linguist.flat.FlatLinguist.newProperties(FlatLinguist.java:246)
at edu.cmu.sphinx.util.props.ConfigurationManager.lookup(ConfigurationManager.java:214)
at edu.cmu.sphinx.util.props.ValidatingPropertySheet.getComponent(ValidatingPropertySheet.java:403)
at edu.cmu.sphinx.decoder.search.SimpleBreadthFirstSearchManager.newProperties(SimpleBreadthFirstSearchManager.java:180)
at edu.cmu.sphinx.util.props.ConfigurationManager.lookup(ConfigurationManager.java:214)
at edu.cmu.sphinx.util.props.ValidatingPropertySheet.getComponent(ValidatingPropertySheet.java:403)
at edu.cmu.sphinx.decoder.Decoder.newProperties(Decoder.java:71)
at edu.cmu.sphinx.util.props.ConfigurationManager.lookup(ConfigurationManager.java:214)
at edu.cmu.sphinx.util.props.ValidatingPropertySheet.getComponent(ValidatingPropertySheet.java:403)
at edu.cmu.sphinx.recognizer.Recognizer.newProperties(Recognizer.java:93)
at edu.cmu.sphinx.util.props.ConfigurationManager.lookup(ConfigurationManager.java:214)
at demo.sphinx.wavfile.WavFile.main(WavFile.java:62)
I've included my current config.xml below. I feel I've made a fairly dumb mistake, but I'm afraid this is all a little over my head :( I'd greatly appreciate any assistance, even a smack and a shove towards the bit of the docs which plainly states what it is I am missing or doing wrong.
Thank you!
Campbell
config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
Sphinx-4 Configuration file
-->
<!-- ******** -->
<!-- an4 configuration file -->
<!-- ******** -->
<config>
</config>
Right. Scratch that, and sorry for the lengthy, clueless post. This one's not a lot better but I've got some questions, at least.
1) I've set it to use wsj 8khz data file. But since I only want to detect a-z and 0-9 (I will be able to scan the database of expected values to increase accuracy), I wonder - how can I decrease the size of the memory requirements? I'm running it with java -Xmx256m, and it's running out of memory.
2) My grammar file looks like this:
JSGF V1.0;
grammar transreport;
public <alphanumeric> = (oh | zero | one | two | three | four | five | six | seven | eight | nine | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z) * ;
Does that seem like it is correct?
3) Is there not an available set of data files for this limited capability? This javascript compile/build setup is a lot of complexity for me, and I don't think I'm doing very well.
I won't post my config again unless it's required - it's a bit long and seems impolite.
Thanks in advance for any pointers you can give me..
Campbell