i have a new acoustic model of isolated words.
i have changes in configuration files .
still i get errors
can u say me what is the cause of the error.
initially i worked on demos of sphinx 4 ie digits
and followed the same for the new one.
the error is
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 768, Size: 768
at java.util.ArrayList.rangeCheck(ArrayList.java:570)
at java.util.ArrayList.get(ArrayList.java:348)
at edu.cmu.sphinx.linguist.acoustic.tiedstate.Pool.get(Pool.java:55)
at edu.cmu.sphinx.linguist.acoustic.tiedstate.Sphinx3Loader.createSenonePool(Sphinx3Loader.java:403)
at edu.cmu.sphinx.linguist.acoustic.tiedstate.Sphinx3Loader.loadModelFiles(Sphinx3Loader.java:342)
at edu.cmu.sphinx.linguist.acoustic.tiedstate.Sphinx3Loader.load(Sphinx3Loader.java:280)
at edu.cmu.sphinx.linguist.acoustic.tiedstate.TiedStateAcousticModel.allocate(TiedStateAcousticModel.java:116)
at edu.cmu.sphinx.linguist.flat.FlatLinguist.allocateAcousticModel(FlatLinguist.java:314)
at edu.cmu.sphinx.linguist.flat.FlatLinguist.allocate(FlatLinguist.java:299)
at edu.cmu.sphinx.decoder.search.SimpleBreadthFirstSearchManager.allocate(SimpleBreadthFirstSearchManager.java:646)
at edu.cmu.sphinx.decoder.AbstractDecoder.allocate(AbstractDecoder.java:87)
at edu.cmu.sphinx.recognizer.Recognizer.allocate(Recognizer.java:168)
at sptestx.Main.main(Main.java:35)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Sorry, you need to provide more information. You need to share your source files, your model an your config xml file. You can upload them to a public file sharing resource and give here a link.
The most probable reason of this failure is that you didn't update the configuration file properly. Most likely you only updated the mdef file but didn't update acoustic model data files
For more information on how to plug an external acoustic model please see the documentation:
I am running successfully the demo of digits which recognizes the grammar
public <greet> = (Good morning | Hello) ( One | Two | Three | Four | Five | Six );</greet>
Now, consider first time if I speak hello one it recognizes and displays the result as hello one.
In the second time, I am speaking other words such as hello two.
My question is how to increase the time between the recognition of the words spoken in a sequence?
gap between first recognized word and speaking of next word should of 1 minute
e.g.
Say: (Good morning | Hello) ( One | Two | Three | Four | Five | Six )
Start speaking. Press Ctrl-C to quit.
You said: hello one
-------------------need to have 1 min time to recognize the next word
Start speaking. Press Ctrl-C to quit.
You said: hello two
Here I want to increase the time for 1 min between the hello one and hello two.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
hai,
i have a new acoustic model of isolated words.
i have changes in configuration files .
still i get errors
can u say me what is the cause of the error.
initially i worked on demos of sphinx 4 ie digits
and followed the same for the new one.
the error is
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 768, Size: 768
at java.util.ArrayList.rangeCheck(ArrayList.java:570)
at java.util.ArrayList.get(ArrayList.java:348)
at edu.cmu.sphinx.linguist.acoustic.tiedstate.Pool.get(Pool.java:55)
at edu.cmu.sphinx.linguist.acoustic.tiedstate.Sphinx3Loader.createSenonePool(Sphinx3Loader.java:403)
at edu.cmu.sphinx.linguist.acoustic.tiedstate.Sphinx3Loader.loadModelFiles(Sphinx3Loader.java:342)
at edu.cmu.sphinx.linguist.acoustic.tiedstate.Sphinx3Loader.load(Sphinx3Loader.java:280)
at edu.cmu.sphinx.linguist.acoustic.tiedstate.TiedStateAcousticModel.allocate(TiedStateAcousticModel.java:116)
at edu.cmu.sphinx.linguist.flat.FlatLinguist.allocateAcousticModel(FlatLinguist.java:314)
at edu.cmu.sphinx.linguist.flat.FlatLinguist.allocate(FlatLinguist.java:299)
at edu.cmu.sphinx.decoder.search.SimpleBreadthFirstSearchManager.allocate(SimpleBreadthFirstSearchManager.java:646)
at edu.cmu.sphinx.decoder.AbstractDecoder.allocate(AbstractDecoder.java:87)
at edu.cmu.sphinx.recognizer.Recognizer.allocate(Recognizer.java:168)
at sptestx.Main.main(Main.java:35)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
Sorry, you need to provide more information. You need to share your source files, your model an your config xml file. You can upload them to a public file sharing resource and give here a link.
The most probable reason of this failure is that you didn't update the configuration file properly. Most likely you only updated the mdef file but didn't update acoustic model data files
For more information on how to plug an external acoustic model please see the documentation:
http://cmusphinx.sourceforge.net/sphinx4/doc/UsingSphinxTrainModels.html
hai,
now its working wit out errors but accuracy is so poor .
i have sent single file of each word.
http://www.mediafire.com/?fo3d9upfe487a9y
can u just say me what may be the problem of this.
You do not have enough data. You need way more data for training. For more details read the tutorial
http://cmusphinx.sourceforge.net/wiki/tutorialam
hai,
thanks for ur input.
i have successfully run the demo of digits in sphinx 4.
now i want to know how to increase the time between recognition of words.
that initially we speak it recognizes .
next we speak other word.
how to increase the time in between. the time after recognizing first word and starting of the next new word.
Sorry, it's hard to understand your question. You probably want to explain more.
Hai,
I am running successfully the demo of digits which recognizes the grammar
public <greet> = (Good morning | Hello) ( One | Two | Three | Four | Five | Six );</greet>
Now, consider first time if I speak hello one it recognizes and displays the result as hello one.
In the second time, I am speaking other words such as hello two.
My question is how to increase the time between the recognition of the words spoken in a sequence?
gap between first recognized word and speaking of next word should of 1 minute
e.g.
Say: (Good morning | Hello) ( One | Two | Three | Four | Five | Six )
Start speaking. Press Ctrl-C to quit.
You said: hello one
-------------------need to have 1 min time to recognize the next word
Start speaking. Press Ctrl-C to quit.
You said: hello two
Here I want to increase the time for 1 min between the hello one and hello two.
Stop recognition after first result and wait for 1 minute before starting second recognition.
is there is any way to make the time gap of recognition automatically without stopping?
Can you automate it in a bash script or something? It could be like
for i = 1:10
decoding command
kill decoder
sleep 60
end
(for correct syntax see http://www.cyberciti.biz/faq/bash-for-loop/)
Last edit: dovark 2013-04-04