SpeechSynthesisUtterance

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2018.

* Some parts of this feature may have varying levels of support.

Die SpeechSynthesisUtterance-Schnittstelle der Web Speech API repräsentiert eine Sprachanforderung. Sie enthält den Inhalt, den der Sprachdienst lesen soll, und Informationen darüber, wie er gelesen werden soll (z. B. Sprache, Tonhöhe und Lautstärke).

EventTarget SpeechSynthesisUtterance

Konstruktor

SpeechSynthesisUtterance()

Gibt eine neue SpeechSynthesisUtterance-Objektinstanz zurück.

Instanz-Eigenschaften

SpeechSynthesisUtterance erbt auch Eigenschaften von seiner Elternschnittstelle, EventTarget.

SpeechSynthesisUtterance.lang

Ruft die Sprache der Äußerung ab und setzt sie.

SpeechSynthesisUtterance.pitch

Ruft die Tonhöhe ab und setzt sie, in der die Äußerung gesprochen wird.

SpeechSynthesisUtterance.rate

Ruft die Geschwindigkeit ab und setzt sie, in der die Äußerung gesprochen wird.

SpeechSynthesisUtterance.text

Ruft den Text ab und setzt ihn, der synthetisiert wird, wenn die Äußerung gesprochen wird.

SpeechSynthesisUtterance.voice

Ruft die Stimme ab und setzt sie, die zum Sprechen der Äußerung verwendet wird.

SpeechSynthesisUtterance.volume

Ruft die Lautstärke ab und setzt sie, in der die Äußerung gesprochen wird.

Ereignisse

Sie können auf diese Ereignisse mit addEventListener() hören oder einen Ereignis-Listener zu der oneventname-Eigenschaft dieser Schnittstelle zuweisen.

boundary

Wird ausgelöst, wenn die gesprochene Äußerung eine Wort- oder Satzgrenze erreicht. Auch über die onboundary-Eigenschaft verfügbar.

end

Wird ausgelöst, wenn die Äußerung fertig gesprochen wurde. Auch über die onend-Eigenschaft verfügbar.

error

Wird ausgelöst, wenn ein Fehler auftritt, der verhindert, dass die Äußerung erfolgreich gesprochen wird. Auch über die onerror-Eigenschaft verfügbar.

mark

Wird ausgelöst, wenn die gesprochene Äußerung einen benannten SSML-"Mark"-Tag erreicht. Auch über die onmark-Eigenschaft verfügbar.

pause

Wird ausgelöst, wenn die Äußerung während des Sprechens pausiert wird. Auch über die onpause-Eigenschaft verfügbar.

resume

Wird ausgelöst, wenn eine pausierte Äußerung fortgesetzt wird. Auch über die onresume-Eigenschaft verfügbar.

start

Wird ausgelöst, wenn die Äußerung begonnen hat, gesprochen zu werden. Auch über die onstart-Eigenschaft verfügbar.

Beispiele

In unserem grundlegenden Sprachsynthesizer-Demo holen wir zuerst eine Referenz zum SpeechSynthesis-Controller mit window.speechSynthesis. Nach der Definition einiger notwendiger Variablen rufen wir mit SpeechSynthesis.getVoices() eine Liste der verfügbaren Stimmen ab und füllen damit ein Auswahlmenü, damit der Nutzer wählen kann, welche Stimme er möchte.

Im inputForm.onsubmit-Handler verhindern wir das Absenden des Formulars mit preventDefault(), verwenden den constructor, um eine neue Äußerungsinstanz mit dem Text aus dem Text-<input> zu erstellen, setzen die Äußerungs-voice auf die im <select>-Element ausgewählte Stimme und starten das Sprechen der Äußerung über die SpeechSynthesis.speak()-Methode.

js
const synth = window.speechSynthesis;

const inputForm = document.querySelector("form");
const inputTxt = document.querySelector("input");
const voiceSelect = document.querySelector("select");

let voices;

function loadVoices() {
  voices = synth.getVoices();
  for (let i = 0; i < voices.length; i++) {
    const option = document.createElement("option");
    option.textContent = `${voices[i].name} (${voices[i].lang})`;
    option.value = i;
    voiceSelect.appendChild(option);
  }
}

// in Google Chrome the voices are not ready on page load
if ("onvoiceschanged" in synth) {
  synth.onvoiceschanged = loadVoices;
} else {
  loadVoices();
}

inputForm.onsubmit = (event) => {
  event.preventDefault();

  const utterThis = new SpeechSynthesisUtterance(inputTxt.value);
  utterThis.voice = voices[voiceSelect.value];
  synth.speak(utterThis);
  inputTxt.blur();
};

Spezifikationen

Specification
Web Speech API
# speechsynthesisutterance

Browser-Kompatibilität

Siehe auch