sphinx speech recognition , netbeans [ help ]

Hasistranger

Well-known member
  • Oct 21, 2010
    13,426
    7,103
    113
    Western Province, SL
    my-journal-view.vercel.app
    Machanla kawda danne Sphinx walin netbeans wala speech recognition project eka hadanna danne ? .... mama tutorials wagayak balan haduwa eth eke error ekak denawa ban .


    run:

    Property exception component:'jsgfGrammar' property:'[grammarLocation]' - not all mandatory properties are defined
    edu.cmu.sphinx.util.props.InternalConfigurationException: not all mandatory properties are defined

    BUILD SUCCESSFUL (total time: 0 seconds)

    gFS3yV.png




    danna kawru hari kiyala diyallako ban
     

    Hasistranger

    Well-known member
  • Oct 21, 2010
    13,426
    7,103
    113
    Western Province, SL
    my-journal-view.vercel.app
    mta oka nam check karanna beriwei. me tike weda godai. puluwan nam main method eke code eka witharak thread eke post karanna. grammar file eke content ekat thread ekema post karanna.

    ------------------------------------------------------------------>

    public static void main(String[] args) {

    try{

    ConfigurationManager cm;

    if (args.length > 0) {
    cm = new ConfigurationManager(args[0]);
    } 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 programm 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) ( Bhiksha | Evandro | Paul | Philip | Rita | Will )");
    System.out.println("Example say: Hello will");
    // loop the recognition until the programm 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");
    }
    }

    }catch(PropertyException | IllegalStateException e){

    System.out.println(e);

    }
    }


    --------- Configuration XML File ------------------------------------->


    <?xml version="1.0" encoding="UTF-8"?>

    <!--
    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}"/>
    </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"/>
    </component>


    <!-- ******************************************************** -->
    <!-- The Grammar configuration -->
    <!-- ******************************************************** -->

    <component name="jsgfGrammar" type="edu.cmu.sphinx.jsgf.JSGFGrammar">
    <property name="dictionary" value="dictionary"/>
    <property name="hello"
    value="resource:C:/Documents and Settings/RECEPTION/My Documents/NetBeansProjects/HelloWorld/dist/lib/"/>
    <property name="grammarName" value="hello"/>
    <property name="logMath" value="logMath"/>
    </component>


    <!-- ******************************************************** -->
    <!-- The Dictionary configuration -->
    <!-- ******************************************************** -->

    <component name="dictionary"
    type="edu.cmu.sphinx.linguist.dictionary.FastDictionary">
    <property name="dictionaryPath"
    value="resource:/WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz/dict/cmudict.0.6d"/>
    <property name="fillerPath"
    value="resource:/WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz/dict/fillerdict"/>
    <property name="addSilEndingPronunciation" value="false"/>
    <property name="allowMissingWords" value="false"/>
    <property name="unitManager" value="unitManager"/>
    </component>

    <!-- ******************************************************** -->
    <!-- The acoustic model configuration -->
    <!-- ******************************************************** -->
    <component name="wsj"
    type="edu.cmu.sphinx.linguist.acoustic.tiedstate.TiedStateAcousticModel">
    <property name="loader" value="wsjLoader"/>
    <property name="unitManager" value="unitManager"/>
    </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_16k_40mel_130Hz_6800Hz"/>
    <property name="modelDefinition" value="etc/WSJ_clean_13dCep_16k_40mel_130Hz_6800Hz.4000.mdef"/>
    <property name="dataLocation" value="cd_continuous_8gau/"/>
    </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>preemphasizer </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>dataBlocker </item>
    <item>speechClassifier </item>
    <item>speechMarker </item>
    <item>nonSpeechDataFilter </item>
    <item>preemphasizer </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="dataBlocker" type="edu.cmu.sphinx.frontend.DataBlocker">
    <!--<property name="blockSizeMs" value="10"/>-->
    </component>

    <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="preemphasizer"
    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.BestPathAccuracyTracker">
    <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>

    </config>

    ---------------------- Grammer File --------------------------------->


    #JSGF V1.0;

    /**
    * JSGF Grammar for Hello World example
    */

    grammar hello;

    public <greet> = (Good morning | Hello) ( Bhiksha | Evandro | Paul | Philip | Rita | Will );
     

    DJvodka

    Well-known member
  • Mar 31, 2009
    3,375
    292
    83
    A land like no other
    ------------------------------------------------------------------>

    public static void main(String[] args) {

    try{

    ConfigurationManager cm;

    if (args.length > 0) {
    cm = new ConfigurationManager(args[0]);
    } 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 programm 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) ( Bhiksha | Evandro | Paul | Philip | Rita | Will )");
    System.out.println("Example say: Hello will");
    // loop the recognition until the programm 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");
    }
    }

    }catch(PropertyException | IllegalStateException e){

    System.out.println(e);

    }
    }


    --------- Configuration XML File ------------------------------------->


    <?xml version="1.0" encoding="UTF-8"?>

    <!--
    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}"/>
    </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"/>
    </component>


    <!-- ******************************************************** -->
    <!-- The Grammar configuration -->
    <!-- ******************************************************** -->

    <component name="jsgfGrammar" type="edu.cmu.sphinx.jsgf.JSGFGrammar">
    <property name="dictionary" value="dictionary"/>
    <property name="hello"
    value="resource:C:/Documents and Settings/RECEPTION/My Documents/NetBeansProjects/HelloWorld/dist/lib/"/>
    <property name="grammarName" value="hello"/>
    <property name="logMath" value="logMath"/>
    </component>


    <!-- ******************************************************** -->
    <!-- The Dictionary configuration -->
    <!-- ******************************************************** -->

    <component name="dictionary"
    type="edu.cmu.sphinx.linguist.dictionary.FastDictionary">
    <property name="dictionaryPath"
    value="resource:/WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz/dict/cmudict.0.6d"/>
    <property name="fillerPath"
    value="resource:/WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz/dict/fillerdict"/>
    <property name="addSilEndingPronunciation" value="false"/>
    <property name="allowMissingWords" value="false"/>
    <property name="unitManager" value="unitManager"/>
    </component>

    <!-- ******************************************************** -->
    <!-- The acoustic model configuration -->
    <!-- ******************************************************** -->
    <component name="wsj"
    type="edu.cmu.sphinx.linguist.acoustic.tiedstate.TiedStateAcousticModel">
    <property name="loader" value="wsjLoader"/>
    <property name="unitManager" value="unitManager"/>
    </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_16k_40mel_130Hz_6800Hz"/>
    <property name="modelDefinition" value="etc/WSJ_clean_13dCep_16k_40mel_130Hz_6800Hz.4000.mdef"/>
    <property name="dataLocation" value="cd_continuous_8gau/"/>
    </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>preemphasizer </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>dataBlocker </item>
    <item>speechClassifier </item>
    <item>speechMarker </item>
    <item>nonSpeechDataFilter </item>
    <item>preemphasizer </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="dataBlocker" type="edu.cmu.sphinx.frontend.DataBlocker">
    <!--<property name="blockSizeMs" value="10"/>-->
    </component>

    <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="preemphasizer"
    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.BestPathAccuracyTracker">
    <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>

    </config>

    ---------------------- Grammer File --------------------------------->


    #JSGF V1.0;

    /**
    * JSGF Grammar for Hello World example
    */

    grammar hello;

    public <greet> = (Good morning | Hello) ( Bhiksha | Evandro | Paul | Philip | Rita | Will );

    Oya grammar file eke good morning kiyala dala thiyena eka double quotes athule dala balanna:

    "Good morning" widiyata
     

    DJvodka

    Well-known member
  • Mar 31, 2009
    3,375
    292
    83
    A land like no other
    Man try ekak dala balannam

    me thiyenne man issara liyapu code ekak. mage eke weda karanawa.
    configure karanna xml file one ne.

    Code:
    package test;
    
    import java.io.FileReader;
    import java.util.Locale;
    import javax.speech.Central;
    import javax.speech.recognition.Recognizer;
    import javax.speech.recognition.RecognizerModeDesc;
    import javax.speech.recognition.Result;
    import javax.speech.recognition.ResultAdapter;
    import javax.speech.recognition.ResultEvent;
    import javax.speech.recognition.ResultToken;
    import javax.speech.recognition.RuleGrammar;
    
    /**
     *
     * @author Dell
     */
    public class SpeechToTextConverter extends ResultAdapter {
    
        public static Recognizer recognizer;
        private static boolean isListening;
        private static boolean recording;
    
        @Override
        public void resultAccepted(ResultEvent resultEvent) {
    
            if (isListening && !recording) {
                Result result = (Result) (resultEvent.getSource());
    
                ResultToken resultToken[] = result.getBestTokens();
                for (ResultToken resultTokenItem : resultToken) {
                    System.out.print(resultTokenItem.getSpokenText());
                }
                System.out.println();
            }
        }
    
        @Override
        public void resultRejected(ResultEvent event) {
        }
    
        public static void main(String args[]) {
            try {
                isListening = true;
                recording = false;
                Central.registerEngineCentral("com.cloudgarden.speech.CGEngineCentral");
                System.out.println("Engine registered..........");
                RecognizerModeDesc desc
                        = new RecognizerModeDesc(Locale.US, Boolean.TRUE);
                // Create a recognizer that supports US English.
                recognizer = Central.createRecognizer(desc);
    
                // Start up the recognizer
                recognizer.allocate();
                FileReader fileReader3
                        = new FileReader("c:/greeting.grammar");//Location of your grammar file
                RuleGrammar greetingGrammar = recognizer.loadJSGF(fileReader3);
                greetingGrammar.setEnabled(true);
    
                // Add the listener to get results
                recognizer.addResultListener(new SpeechToTextConverter());
    
                // Commit the grammar
                recognizer.commitChanges();
                recognizer.waitEngineState(Recognizer.LISTENING);
    
                // Request focus and start listening
                recognizer.requestFocus();
                recognizer.resume();
    
                recognizer.waitEngineState(Recognizer.FOCUS_ON);
    
                recognizer.forceFinalize(true);
                recognizer.waitEngineState(Recognizer.DEALLOCATED);
    
            } catch (Exception e) {
                e.printStackTrace();
                System.exit(0);
            }
        }
    }
     

    Hasistranger

    Well-known member
  • Oct 21, 2010
    13,426
    7,103
    113
    Western Province, SL
    my-journal-view.vercel.app
    Man kala eth hari giye naha , me error eka denawa

    Property exception component:'jsgfGrammar' property:'[grammarLocation]' - not all mandatory properties are defined
    edu.cmu.sphinx.util.props.InternalConfigurationException: not all mandatory properties are defined
    BUILD SUCCESSFUL (total time: 0 seconds)

    man hithanne error eka denne config file eke menna me part eke


    <!-- ******************************************************** -->
    <!-- The Grammar configuration -->
    <!-- ******************************************************** -->

    <component name="jsgfGrammar" type="edu.cmu.sphinx.jsgf.JSGFGrammar">
    <property name="dictionary" value="dictionary"/>
    <property name="hello"
    value="resource:D:/Projects/sphinx/lib/"/>
    <property name="grammarName" value="hello"/>
    <property name="logMath" value="logMath"/>
    </component>
     

    DJvodka

    Well-known member
  • Mar 31, 2009
    3,375
    292
    83
    A land like no other
    Man kala eth hari giye naha , me error eka denawa

    Property exception component:'jsgfGrammar' property:'[grammarLocation]' - not all mandatory properties are defined
    edu.cmu.sphinx.util.props.InternalConfigurationException: not all mandatory properties are defined
    BUILD SUCCESSFUL (total time: 0 seconds)

    man hithanne error eka denne config file eke menna me part eke


    <!-- ******************************************************** -->
    <!-- The Grammar configuration -->
    <!-- ******************************************************** -->

    <component name="jsgfGrammar" type="edu.cmu.sphinx.jsgf.JSGFGrammar">
    <property name="dictionary" value="dictionary"/>
    <property name="hello"
    value="resource:D:/Projects/sphinx/lib/"/>
    <property name="grammarName" value="hello"/>
    <property name="logMath" value="logMath"/>
    </component>

    man kalin daapu code ekata config file ekak one ne.
     

    Hasistranger

    Well-known member
  • Oct 21, 2010
    13,426
    7,103
    113
    Western Province, SL
    my-journal-view.vercel.app
    me thiyenne man issara liyapu code ekak. mage eke weda karanawa.
    configure karanna xml file one ne.

    Code:
    package test;
    
    import java.io.FileReader;
    import java.util.Locale;
    import javax.speech.Central;
    import javax.speech.recognition.Recognizer;
    import javax.speech.recognition.RecognizerModeDesc;
    import javax.speech.recognition.Result;
    import javax.speech.recognition.ResultAdapter;
    import javax.speech.recognition.ResultEvent;
    import javax.speech.recognition.ResultToken;
    import javax.speech.recognition.RuleGrammar;
    
    /**
     *
     * @author Dell
     */
    public class SpeechToTextConverter extends ResultAdapter {
    
        public static Recognizer recognizer;
        private static boolean isListening;
        private static boolean recording;
    
        @Override
        public void resultAccepted(ResultEvent resultEvent) {
    
            if (isListening && !recording) {
                Result result = (Result) (resultEvent.getSource());
    
                ResultToken resultToken[] = result.getBestTokens();
                for (ResultToken resultTokenItem : resultToken) {
                    System.out.print(resultTokenItem.getSpokenText());
                }
                System.out.println();
            }
        }
    
        @Override
        public void resultRejected(ResultEvent event) {
        }
    
        public static void main(String args[]) {
            try {
                isListening = true;
                recording = false;
                Central.registerEngineCentral("com.cloudgarden.speech.CGEngineCentral");
                System.out.println("Engine registered..........");
                RecognizerModeDesc desc
                        = new RecognizerModeDesc(Locale.US, Boolean.TRUE);
                // Create a recognizer that supports US English.
                recognizer = Central.createRecognizer(desc);
    
                // Start up the recognizer
                recognizer.allocate();
                FileReader fileReader3
                        = new FileReader("c:/greeting.grammar");//Location of your grammar file
                RuleGrammar greetingGrammar = recognizer.loadJSGF(fileReader3);
                greetingGrammar.setEnabled(true);
    
                // Add the listener to get results
                recognizer.addResultListener(new SpeechToTextConverter());
    
                // Commit the grammar
                recognizer.commitChanges();
                recognizer.waitEngineState(Recognizer.LISTENING);
    
                // Request focus and start listening
                recognizer.requestFocus();
                recognizer.resume();
    
                recognizer.waitEngineState(Recognizer.FOCUS_ON);
    
                recognizer.forceFinalize(true);
                recognizer.waitEngineState(Recognizer.DEALLOCATED);
    
            } catch (Exception e) {
                e.printStackTrace();
                System.exit(0);
            }
        }
    }

    Machan man oyage code eka coppak gahuwa , ethakota program eke output eka enne me wage

    run:
    BUILD SUCCESSFUL (total time: 0 seconds)

     

    DJvodka

    Well-known member
  • Mar 31, 2009
    3,375
    292
    83
    A land like no other
    Machan man oyage code eka coppak gahuwa , ethakota program eke output eka enne me wage

    run:
    BUILD SUCCESSFUL (total time: 0 seconds)


    mathaka athuwa C:\ eke greeting.grammar file ekak save karanna me widiyata:

    Code:
    #JSGF V1.0;
    
    grammar greetings;
    
    
    public <thankgreet> = (thanks | "thank you" | "thank you very much");
    public <badgreets> = ( "your dumb" | "your an idiot" | "you suck");