Wenn du wie ich begeisterter Entwickler bist und gerne neue Web-Technologien ausprobierst, dann ist die Web Speech API eine jener Schnittstellen, die auf den ersten Blick einfach wirken, aber eine beeindruckende Tiefe bieten.
Als ich das erste Mal die speechSynthesis
-API in meinem Browser ausprobierte, war ich fasziniert, wie einfach es ist, einen Text mit der Stimme des Computers auszugeben. Die Kernfunktion ist dabei SpeechSynthesisUtterance
, die im Wesentlichen dafür sorgt, dass ein Text in hörbare Sprache umgewandelt wird. Mit ein paar Zeilen Code lässt sich so eine Anwendung erstellen, die Texte “vorliest”.
Hier ist die Funktion, die ich verwendet habe:
function speakText(text) {
if ('speechSynthesis' in window) {
const utterance = new SpeechSynthesisUtterance(text);
const systemLanguage = navigator.language || 'en-US';
utterance.lang = systemLanguage;
const voices = window.speechSynthesis.getVoices();
const systemVoice = voices.find(voice => voice.lang === systemLanguage);
if (systemVoice) {
utterance.voice = systemVoice;
}
window.speechSynthesis.speak(utterance);
} else {
console.error('Speech synthesis is not available in this browser.');
}
}
Diese Funktion speakText
prüft zunächst, ob die speechSynthesis
-Funktion im aktuellen Browser verfügbar ist. Wenn ja, wird ein neues SpeechSynthesisUtterance
-Objekt mit dem übergebenen Text erstellt. Das Objekt wird anschließend konfiguriert:
navigator.language
) festgelegt, um sicherzustellen, dass die Sprache dem Benutzerumfeld entspricht.window.speechSynthesis.getVoices()
) und wählt eine, die zur Systemsprache passt.window.speechSynthesis.speak()
wird der Text schließlich abgespielt.Wenn die Funktion in einem Browser ausgeführt wird, der keine Unterstützung für speechSynthesis
bietet, gibt es eine Fehlermeldung in der Konsole.
Die speechSynthesis
-API öffnet eine Vielzahl von Türen für innovative Projekte:
Ein großer Pluspunkt ist, dass die API auf einfache Weise in bestehenden Websites oder Apps integriert werden kann und keine zusätzlichen Bibliotheken benötigt. Auch die Möglichkeit, die Sprache dynamisch auszuwählen, ist eine feine Sache, insbesondere wenn man mit einer internationalen Nutzerbasis arbeitet.
Wie bei jeder Technologie gibt es auch bei der Web Speech API Einschränkungen:
speechSynthesis
-API ist nicht in allen Browsern und Versionen verfügbar. Während sie in modernen Versionen von Chrome, Firefox und Safari gut funktioniert, können ältere Versionen Probleme bereiten.window.speechSynthesis.getVoices()
liefert die verfügbaren Stimmen asynchron, was dazu führen kann, dass die Stimmenliste nicht sofort beim ersten Aufruf verfügbar ist. Ein onvoiceschanged
-Eventlistener kann helfen, diese Hürde zu überwinden.pitch
, rate
, und volume
, um die Sprachausgabe zu optimieren.Ich habe in Kombination mit der weniger unterstützten Spracherkennung der Web Speach API folgende Demo gebaut:
Demo Sprachein- und -ausgabe über Web Speach API
Als erster einen Kommentar schreiben.
Schreibe einen Kommentar