• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Webspeech mit Keywords

weedo

New member
Hallo,

ich versuche mich derzeit an der von Google Chrome bereitgestellten Spracherkennung. Es gibt viele Tutorials dadrüber, die ich auch größtenteils gelesen habe, allerdings habe ich noch keines gefunden, welches erklärt wie man Keywords abfragen kann.

Als erstes mal meine Javascriptdatei:

Code:
var aufnahme = new webkitSpeechRecognition();
var finalTranscript = '';
aufnahme.continuous = true;
aufnahme.interimResults = true;
aufnahme.lang = "de-DE";
aufnahme.start();
aufnahme.onresult = function (event) {
  var interimTranscript = '';
  for(var i = event.resultIndex; i < event.results.length; i++) {
    if(event.results[i].isFinal) {
      finalTranscript += event.results[i][0].transcript;
    } else {
      interimTranscript += event.results[i][0].transcript;
    }
    if(finalTranscript.length > 0) {
      $("#inputtext").html(finalTranscript);
    }
  }
};

Im Grunde möchte ich, dass meine Website meiner Sprache lauscht, bis ich ein bestimmtes Wort sage. Die Überprüfung bekomme ich auch noch hin, indem ich eine weitere If-Abfrage in die for-Schleife einfüge:

Code:
if(finalTranscript.indexOf(keyword) != -1) {
  finalTranscript = '';
  interimTranscript = '';
  $("#inputtext").html("");
}

Ich bekomme es aber nicht hin, dass mein System die Variable finalTranscript leert und nur das neue, was gesprochen wird, in die Variable schreibt. Wenn ich das hin bekomme, kann ich den String nehmen und mit einer Datenbank abgleichen. Das ist Ziel des ganzen.

Ich würde mich wirklich freuen, wenn Ihr mir dabei helfen könnt. Denn momentan verzweifle ich dadran...

Vielen Dank im Voraus!
lg weedo

P.S.: Falls jemanden interessiert was ich da baue...Ich habe mir irgendwie in den Kopf gesetzt eine Art J.A.R.V.I.S. zu entwickeln. Ich möchte dem Script eine Order geben, die dann mit einer Datenbank abgeglichen wird um vorinstallierte Funktionen auszuführen. Es ist nur für den Heimgebrauch gedacht.
 
Dein Problem liegt daran, dass finalTranscript eine globale Variable ist, die du bei jedem Event und das neue Transkript erweiterst. Mach' doch mal daraus eine lokale Variable. Wenn du auf ältere Sachen zurückgreifen willst, kannst du event.results durchgehen.
 
Zurück
Oben