# Spracherkennung mit JSAPI



## Guest (18. Okt 2008)

Hallo!

Ich habe folgenden Code aus dem Internet, welcher mit der Java Speech API funktionieren sollte:


```
import javax.speech.*;
import javax.speech.recognition.*;
import java.io.FileReader;
import java.util.Locale;

public class HelloSpeechWorld extends ResultAdapter
{
  // statische Eigenschaft - klassenbezogen (!)
  static Recognizer rec;

  // Main-Methode, startet die Engine
  public static void main(String args[])
  {
    try
    {
      // Erkenner erzeugen (für Deutsch)
      rec = Central.createRecognizer(
              new EngineModeDesc(Locale.GERMAN));
              
              // Erkenner starten
      rec.allocate();

      // Grammatik aus einer Datei laden
      FileReader reader = new FileReader(args[0]);
      RuleGrammar gram = rec.loadJSGF(reader);
      gram.setEnabled(true);

      // Lauscher für das Abfangen von Ergebnissen
      // Hier wird ein Objekt der Klasse HelloSpeechWorld erzeugt
      rec.addResultListener(new HelloSpeechWorld());
      // grammatik aktivieren
      rec.commitChanges();
      // Fokus anfordern und Arbeit beginnenrec.requestFocus();
      rec.resume();
    } // Ende try
    catch (Exception e)
    { e.printStackTrace();}
    
  }
    
    // Implementierung des ResultAdapters, erhält die
  // ResultEvents.
  // Textausgabe, dann Anwendung beenden
  public void resultAccepted(ResultEvent e)
  {
    Result r = (Result)(e.getSource());
    ResultToken tokens[] = r.getBestTokens();
    for (int i = 0; i < tokens.length; i++)
    {
        System.out.print(tokens[i].getSpokenText() + " ");
    }
    System.out.println();
    // Deallokation
    rec.deallocate();
    // Anwendung beenden
    System.exit(0);
  }
}
```


Natürlich braucht man dafür die oben importierten Elemente.
Nur wo kann man sie downloaden?

Auf der Seite von Sun habe ich gelesen, dass diese Elemente von anderen Firmen zur Verfügung gestellt werden. So auch von IBM.
Jedoch wird auf der Seite von IBM angezeigt, dass die Arbeit an der Java Speech Recognition eingestellt wurde, nirgends ist ein Downloadlink.

Weiß vielleicht trotzdem jemand, wo diese Sachen zu finden bzw herunterzuladen sind?


Ich wäre dankbar für jede Hilfe.


----------



## Guest (19. Okt 2008)

Kann mir keiner helfen? Schade.


----------



## KindOfAutomatic (19. Okt 2008)

Ich hab auf die schnelle nur diese Implementationen der Java Speech API gefunden. Vielleicht hilft das ja weiter.


Mfg KindOfAutomatic


----------



## Guest (19. Okt 2008)

Auf dieser Seite war ich auch schon. Aber FreeTTS hat keine Spracherkennung, nur Sprachsynthese, oder?


----------



## Det (20. Okt 2008)

Ich hab vor einiger Zeit mal das hier gefunden:

cmusphinx.sourceforge.net/sphinx4/

Vielleicht hilft dir das ja weiter.


----------



## Guest (20. Okt 2008)

Das ist gut!
Aber die Installation ist wahnsinnig schwierig.


----------



## Pulvertoastman (25. Okt 2010)

Das ist nicht so fürchterlich schwierig. FreeTTS (hier bin ich auch Projektmanager) liefert den Sprachssynthese Anteil der JSAPI 1 und Sphinx 4 (hier bin ich Mitentwickler) den Spracherkennungsteil.

Unter Windows kannst Du auch über Talking Java von Cloudgarden arbeiten. Dann kannst Du auch damit den Windows-Erkenner nutzen.

Ich selber arbeite auch gerade an einer Open Source Implementierung der JSAPI 2 für FreeTTS, Sphinx 4 und Windows Erkenner/Synthesizer:
SourceForge.net: Java Speech API - Project Web Hosting - Open Source Software

Der aktuelle Download ist leider schon etwas älter. Mittlerweile geht da schon ein wenig mehr wenn Du es selber baust.

Hth
Dirk


----------

