SpeechRecognition

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Das SpeechRecognition Interface der Web Speech API ist die Steuerungsschnittstelle für den Erkennungsdienst; es behandelt auch das SpeechRecognitionEvent, das vom Erkennungsdienst gesendet wird.

Hinweis: In einigen Browsern, wie Chrome, beinhaltet die Nutzung der Spracherkennung auf einer Webseite eine serverbasierte Erkennungs-Engine. Ihr Audio wird für die Erkennungsverarbeitung an einen Webdienst gesendet, daher funktioniert es nicht offline.

EventTarget SpeechRecognition

Konstruktor

SpeechRecognition()

Erstellt ein neues SpeechRecognition Objekt.

Instanz-Eigenschaften

SpeechRecognition erbt auch Eigenschaften von seinem übergeordneten Interface, EventTarget.

SpeechRecognition.grammars

Gibt eine Sammlung von SpeechGrammar Objekten zurück und legt diese fest, die die Grammatiken darstellen, die von der aktuellen SpeechRecognition verstanden werden sollen.

SpeechRecognition.lang

Gibt die Sprache der aktuellen SpeechRecognition zurück und legt sie fest. Ist nichts angegeben, wird standardmäßig der Wert des HTML lang Attributs genommen, oder die Spracheinstellung des Benutzeragenten, wenn auch diese nicht gesetzt ist.

SpeechRecognition.continuous

Legt fest, ob kontinuierliche Ergebnisse für jede Erkennung zurückgegeben werden oder nur ein einziges Ergebnis. Standardmäßig auf einzelne (false) festgelegt.

SpeechRecognition.interimResults

Bestimmt, ob Zwischenresultate zurückgegeben (true) oder nicht (false) werden sollen. Zwischenresultate sind Ergebnisse, die noch nicht endgültig sind (z. B. ist die SpeechRecognitionResult.isFinal Eigenschaft false.)

SpeechRecognition.maxAlternatives

Setzt die maximale Anzahl von SpeechRecognitionAlternatives, die pro Ergebnis bereitgestellt werden. Der Standardwert ist 1.

Instanz-Methoden

SpeechRecognition erbt auch Methoden von seinem übergeordneten Interface, EventTarget.

SpeechRecognition.abort()

Stoppt den Spracherkennungsdienst vom Empfangen eingehender Audiodaten und versucht nicht, ein SpeechRecognitionResult zurückzugeben.

SpeechRecognition.start()

Startet den Spracherkennungsdienst, um eingehende Audiodaten zu empfangen, mit der Absicht, die mit der aktuellen SpeechRecognition verbundenen Grammatiken zu erkennen.

SpeechRecognition.stop()

Stoppt den Spracherkennungsdienst vom Empfangen eingehender Audiodaten und versucht, ein SpeechRecognitionResult mit den bisher erfassten Audiodaten zurückzugeben.

Ereignisse

Hören Sie auf diese Ereignisse mit addEventListener() oder indem Sie einen Ereignis-Listener der oneventname-Eigenschaft dieses Interfaces zuweisen.

audiostart

Ausgelöst, wenn der Benutzeragent begonnen hat, Audio zu erfassen. Auch verfügbar über die onaudiostart Eigenschaft.

audioend

Ausgelöst, wenn der Benutzeragent das Erfassen von Audio beendet hat. Auch verfügbar über die onaudioend Eigenschaft.

end

Ausgelöst, wenn der Spracherkennungsdienst die Verbindung getrennt hat. Auch verfügbar über die onend Eigenschaft.

error

Ausgelöst, wenn ein Fehler bei der Spracherkennung auftritt. Auch verfügbar über die onerror Eigenschaft.

nomatch

Ausgelöst, wenn der Spracherkennungsdienst ein endgültiges Ergebnis ohne signifikante Erkennung zurückgibt. Dies kann einen gewissen Grad an Erkennung beinhalten, der den confidence Schwellenwert nicht erfüllt oder überschreitet. Auch verfügbar über die onnomatch Eigenschaft.

result

Ausgelöst, wenn der Spracherkennungsdienst ein Ergebnis zurückgibt — ein Wort oder eine Phrase wurde positiv erkannt und dies wurde der App zurückgemeldet. Auch verfügbar über die onresult Eigenschaft.

soundstart

Ausgelöst, wenn irgendein Klang — erkennbares Sprechen oder nicht — detektiert wurde. Auch verfügbar über die onsoundstart Eigenschaft.

soundend

Ausgelöst, wenn irgendein Klang — erkennbares Sprechen oder nicht — nicht mehr detektiert wird. Auch verfügbar über die onsoundend Eigenschaft.

speechstart

Ausgelöst, wenn Klang detektiert wurde, der vom Spracherkennungsdienst als Sprache erkannt wird. Auch verfügbar über die onspeechstart Eigenschaft.

speechend

Ausgelöst, wenn Sprache, die vom Spracherkennungsdienst erkannt wurde, nicht mehr detektiert wird. Auch verfügbar über die onspeechend Eigenschaft.

start

Ausgelöst, wenn der Spracherkennungsdienst begonnen hat, eingehende Audiodaten mit der Absicht zu empfangen, die der aktuellen SpeechRecognition verbundenen Grammatiken zu erkennen. Auch verfügbar über die onstart Eigenschaft.

Beispiele

In unserem einfachen Sprachfarbwechsler Beispiel, erstellen wir eine neue SpeechRecognition Objektinstanz mit dem SpeechRecognition() Konstruktor, erstellen eine neue SpeechGrammarList und setzen diese als die Grammatik, die von der SpeechRecognition Instanz erkannt wird, mit der SpeechRecognition.grammars Eigenschaft.

Nachdem einige andere Werte definiert wurden, legen wir fest, dass der Erkennungsdienst beim Auftreten eines Klick-Events startet (siehe SpeechRecognition.start().) Wenn ein Ergebnis erfolgreich erkannt wurde, wird das result Ereignis ausgelöst, wir extrahieren die Farbe, die ausgesprochen wurde, aus dem Ereignisobjekt und setzen die Hintergrundfarbe vom <html> Element auf diese Farbe.

js
const grammar =
  "#JSGF V1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;";
const recognition = new SpeechRecognition();
const speechRecognitionList = new SpeechGrammarList();
speechRecognitionList.addFromString(grammar, 1);
recognition.grammars = speechRecognitionList;
recognition.continuous = false;
recognition.lang = "en-US";
recognition.interimResults = false;
recognition.maxAlternatives = 1;

const diagnostic = document.querySelector(".output");
const bg = document.querySelector("html");

document.body.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

Specification
Web Speech API
# speechreco-section

Browser-Kompatibilität

Siehe auch