0

I am new to java, and i am caught badly in a part of my program.

I am using a library called Voce. which is used for voice recognition. it recognizes voice or word , compares with its built in grammar and prints it in "string " value. e.g: if you spoke "five" it would print "five".

The reason i am asking the question is. that how can i compare that string value with a desired value. e.g : if the value is "five" then store it in another string for further working

here is the code : You can find the Voce library here http://voce.sourceforge.net/ ////////////////////////////////////////

 //import the libraries
import guru.ttslib.*;
import processing.serial.*;

//give our instances names
Serial treePort;
TTS tts;

void setup(){
  //the following initiates the voce library
  voce.SpeechInterface.init("libraries/voce-0.9.1/lib", true, true,"libraries/voce-0.9.1/lib/gram","digits");
  //start our port and also tts
  treePort = new Serial(this,Serial.list()[0],9600);
  tts = new TTS();
  //the following settings control the voice sound
  tts.setPitch( 180 );
  tts.setPitchRange( 90 );
  //tts.setPitchShift( -10.5 );
  treePort.write("73");   //send command to turn on the lights and open the eyes
}

void draw(){

  if (voce.SpeechInterface.getRecognizerQueueSize()>0){    //if voce recognizes anything being said
      String s = voce.SpeechInterface.popRecognizedString();      //assign the string that voce heard to the variable s
      println("you said: " + s);                          //print what was heard to the debug window.
      respond(s);
    } 

}
//This function will split the text up into multiple words, and decide how to animate depending on the length of each word and also pauses which are denoted by "!"
void respond(String input){
  if (input.length() > 0){  //we actually have something to say 
  voce.SpeechInterface.setRecognizerEnabled(false);    //stop listening, otherwise we will hear ourselves and go into a loop
  //this just splits up all the words sends motion
  String[] words = split(input," ");
  int howMany = words.length;

  for(int i=0;i<howMany;i++){
    String pieces[] = split(words[i],"!");  //if we see a ! then reading pauses slightly so it is a good time to blink
    if(pieces.length==2){
    treePort.write("1");
    int pause = int(random(100));
    if(pause>60){
      treePort.write("5");
    }
    else{
      treePort.write("7");
      delay(500);
    }
    }
    else{
      treePort.write("1");
    }

  }
  tts.speak(input);
  voce.SpeechInterface.setRecognizerEnabled(true);
}
}

1 Answers1

0

What you are insearch of is equal function... Check this reference for further details

http://www.java-samples.com/showtutorial.php?tutorialid=660

greatmajestics
  • 1,083
  • 4
  • 19
  • 41