Getting Started with Sphinx 4

1085089614000

I checked out the Spinx 4 voice recognition system from their CVS repository and finally found the time to upgrade my ant so that I could build it.

Earlier I wrote about how some of their models appeared to have gone missing (the website does not contain working download links for them) but surprise, surprise after running ant I found that the models have magically made their appearence in the lib folder.

As with sphinx3, the sphinx 4 documentation is heavy reading, so I decided to try out some of the demos to relieve the boredom. Running the demos isn't a walk in the park either, my first attempt resulted in this

java.io.IOException: Stream closed

at java.io.BufferedInputStream.ensureOpen(BufferedInputStream.java:120)

at java.io.BufferedInputStream.read(BufferedInputStream.java:199)

at java.io.DataInputStream.readByte(DataInputStream.java:331)

at edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.ModelLoader.readChar(ModelLoader.java:891)

at edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.ModelLoader.readWord(ModelLoader.java:871)

at edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.ModelLoader.readS3BinaryHeader(ModelLoader.java:829)

at edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.ModelLoader.loadDensityFileBinary(ModelLoader.java:747)

at edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.ModelLoader.loadModelFiles(ModelLoader.java:542)

at edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.ModelLoader.load(ModelLoader.java:476)

at edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.Model.allocate(Model.java:175)

at edu.cmu.sphinx.linguist.flat.FlatLinguist.allocateAcousticModel(FlatLinguist.java:242)

at edu.cmu.sphinx.linguist.flat.FlatLinguist.allocate(FlatLinguist.java:224)

at edu.cmu.sphinx.decoder.search.SimpleBreadthFirstSearchManager.allocate(SimpleBreadthFirstSearchManager.java:576)

at edu.cmu.sphinx.decoder.Decoder.allocate(Decoder.java:109)

at edu.cmu.sphinx.recognizer.Recognizer.allocate(Recognizer.java:182)

at demo.sphinx.helloworld.HelloWorld.main(HelloWorld.java:54)

It is very important to realise that this is still pre alpha software. The developers of Sphinx 4 have done a tremoundous job. It's upto us to figure out how to make use of it. Let's see if I can figure this one out.

As expected zero results in google, I then tried the link to the forums from the sphinx4 home page, unfortunatley it's only for members of the development team only (so why provide the link in the first place).

I am sure I am not the only one who is running into all kinds of stumbling blocks with sphinx 4. There's no point in writing a book if no one will read it, and there's no point in developing a fancy piece of software if no one will use it. Surely a more readable documentation and a more navigable site would go a long way in getting more people to try out sphinx.

comments powered by Disqus