Click here to Skip to main content
15,887,083 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I am facing problems in running a program using Sphinx library, the error is:

class not found !java.lang.ClassNotFoundException: edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.Model
Exception in thread "main" Property exception component:'flatLinguist' property:'acousticModel' - component 'wsj' is missing
edu.cmu.sphinx.util.props.InternalConfigurationException: component 'wsj' is missing
	at edu.cmu.sphinx.util.props.PropertySheet.getComponent(PropertySheet.java:289)
	at edu.cmu.sphinx.linguist.flat.FlatLinguist.setupAcousticModel(FlatLinguist.java:278)
	at edu.cmu.sphinx.linguist.flat.FlatLinguist.newProperties(FlatLinguist.java:244)
	at edu.cmu.sphinx.util.props.PropertySheet.getOwner(PropertySheet.java:505)
	at edu.cmu.sphinx.util.props.PropertySheet.getComponent(PropertySheet.java:287)
	at edu.cmu.sphinx.decoder.search.SimpleBreadthFirstSearchManager.newProperties(SimpleBreadthFirstSearchManager.java:182)
	at edu.cmu.sphinx.util.props.PropertySheet.getOwner(PropertySheet.java:505)
	at edu.cmu.sphinx.util.props.PropertySheet.getComponent(PropertySheet.java:287)
	at edu.cmu.sphinx.decoder.AbstractDecoder.newProperties(AbstractDecoder.java:65)
	at edu.cmu.sphinx.decoder.Decoder.newProperties(Decoder.java:37)
	at edu.cmu.sphinx.util.props.PropertySheet.getOwner(PropertySheet.java:505)
	at edu.cmu.sphinx.util.props.PropertySheet.getComponent(PropertySheet.java:287)
	at edu.cmu.sphinx.recognizer.Recognizer.newProperties(Recognizer.java:90)
	at edu.cmu.sphinx.util.props.PropertySheet.getOwner(PropertySheet.java:505)
	at edu.cmu.sphinx.util.props.ConfigurationManager.lookup(ConfigurationManager.java:161)
	at com.xebia.speech.HelloWorld.main(HelloWorld.java:28)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)


My hello world file is
Java
package com.xebia.speech-to-text-converter ; 
 
import java.io.IOException;
import java.net.URL;
 
import edu.cmu.sphinx.frontend.util.Microphone;
import edu.cmu.sphinx.recognizer.Recognizer;
import edu.cmu.sphinx.result.Result;
import edu.cmu.sphinx.util.props.ConfigurationManager;
import edu.cmu.sphinx.util.props.PropertyException;
 
/**
 * A simple HelloWorld demo showing a simple speech application built using Sphinx-4. This application uses the Sphinx-4
 * endpointer, which automatically segments incoming audio into utterances and silences.
 */
public class HelloWorld {
 
    public static void main(String[] args) throws IOException, PropertyException, InstantiationException {
        ConfigurationManager cm;
 
        if (args.length > 0) {
            URL url = new URL(args[0]);
            cm = new ConfigurationManager(url);
        } else {
            cm = new ConfigurationManager(HelloWorld.class.getResource("helloworld.config.xml"));
        }
 
        Recognizer recognizer = (Recognizer) cm.lookup("recognizer");
        recognizer.allocate();
 
        // start the microphone or exit if the program if this is not possible
        Microphone microphone = (Microphone) cm.lookup("microphone");
        if (!microphone.startRecording()) {
            System.out.println("Cannot start microphone.");
            recognizer.deallocate();
            System.exit(1);
        }
 
        System.out.println("Say: (Good morning | Hello) (( Winfred | Evandro | Paul | Philip | Will )");
 
        // loop the recognition until the program exits.
        while (true) {
            System.out.println("Start speaking. Press Ctrl-C to quit.\n");
 
            Result result = recognizer.recognize();
 
            if (result != null) {
                String resultText = result.getBestFinalResultNoFiller();
                System.out.println("You said: " + resultText + '\n');
            } else {
                System.out.println("I can't hear what you said.\n");
            }
        }
    }
}


Hello world config file

XML
<!--
   Sphinx-4 Configuration file
