public static void main(String[] args) {
    ConfigurationManager cm;

    if (args.length > 0) {
      cm = new ConfigurationManager(args[0]);
    } else {
      cm = new ConfigurationManager(Sphinx4see.class.getResource("sphinx4see.config.xml"));
    }

    // allocate the recognizer
    System.out.println("Loading...");
    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);
    }

    printInstructions();

    // 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');
        if (resultText == "alone") {
          System.out.println("Do not be afraid, baby!");
        }

      } else {
        System.out.println("I can't hear what you said.\n");
      }
    }
  }
示例#2
0
  static void processSpeech(SphinxServer server) {
    ConfigurationManager cm = new ConfigurationManager(PATrecognizerTest.class.getResource(config));
    // allocate the recognizer
    Log.info("Loading...");
    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()) {
      Log.severe("Cannot start microphone.");
      recognizer.deallocate();
      System.exit(1);
    }

    System.out.println("Sample questions are in PATlm_training_file");

    // 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.getBestResultNoFiller();
        System.out.println("You said: " + resultText + '\n');
        String name = server.getServerId();
        String message = work1 + "\"" + resultText + "\"}";
        server.execute(message);
        try {
          Thread.sleep(4000);
        } catch (Exception e) {
          System.out.println(e.toString());
          break;
        }
      } else {
        System.out.println("I can't hear what you said.");
      }
    }
  }
示例#3
0
  /**
   * Main method for running the LatticeCompTest demo.
   *
   * @throws IOException
   * @throws UnsupportedAudioFileException
   */
  @Test
  public void testLatticeComp() throws UnsupportedAudioFileException, IOException {

    URL audioFileURL = new File("src/test/edu/cmu/sphinx/result/test/green.wav").toURI().toURL();
    URL configURL = new File("src/test/edu/cmu/sphinx/result/test/config.xml").toURI().toURL();

    ConfigurationManager cm = new ConfigurationManager(configURL);

    Recognizer recognizer = (Recognizer) cm.lookup("recognizer");

    StreamDataSource reader = (StreamDataSource) cm.lookup("streamDataSource");

    AudioInputStream ais = AudioSystem.getAudioInputStream(audioFileURL);

    /* set the stream data source to read from the audio file */
    reader.setInputStream(ais, audioFileURL.getFile());

    /* allocate the resource necessary for the recognizer */
    recognizer.allocate();

    /* decode the audio file */
    Result result = recognizer.recognize();

    /* print out the results */
    Lattice lattice = new Lattice(result);
    lattice.dumpAISee("lattice.gdl", "lattice");

    recognizer.deallocate();

    cm = new ConfigurationManager(configURL);

    ConfigurationManagerUtils.setProperty(cm, "keepAllTokens", "true");

    recognizer = (Recognizer) cm.lookup("recognizer");
    recognizer.allocate();

    reader = (StreamDataSource) cm.lookup("streamDataSource");
    reader.setInputStream(AudioSystem.getAudioInputStream(audioFileURL), audioFileURL.getFile());

    Result allResult = recognizer.recognize();

    Lattice allLattice = new Lattice(allResult);
    allLattice.dumpAISee("allLattice.gdl", "All Lattice");

    assertTrue(lattice.isEquivalent(allLattice));
  }