VoxForge
Hi everyone.
I'm searching for help to set the xml config file to work with an 8kHz spanish acoustic model. I tried to use the helloworld example from Sphinx 4 but when I run it, an exception of the type "ArrayIndexOutOfBounds" ocurrs.
First of all, I downloaded the model with all the rest of the files needed from http://cmusphinx.sourceforge.net/2010/08/voxforge-spanish-model-released/#comments Then, I changed the helloworld.Manifest to set the new resource path and changed all the routes for the mdef, dictionary, fillerdict and definition files like means, variances, etc in the xml.config.
I also read that frontend needed modification since it's working with an MLTT - 8Khz model. I added what it says here http://cmusphinx.sourceforge.net/sphinx4/doc/UsingSphinxTrainModels.html and also added the "lda" component like at the end of this http://cmusphinx.sourceforge.net/wiki/ldamllt
The problem is in MixtureComponent.java in line 196 or nearby. I put a try catch block and it seems that the problem is the "i" counter surpasses the "meanTransformed" length, what means that "feature.length" and "meanTransformed.lenght" don't match. The "meanTransformed.lenght" is 29 and the for cycle goes beyond that.
I observed that changing the value of windowSize in
<component name="featureExtraction" type="edu.cmu.sphinx.frontend.feature.ConcatFeatureExtractor">
<property name="windowSize" value="1"/>
</component>
seems to change the "feature.length". The less the value is, the less the feature.length goes. However, only with a value of 0 works without exception, but it really doesn't recognize anything. I guess a 0 value doesn't do anything.
I've been through this for several months, not only with this model, but with others and the same error happens. I just can't get a clue about what parameter should be changed to make it work properly. I even tried to change the cepstrum length but didn't get good results.
My guess is that the "meanTransformed.lenght" comes form the means file included in the model, but I don't know where the "feature.length" comes from.
Any ideas or any kind of help would be very appreciated.
Thanks in advance.
From the Sphinx-4 FAQ: Can I use Sphinx-4 to recognize telephone audio?
Can I use Sphinx-4 to recognize telephone audio?
The issue with telephone audio is that it has limited range of frequences. Unlike usual microphone recording that includes frequences from 1 Hz to 8000 kHz, telephone audio is passed through frequency filters. As a result telephone audio contains frequences from 200 Hz to 3500 Hz. That makes it impossible to recognize telephone audio with usual microphone acoustic model. You need to use specialized models to recognize it.
There are few common telephone models distributed which you can use. Most notably, Communicator models, WSJ_8k model from sphinx4 and Voxforge English model.
To configure sphinx4 with 8kHz model change two things mel filter parameters and model itself:
<component name="melFilterBank" type="edu.cmu.sphinx.frontend.frequencywarp.MelFrequencyFilterBank">
<property name="numberFilters" value="31"/>
<property name="minimumFrequency" value="200"/>
<property name="maximumFrequency" value="3500"/>
</component>
<component name="sphinx3Loader"
type="edu.cmu.sphinx.linguist.acoustic.tiedstate.Sphinx3Loader">
<property name="logMath" value="logMath"/>
<property name="unitManager" value="unitManager"/>
<property name="location" value="the path to the model folder"/>
</component>
<component name="wsjLoader" type="edu.cmu.sphinx.linguist.acoustic.tiedstate.Sphinx3Loader">
<property name="logMath" value="logMath"/>
<property name="unitManager" value="unitManager"/>
<property name="location" value="resource:/WSJ_8gau_13dCep_8kHz_31mel_200Hz_3500Hz"/>
<property name="modelDefinition" value="etc/WSJ_8gau_13dCep_8kHz_31mel_200Hz_3500Hz.4000.mdef"/>
<property name="dataLocation" value="cd_continuous_8gau/"/>
</component>
I have similar problem, I wonder when you have modified the configuration file as mentioned, did you make it throngh. I do modify the xml configuration file, but I got the same error. Wish for help!!