-->
<!-- ******************************************************** -->
<!--  an4 configuration file                                  -->
<!-- ******************************************************** -->
<config>        
    
    <!-- ******************************************************** -->
    <!-- frequently tuned properties                              -->
    <!-- ******************************************************** --> 
    <property name="logLevel" value="WARNING" />
    
    <property name="absoluteBeamWidth" value="-1" />
    <property name="relativeBeamWidth" value="1E-80" />
    <property name="wordInsertionProbability" value="1E-36" />
    <property name="languageWeight" value="8" />
    
    <property name="frontend" value="epFrontEnd" />
    <property name="recognizer" value="recognizer" />
    <property name="showCreations" value="false" />
    
    
    <!-- ******************************************************** -->
    <!-- word recognizer configuration                            -->
    <!-- ******************************************************** --> 
    
    <component name="recognizer" type="edu.cmu.sphinx.recognizer.Recognizer">
        <property name="decoder" value="decoder" />
        <propertylist name="monitors">
            <item>accuracyTracker </item>
            <item>speedTracker </item>
            <item>memoryTracker </item>
        </propertylist>
    </component>
    
    <!-- ******************************************************** -->
    <!-- The Decoder   configuration                              -->
    <!-- ******************************************************** --> 
    
    <component name="decoder" type="edu.cmu.sphinx.decoder.Decoder">
        <property name="searchManager" value="searchManager" />
    </component>
    
    <component name="searchManager">
        type="edu.cmu.sphinx.decoder.search.SimpleBreadthFirstSearchManager">
        <property name="logMath" value="logMath" />
        <property name="linguist" value="flatLinguist" />
        <property name="pruner" value="trivialPruner" />
        <property name="scorer" value="threadedScorer" />
        <property name="activeListFactory" value="activeList" />
    </component>
        
    <component name="activeList">
             type="edu.cmu.sphinx.decoder.search.PartitionActiveListFactory">
        <property name="logMath" value="logMath" />
        <property name="absoluteBeamWidth" value="${absoluteBeamWidth}" />
        <property name="relativeBeamWidth" value="${relativeBeamWidth}" />
    </component>
    
    <component name="trivialPruner">
                type="edu.cmu.sphinx.decoder.pruner.SimplePruner"/>
    
    <component name="threadedScorer">
                type="edu.cmu.sphinx.decoder.scorer.ThreadedAcousticScorer">
        <property name="frontend" value="${frontend}" />
        <property name="isCpuRelative" value="true" />
        <property name="numThreads" value="0" />
        <property name="minScoreablesPerThread" value="10" />
        <property name="scoreablesKeepFeature" value="true" />
    </component>
    
    <!-- ******************************************************** -->
    <!-- The linguist  configuration                              -->
    <!-- ******************************************************** -->
    
    <component name="flatLinguist">
                type="edu.cmu.sphinx.linguist.flat.FlatLinguist">
        <property name="logMath" value="logMath" />
        <property name="grammar" value="jsgfGrammar" />
        <property name="acousticModel" value="wsj" />
        <property name="wordInsertionProbability">
                value="${wordInsertionProbability}"/>
        <property name="languageWeight" value="${languageWeight}" />
        <property name="unitManager" value="unitManager" />
    </property></component>
     
    <!-- ******************************************************** -->
    <!-- The Grammar  configuration                               -->
    <!-- ******************************************************** -->
            
    <component name="jsgfGrammar" type="edu.cmu.sphinx.jsapi.JSGFGrammar">
        <property name="dictionary" value="dictionary" />
        <property name="grammarLocation">
             value="src/main/java/com/hi/open_name_speech_to_text_convertor/"/>
        <property name="grammarName" value="hello" />
	<property name="logMath" value="logMath" />
    </property></component>
            
    <!-- ******************************************************** -->
    <!-- The Dictionary configuration                            -->
    <!-- ******************************************************** -->
    
    <component name="dictionary">
        type="edu.cmu.sphinx.linguist.dictionary.FastDictionary">
        <property name="dictionaryPath">
	 value="resource:/edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.Model!/edu/cmu/sphinx/model/acoustic/WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz/dict/cmudict.0.6d"/>
        <property name="fillerPath">
	 value="resource:/edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.Model!/edu/cmu/sphinx/model/acoustic/WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz/dict/fillerdict"/>
        <property name="addSilEndingPronunciation" value="false" />
        <property name="allowMissingWords" value="false" />
        <property name="unitManager" value="unitManager" />
    </property></property></component>
    <!-- ******************************************************** -->
    <!-- The acoustic model configuration                         -->
    <!-- ******************************************************** -->
    <component name="wsj">
      type="edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.Model">
        <property name="loader" value="wsjLoader" />
        <property name="unitManager" value="unitManager" />
    </component>
    <component name="wsjLoader">
               type="edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.ModelLoader">
        <property name="logMath" value="logMath" />
        <property name="unitManager" value="unitManager" />
    </component>
    
    <!-- ******************************************************** -->
    <!-- The unit manager configuration                           -->
    <!-- ******************************************************** -->
    <component name="unitManager">
        type="edu.cmu.sphinx.linguist.acoustic.UnitManager"/>
    <!-- ******************************************************** -->
    <!-- The frontend configuration                               -->
    <!-- ******************************************************** -->
    
    <component name="frontEnd" type="edu.cmu.sphinx.frontend.FrontEnd">
        <propertylist name="pipeline">
            <item>microphone </item>
            <item>premphasizer </item>
            <item>windower </item>
            <item>fft </item>
            <item>melFilterBank </item>
            <item>dct </item>
            <item>liveCMN </item>
            <item>featureExtraction </item>
        </propertylist>
    </component>
    
    <!-- ******************************************************** -->
    <!-- The live frontend configuration                          -->
    <!-- ******************************************************** -->
    <component name="epFrontEnd" type="edu.cmu.sphinx.frontend.FrontEnd">
        <propertylist name="pipeline">
            <item>microphone </item>
            <item>speechClassifier </item>
            <item>speechMarker </item>
            <item>nonSpeechDataFilter </item>
            <item>premphasizer </item>
            <item>windower </item>
            <item>fft </item>
            <item>melFilterBank </item>
            <item>dct </item>
            <item>liveCMN </item>
            <item>featureExtraction </item>
        </propertylist>
    </component>
    <!-- ******************************************************** -->
    <!-- The frontend pipelines                                   -->
    <!-- ******************************************************** -->
    
    <component name="speechClassifier">
               type="edu.cmu.sphinx.frontend.endpoint.SpeechClassifier">
        <property name="threshold" value="13" />
    </component>
    
    <component name="nonSpeechDataFilter">
               type="edu.cmu.sphinx.frontend.endpoint.NonSpeechDataFilter"/>
    
    <component name="speechMarker">
               type="edu.cmu.sphinx.frontend.endpoint.SpeechMarker" >
        <property name="speechTrailer" value="50" />
    </component>
        
    <component name="premphasizer">
               type="edu.cmu.sphinx.frontend.filter.Preemphasizer"/>
    
    <component name="windower">
               type="edu.cmu.sphinx.frontend.window.RaisedCosineWindower">
    </component>
    
    <component name="fft">
            type="edu.cmu.sphinx.frontend.transform.DiscreteFourierTransform">
    </component>
    
    <component name="melFilterBank">
        type="edu.cmu.sphinx.frontend.frequencywarp.MelFrequencyFilterBank">
    </component>
    
    <component name="dct">
            type="edu.cmu.sphinx.frontend.transform.DiscreteCosineTransform"/>
    
    <component name="liveCMN">
               type="edu.cmu.sphinx.frontend.feature.LiveCMN"/>
        
    <component name="featureExtraction">
               type="edu.cmu.sphinx.frontend.feature.DeltasFeatureExtractor"/>
       
    <component name="microphone">
               type="edu.cmu.sphinx.frontend.util.Microphone">
        <property name="closeBetweenUtterances" value="false" />
    </component>
    
    <!-- ******************************************************* -->
    <!--  monitors                                               -->
    <!-- ******************************************************* -->
    
    <component name="accuracyTracker">
                type="edu.cmu.sphinx.instrumentation.AccuracyTracker">
        <property name="recognizer" value="${recognizer}" />
        <property name="showAlignedResults" value="false" />
        <property name="showRawResults" value="false" />
    </component>
    
    <component name="memoryTracker">
                type="edu.cmu.sphinx.instrumentation.MemoryTracker">
        <property name="recognizer" value="${recognizer}" />
	<property name="showSummary" value="false" />
	<property name="showDetails" value="false" />
    </component>
    
    <component name="speedTracker">
                type="edu.cmu.sphinx.instrumentation.SpeedTracker">
        <property name="recognizer" value="${recognizer}" />
        <property name="frontend" value="${frontend}" />
	<property name="showSummary" value="true" />
	<property name="showDetails" value="false" />
    </component>
    
    
    <!-- ******************************************************* -->
    <!--  Miscellaneous components                               -->
    <!-- ******************************************************* -->
    
    <component name="logMath" type="edu.cmu.sphinx.util.LogMath">
        <property name="logBase" value="1.0001" />
        <property name="useAddTable" value="true" />
    </component>
    
