SpeechRecognition
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die SpeechRecognition
-Schnittstelle der Web Speech API ist die Steuerungsschnittstelle für den Erkennungsdienst; sie verarbeitet auch das SpeechRecognitionEvent
, das vom Erkennungsdienst gesendet wird.
Hinweis: In einigen Browsern, wie Chrome, erfordert die Nutzung von Spracherkennung auf einer Webseite eine serverbasierte Erkennungs-Engine. Ihr Audio wird an einen Webdienst zur Erkennungsbearbeitung gesendet, daher funktioniert es nicht offline.
Konstruktor
SpeechRecognition()
-
Erstellt ein neues
SpeechRecognition
-Objekt.
Instanzeigenschaften
SpeechRecognition
übernimmt auch Eigenschaften von seiner übergeordneten Schnittstelle, EventTarget
.
SpeechRecognition.grammars
-
Gibt eine Sammlung von
SpeechGrammar
-Objekten zurück, die die Grammatiken darstellen, die von der aktuellenSpeechRecognition
erkannt werden sollen, und setzt sie. SpeechRecognition.lang
-
Gibt die Sprache der aktuellen
SpeechRecognition
zurück und setzt sie. Falls nicht angegeben, wird standardmäßig der Wert des HTML-Attributslang
verwendet oder die Spracheinstellung des Benutzeragenten, falls diese ebenfalls nicht festgelegt ist. SpeechRecognition.continuous
-
Steuert, ob kontinuierliche Ergebnisse für jede Erkennung zurückgegeben werden, oder nur ein einzelnes Ergebnis. Standardmäßig ist dies auf Einzel (
false
) gesetzt. SpeechRecognition.interimResults
-
Steuert, ob vorläufige Ergebnisse zurückgegeben werden sollen (
true
) oder nicht (false
). Vorläufige Ergebnisse sind Ergebnisse, die noch nicht endgültig sind (zum Beispiel ist dieSpeechRecognitionResult.isFinal
-Eigenschaftfalse
). SpeechRecognition.maxAlternatives
-
Legt die maximale Anzahl von
SpeechRecognitionAlternative
s fest, die pro Ergebnis bereitgestellt werden. Der Standardwert ist 1.
Instanzmethoden
SpeechRecognition
übernimmt auch Methoden von seiner übergeordneten Schnittstelle, EventTarget
.
SpeechRecognition.abort()
-
Stoppt den Spracherkennungsdienst beim Zuhören auf eingehendes Audio und versucht nicht, ein
SpeechRecognitionResult
zurückzugeben. SpeechRecognition.start()
-
Startet den Spracherkennungsdienst, um auf eingehendes Audio zu hören, mit dem Ziel, die mit der aktuellen
SpeechRecognition
verbundenen Grammatiken zu erkennen. SpeechRecognition.stop()
-
Stoppt den Spracherkennungsdienst beim Zuhören auf eingehendes Audio und versucht, ein
SpeechRecognitionResult
mit dem bisher erfassten Audio zurückzugeben.
Ereignisse
Hören Sie auf diese Ereignisse mit addEventListener()
oder indem Sie einen Ereignis-Listener für die oneventname
-Eigenschaft dieser Schnittstelle zuweisen.
audiostart
-
Wird ausgelöst, wenn der Benutzeragent begonnen hat, Audio zu erfassen. Auch verfügbar über die
onaudiostart
-Eigenschaft. audioend
-
Wird ausgelöst, wenn der Benutzeragent die Audioaufnahme beendet hat. Auch verfügbar über die
onaudioend
-Eigenschaft. end
-
Wird ausgelöst, wenn der Spracherkennungsdienst die Verbindung getrennt hat. Auch verfügbar über die
onend
-Eigenschaft. error
-
Wird ausgelöst, wenn ein Spracherkennungsfehler auftritt. Auch verfügbar über die
onerror
-Eigenschaft. nomatch
-
Wird ausgelöst, wenn der Spracherkennungsdienst ein endgültiges Ergebnis ohne signifikante Erkennung zurückgibt. Dies kann ein gewisses Maß an Erkennung beinhalten, das nicht die
confidence
-Schwelle erreicht oder überschreitet. Auch verfügbar über dieonnomatch
-Eigenschaft. result
-
Wird ausgelöst, wenn der Spracherkennungsdienst ein Ergebnis zurückgibt — ein Wort oder eine Phrase wurde positiv erkannt und dies wurde an die App zurückgemeldet. Auch verfügbar über die
onresult
-Eigenschaft. soundstart
-
Wird ausgelöst, wenn ein beliebiges Geräusch — erkennbarer Sprachgebrauch oder nicht — erkannt wurde. Auch verfügbar über die
onsoundstart
-Eigenschaft. soundend
-
Wird ausgelöst, wenn ein beliebiges Geräusch — erkennbarer Sprachgebrauch oder nicht — nicht mehr erkannt wird. Auch verfügbar über die
onsoundend
-Eigenschaft. speechstart
-
Wird ausgelöst, wenn das erkannt wurde, was der Spracherkennungsdienst als Sprache erkennt. Auch verfügbar über die
onspeechstart
-Eigenschaft. speechend
-
Wird ausgelöst, wenn die vom Spracherkennungsdienst erkannte Sprache nicht mehr erkannt wird. Auch verfügbar über die
onspeechend
-Eigenschaft. start
-
Wird ausgelöst, wenn der Spracherkennungsdienst begonnen hat, auf eingehendes Audio zu hören, mit der Absicht, die mit der aktuellen
SpeechRecognition
verbundenen Grammatiken zu erkennen. Auch verfügbar über dieonstart
-Eigenschaft.
Beispiele
In unserem einfachen Beispiel zur Sprachgesteuerten Farbänderung erstellen wir eine neue SpeechRecognition
-Objektinstanz mit dem SpeechRecognition()
-Konstruktor, erstellen eine neue SpeechGrammarList
und setzen diese als Grammatik, die von der SpeechRecognition
-Instanz erkannt werden soll, mittels der SpeechRecognition.grammars
-Eigenschaft.
Nachdem einige andere Werte definiert wurden, setzen wir es so, dass der Erkennungsdienst startet, wenn ein Klick-Ereignis auftritt (siehe SpeechRecognition.start()
.) Wenn ein Ergebnis erfolgreich erkannt wurde, wird das result
-Ereignis ausgelöst, wir extrahieren die Farbe, die aus dem Ereignisobjekt gesprochen wurde, und setzen dann die Hintergrundfarbe des <html>
-Elements 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 |
Browser-Kompatibilität
BCD tables only load in the browser