Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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.

EventTarget SpeechRecognition

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 SpeechRecognition zurück und legt sie fest. Wenn sie nicht angegeben ist, wird standardmäßig der Wert des HTML-Attributs lang verwendet. 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 Eigenschaft SpeechRecognitionResult.isFinal false).

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 aktuellen SpeechRecognition verstandenen 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 SpeechRecognitionResult zurü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 SpeechRecognitionResult zurü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 confidence jedoch 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.

js
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

Browser-Kompatibilität

Siehe auch