</component></component></component></component></component></component></component></config>


Grammar file

#JSGF V1.0;
/**
* JSGF Grammar for Hello World example
*/
grammar hello;
 
public <greet> = (Good morning | Hello) <name>;
<name> = ( Winfred | Evandro | Paul | Philip | Will );</name></name></greet>


Plz i need help , its my project
Posted
Updated 27-Apr-23 20:06pm
v2

The error message seems fairly clear:
class not found !java.lang.ClassNotFoundException: edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.Model

Check your spelling, classpath etc., and refer also to Sphinx Programmers Guide[^].
 
Share this answer
 
this error occurs because of edu.cmu.sphinxackage doesn't have "model.acoustic" package and "WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.Model". check your sphinx.jar file
 
Share this answer
 
Comments
Member 10712669 6-Apr-14 11:42am    
I am new in java please write any code that convert speech into text
thanks...
Hi this is Akash Kumawat from Aurangabad, Maharashtra,India.

I will provide you a direct Solution to this Error.
To solve this Error please follow the below Steps:
1.copy this link "https://code.google.com/p/motenav/downloads/detail?name=WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz-1.12_r8.jar&can=2&q="
2.Download WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz-1.12_r8.jar.
this file size will around 10.6 MB.
3.Extract the downloaded file.
4.go to edu/cmu/sphinx into the extracted file.
5.copy the 'model' directory.
6.Go to sphinx4-1.0beta6/lib Directory.
7.open Sphinx4.jar file.
8.go to edu/cmu/sphinx into the jar file.
9.paste the above Copied directory.
10.your work is Finish.

Finally refresh your Project file in My Eclipse and run the file again.
so good luck for your project.
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900