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.
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 aktuellenSpeechRecognition
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 HTMLlang
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 dieSpeechRecognitionResult.isFinal
Eigenschaftfalse
.) SpeechRecognition.maxAlternatives
-
Setzt die maximale Anzahl von
SpeechRecognitionAlternative
s, 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 dieonnomatch
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 dieonstart
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.
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 |