SpeechRecognition
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Das SpeechRecognition Interface der Web Speech API ist das Kontroll-Interface für den Erkennungsdienst; es behandelt auch das SpeechRecognitionEvent, das vom Erkennungsdienst gesendet wird.
Hinweis: In einigen Browsern, wie Chrome, erfordert die Nutzung der Spracherkennung auf einer Webseite eine serverbasierte Erkennungs-Engine. Ihr Audio wird zur Erkennungsverarbeitung an einen Webdienst gesendet, daher funktioniert es nicht offline.
Konstruktor
SpeechRecognition()-
Erstellt ein neues
SpeechRecognitionObjekt.
Instanz-Eigenschaften
SpeechRecognition erbt auch Eigenschaften von seinem übergeordneten Interface, EventTarget.
SpeechRecognition.lang-
Gibt die Sprache des aktuellen
SpeechRecognitionzurück und setzt sie. Wenn nicht angegeben, wird standardmäßig der Wert des HTMLlang-Attributs oder die Spracheinstellung des Benutzeragenten verwendet, falls diese ebenfalls nicht festgelegt ist. SpeechRecognition.continuous-
Steuert, ob kontinuierliche Ergebnisse für jede Erkennung zurückgegeben werden oder nur ein einzelnes Ergebnis. Standardwert ist einzelnes Ergebnis (
false). SpeechRecognition.interimResults-
Bestimmt, ob Zwischenresultate (
true) oder nicht (false) zurückgegeben werden sollen. Zwischenresultate sind Ergebnisse, die noch nicht endgültig sind (z.B. ist dieSpeechRecognitionResult.isFinal-Eigenschaftfalse). SpeechRecognition.maxAlternatives-
Legt die maximale Anzahl von
SpeechRecognitionAlternatives fest, die pro Ergebnis bereitgestellt werden. Der Standardwert ist 1. SpeechRecognition.phrases-
Setzt ein Array von
SpeechRecognitionPhraseObjekten, die für das kontextuelle Biasing verwendet werden sollen. SpeechRecognition.processLocally-
Gibt an, ob die Spracherkennung lokal auf dem Gerät des Benutzers durchgeführt werden muss.
Veraltete Eigenschaften
Das Konzept der Grammatik wurde aus der Web Speech API entfernt. Verwandte Funktionen bleiben jedoch in der Spezifikation und werden von unterstützenden Browsern aus Gründen der Rückwärtskompatibilität weiterhin erkannt, haben jedoch keinen Einfluss auf die Spracherkennungsdienste.
SpeechRecognition.grammars-
Gibt eine Sammlung von
SpeechGrammar-Objekten zurück und setzt sie, die die von der aktuellenSpeechRecognitionverstandenen Grammatiken darstellen.
Statische Methoden
SpeechRecognition.available()-
Prüft, ob die angegebenen Sprachen für die Spracherkennung auf dem angegebenen Qualitätslevel verfügbar sind.
SpeechRecognition.install()-
Installiert die erforderlichen Sprachpakete für die geräteinterne Spracherkennung in den angegebenen Sprachen und Qualitätsstufen.
Instanz-Methoden
SpeechRecognition erbt auch Methoden von seinem übergeordneten Interface, EventTarget.
SpeechRecognition.abort()-
Stoppt den Spracherkennungsdienst, der eingehendes Audio abhört, und versucht nicht, ein
SpeechRecognitionResultzurückzugeben. SpeechRecognition.start()-
Startet den Spracherkennungsdienst, um eingehendes Audio (von einem Mikrofon oder einer Audiospur) zu hören und gibt die Ergebnisse dieser Erkennung zurück.
SpeechRecognition.stop()-
Stoppt den Spracherkennungsdienst, der eingehendes Audio abhört, und versucht, basierend auf den bisher erfassten Ergebnissen ein
SpeechRecognitionResultzurückzugeben.
Ereignisse
Lauschen Sie diesen Ereignissen mithilfe von addEventListener() oder indem Sie einen Ereignis-Listener der oneventname-Eigenschaft dieses Interfaces zuweisen.
audiostart-
Wird ausgelöst, wenn der Benutzeragent begonnen hat, Audio aufzunehmen.
audioend-
Wird ausgelöst, wenn der Benutzeragent das Aufnehmen von Audio beendet hat.
end-
Wird ausgelöst, wenn der Spracherkennungsdienst die Verbindung getrennt hat.
error-
Wird ausgelöst, wenn ein Fehler bei der Spracherkennung auftritt.
nomatch-
Wird ausgelöst, wenn der Spracherkennungsdienst ein Endergebnis ohne signifikante Erkennung zurückgibt. Dies kann ein gewisses Maß an Erkennung beinhalten, das den
confidence-Schwellenwert nicht erreicht oder übertrifft. result-
Wird ausgelöst, wenn der Spracherkennungsdienst ein Ergebnis zurückgibt — ein Wort oder Satz wurde positiv erkannt und dies wurde an die Anwendung zurückgemeldet.
soundstart-
Wird ausgelöst, wenn ein beliebiges Geräusch — erkennbare Sprache oder nicht — erkannt wurde.
soundend-
Wird ausgelöst, wenn ein beliebiges Geräusch — erkennbare Sprache oder nicht — nicht mehr erkannt wird.
speechstart-
Wird ausgelöst, wenn ein Geräusch erkannt wurde, das vom Spracherkennungsdienst als Sprache erkannt wird.
speechend-
Wird ausgelöst, wenn Sprache, die vom Spracherkennungsdienst erkannt wird, nicht mehr erkannt wird.
start-
Wird ausgelöst, wenn der Spracherkennungsdienst beginnt, Audio zur Erkennung zu hören.
Beispiele
In unserem Beispiel zur Farbänderung durch Sprache erstellen wir eine neue SpeechRecognition Objektinstanz mit dem SpeechRecognition() Konstruktor.
Nachdem einige andere Werte definiert wurden, setzen wir es so, dass der Erkennungsdienst startet, wenn ein Button angeklickt wird (siehe SpeechRecognition.start()). Wenn ein Ergebnis erfolgreich erkannt wurde, wird das result Ereignis ausgelöst. Wir extrahieren die gesprochene Farbe aus dem Ereignisobjekt und setzen dann 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> |