SpeechRecognition
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
Die SpeechRecognition-Schnittstelle der Web Speech API ist die Steuerungsschnittstelle für den Spracherkennungsdienst. Sie verarbeitet auch die vom Spracherkennungsdienst gesendeten SpeechRecognitionEvent-Ereignisse.
Hinweis: In einigen Browsern, etwa Chrome, wird bei der Spracherkennung auf einer Webseite ein serverbasierter Spracherkennungsdienst verwendet. Ihre Audiodaten werden zur Verarbeitung an einen Webdienst gesendet. Daher funktioniert die Spracherkennung nicht offline.
Konstruktor
SpeechRecognition()-
Erstellt ein neues
SpeechRecognition-Objekt.
Instanzeigenschaften
SpeechRecognition erbt außerdem Eigenschaften von seiner übergeordneten Schnittstelle EventTarget.
SpeechRecognition.lang-
Gibt die Sprache der aktuellen
SpeechRecognitionzurück und legt sie fest. Wenn sie nicht angegeben ist, wird standardmäßig der Wert des HTML-Attributslangverwendet. Ist auch dieses nicht festgelegt, wird die Spracheinstellung des User-Agents verwendet. SpeechRecognition.continuous-
Steuert, ob für jede Spracherkennung fortlaufend Ergebnisse oder nur ein einzelnes Ergebnis zurückgegeben werden. Standardmäßig wird ein einzelnes Ergebnis zurückgegeben (
false). SpeechRecognition.interimResults-
Steuert, ob vorläufige Ergebnisse zurückgegeben werden sollen (
true) oder nicht (false). Vorläufige Ergebnisse sind noch nicht endgültig (beispielsweise ist die EigenschaftSpeechRecognitionResult.isFinalfalse). SpeechRecognition.maxAlternatives-
Legt die maximale Anzahl von
SpeechRecognitionAlternative-Objekten fest, die pro Ergebnis bereitgestellt werden. Der Standardwert ist 1. SpeechRecognition.phrases-
Legt ein Array von
SpeechRecognitionPhrase-Objekten fest, die zur kontextbezogenen Gewichtung verwendet werden. SpeechRecognition.processLocally-
Gibt an, ob die Spracherkennung lokal auf dem Gerät des Benutzers erfolgen muss.
SpeechRecognition.unspokenPunctuation-
Gibt an, ob die Spracherkennungs-Engine Satzzeichen anhand der natürlichen Sprechmuster des Benutzers erschließt und einfügt.
Veraltete Eigenschaften
Das Konzept der Grammatik wurde aus der Web Speech API entfernt. Zugehörige Funktionen sind weiterhin in der Spezifikation enthalten und werden von unterstützenden Browsern aus Gründen der Abwärtskompatibilität noch erkannt, haben aber keine Auswirkungen auf Spracherkennungsdienste.
SpeechRecognition.grammars-
Gibt eine Sammlung von
SpeechGrammar-Objekten zurück, die die von der aktuellenSpeechRecognitionverstandenen Grammatiken darstellen, und legt diese Sammlung fest.
Statische Methoden
SpeechRecognition.available()-
Prüft, ob die angegebenen Sprachen für die Spracherkennung verfügbar sind.
SpeechRecognition.install()-
Installiert die erforderlichen Sprachpakete für die Spracherkennung auf dem Gerät in den angegebenen Sprachen.
Instanzmethoden
SpeechRecognition erbt außerdem Methoden von seiner übergeordneten Schnittstelle EventTarget.
SpeechRecognition.abort()-
Beendet die Erfassung eingehender Audiodaten durch den Spracherkennungsdienst, ohne zu versuchen, ein
SpeechRecognitionResultzurückzugeben. SpeechRecognition.start()-
Startet den Spracherkennungsdienst, damit er eingehende Audiodaten (von einem Mikrofon oder einem Audiotrack) erfasst und die Ergebnisse der Erkennung zurückgibt.
SpeechRecognition.stop()-
Beendet die Erfassung eingehender Audiodaten durch den Spracherkennungsdienst und versucht, auf Grundlage der bis dahin erfassten Daten ein
SpeechRecognitionResultzurückzugeben.
Ereignisse
Sie können diese Ereignisse mit addEventListener() überwachen oder der Eigenschaft oneventname dieser Schnittstelle einen Event-Listener zuweisen.
audiostart-
Wird ausgelöst, wenn der User-Agent mit der Audioerfassung begonnen hat.
audioend-
Wird ausgelöst, wenn der User-Agent die Audioerfassung beendet hat.
end-
Wird ausgelöst, wenn die Verbindung zum Spracherkennungsdienst getrennt wurde.
error-
Wird ausgelöst, wenn bei der Spracherkennung ein Fehler auftritt.
nomatch-
Wird ausgelöst, wenn der Spracherkennungsdienst ein endgültiges Ergebnis ohne hinreichende Erkennung zurückgibt. Dabei kann ein gewisser Grad an Erkennung vorliegen, der den Schwellenwert für
confidencejedoch nicht erreicht oder überschreitet. result-
Wird ausgelöst, wenn der Spracherkennungsdienst ein Ergebnis zurückgibt: Ein Wort oder eine Phrase wurde eindeutig erkannt und das Ergebnis an die Anwendung übermittelt.
soundstart-
Wird ausgelöst, wenn ein beliebiges Geräusch erkannt wurde – unabhängig davon, ob es sich um erkennbare Sprache handelt.
soundend-
Wird ausgelöst, wenn kein Geräusch mehr erkannt wird – unabhängig davon, ob es sich um erkennbare Sprache handelte.
speechstart-
Wird ausgelöst, wenn ein Geräusch erkannt wurde, das der Spracherkennungsdienst als Sprache identifiziert.
speechend-
Wird ausgelöst, wenn keine Sprache mehr erkannt wird.
start-
Wird ausgelöst, wenn der Spracherkennungsdienst beginnt, auf zu erkennende Audiodaten zu warten.
Beispiele
In unserem Beispiel zum Ändern der Farbe per Sprache erstellen wir mit dem Konstruktor SpeechRecognition() eine neue SpeechRecognition-Objektinstanz.
Nachdem einige weitere Werte definiert wurden, legen wir fest, dass der Spracherkennungsdienst beim Klicken auf eine Schaltfläche startet (siehe SpeechRecognition.start()). Wenn ein Ergebnis erfolgreich erkannt wurde, wird das Ereignis result ausgelöst. Wir lesen dann die gesprochene Farbe aus dem Ereignisobjekt aus und setzen die Hintergrundfarbe des <html>-Elements auf diese Farbe.
const recognition = new SpeechRecognition();
recognition.continuous = false;
recognition.lang = "en-US";
recognition.interimResults = false;
recognition.maxAlternatives = 1;
const diagnostic = document.querySelector(".output");
const bg = document.querySelector("html");
const startBtn = document.querySelector("button");
startBtn.onclick = () => {
recognition.start();
console.log("Ready to receive a color command.");
};
recognition.onresult = (event) => {
const color = event.results[0][0].transcript;
diagnostic.textContent = `Result received: ${color}`;
bg.style.backgroundColor = color;
};
Spezifikationen
| Spezifikation |
|---|
| Web Speech API> # speechreco-section> |