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!
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:
Aber genug von der Theorie. Ab zum ersten Skript.
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>
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.
Ö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:
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.
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!