osob.de Unicorn Logo
Blogpost overview

Einführung in die SpeechSynthesis Web API | 17.04.2022

In diesem Tutorial zeige ich dir, wie du die SpeechSynthesis Web API in eine Website mit JavaScript einbinden kannst, um eine Text-to-Speech-Funktion zu realisieren. Du wirst staunen, wie einfach das ist!

You like what you find here? A donation helps to keep this project running.

Was ist die SpeechSynthesis Web API?

Die SpeechSynthesis Web API, auch als Web Speech API bezeichnet, ist eine browserbasierte API, die Text-zu-Sprache- (Text-to-Speech, TTS) Funktionen ermöglicht. Mit dieser API können Entwickler*innen Text in gesprochene Sprache umwandeln und diese direkt im Browser abspielen, ohne auf externe TTS-Dienste oder Plug-ins angewiesen zu sein.

Die API ist Teil der Web Speech API-Spezifikation und wird von den meisten modernen Browsern wie Google Chrome, Mozilla Firefox, Apple Safari und Microsoft Edge unterstützt.

Die SpeechSynthesis Web API bietet verschiedene Funktionen, wie zum Beispiel:

  1. Auswahl der Stimme und Sprache: Die API ermöglicht die Auswahl aus verschiedenen verfügbaren Stimmen und Sprachen, um die Sprachausgabe an die Bedürfnisse der Benutzer*innen anzupassen.
  2. Anpassung von Lautstärke, Geschwindigkeit und Tonhöhe: Entwickler*innen können die Lautstärke, Geschwindigkeit und Tonhöhe der Sprachausgabe anpassen, um eine bessere Benutzererfahrung zu bieten.
  3. Kontrolle über den Sprachausgabe-Fluss: Die API bietet Funktionen zum Starten, Pausieren, Fortsetzen und Stoppen der Sprachausgabe, sodass Benutzer*innen die volle Kontrolle über die Wiedergabe haben.
  4. Mit der SpeechSynthesis Web API können Entwickler*innen innovative und interaktive Anwendungen erstellen, die die Benutzerfreundlichkeit und Zugänglichkeit von Webseiten verbessern.

Aber genug von der Theorie. Ab zum ersten Skript.

Schritt 1: HTML-Struktur erstellen

Zunächst müssen wir eine einfache HTML-Struktur für unsere Webseite erstellen. Hier ein Beispiel dafür:

<!DOCTYPE html>
<html lang="de">
<head>
  <meta charset="UTF-8">
  <title>Text-to-Speech mit SpeechSynthesis Web API</title>
</head>
<body>
  <h1>Text-to-Speech mit SpeechSynthesis Web API</h1>
  <textarea id="text-to-speak" rows="4" cols="50" placeholder="Gib hier deinen Text ein..."></textarea>
  <button id="speak-btn">Sprich den Text</button>
  <script src="app.js"></script>
</body>
</html>

Schritt 2: JavaScript-Datei erstellen

Erstelle eine JavaScript-Datei mit dem Namen app.js. Diese Datei wird später unseren Code für die Text-to-Speech-Funktion enthalten. Natürlich kannst du das JavaScript auch in der HTML-Datei eintragen. Aber lieber schon etwas früher beides trennen. Das macht es später einfacher.

Schritt 3: SpeechSynthesis API initialisieren

Öffne die app.js-Datei und füge den folgenden Code ein:

// DOM-Elemente auswählen
const textToSpeak = document.getElementById('text-to-speak');
const speakBtn = document.getElementById('speak-btn');

// SpeechSynthesis-Objekt erstellen
const synth = window.speechSynthesis;

// Funktion zum Vorlesen des Textes
function speakText() {
  // Neues SpeechSynthesisUtterance-Objekt erstellen
  const utterance = new SpeechSynthesisUtterance(textToSpeak.value);

  // Sprache festlegen (optional)
  utterance.lang = 'de-DE';

  // Text vorlesen
  synth.speak(utterance);
}

// Event Listener hinzufügen
speakBtn.addEventListener('click', speakText);

In diesem Codeabschnitt haben wir einige grundlegende Schritte unternommen:

Schritt 4: Testen der Text-to-Speech-Funktion

Jetzt ist es an der Zeit, unsere Text-to-Speech-Funktion zu testen. Öffne die HTML-Datei in einem Browser und gib einen Text in das Textfeld ein. Klicke auf die Schaltfläche "Sprich den Text", um die Text-to-Speech-Funktion zu testen. Du solltest hören, wie der eingegebene Text vorgelesen wird.

Fazit

Herzlichen Glückwunsch! Du hast erfolgreich eine Text-to-Speech-Funktion mit der SpeechSynthesis Web API in deine Website integriert. Diese API bietet viele weitere Möglichkeiten zur Anpassung der Sprachausgabe, wie z. B. die Auswahl verschiedener Stimmen oder die Anpassung der Geschwindigkeit und Tonhöhe. Du kannst damit experimentieren und die Funktion weiter an deine Bedürfnisse anpassen.

In diesem Tutorial haben wir die grundlegenden Schritte zum Einbinden der SpeechSynthesis Web API in eine Website mit JavaScript durchgeführt. Wir haben eine einfache Benutzeroberfläche erstellt, die es ermöglicht, einen Text einzugeben und diesen per Text-to-Speech-Funktion vorzulesen. Du kannst nun diese Basis nutzen, um weitere Anwendungen zu erkunden und deine Fähigkeiten in der Webentwicklung weiter zu verbessern.

Viel Spaß beim Experimentieren und Erweitern deiner Text-to-Speech-Funktion!