Skip to content

Sprachausgabe im Browser: Das Speech Synthesis API

Die neuesten Browser-Versionen von Googles Chrome (seit Version 33) und Apples Safari (seit Version 7, hier eine Übersicht der Browser-Kompatibilität) unterstützen das Speech Synthesis API. Dabei handelt es sich um ein Web API zur Sprachsynthese. Das heißt grob: Der Browser kann Texte mit einer menschlichen Stimme vorlesen.

Google Chrome hat aktuell zehn Sprechstimmen in neun Sprachen integriert: Neben einer britischen Frauen- und einer britischen Männerstimme, jeweils eine Frauenstimme, die amerikanisches Englich, Spanisch, Französisch, Italienisch, Deutsch, Japanisch, Koreanisch und Chinesisch spricht. Eine Liste der angebotenen Stimmen gibt die Methode getVoices() zurück.

window.speechSynthesis.getVoices();

Update: Rene Kriest hat mich darauf hingewiesen, dass die getVoices()-Methode asynchron funktioniert, und auch gleich ein Code-Beispiel geliefert.

Hallo Welt

Soll ein Text als gesprochen Sprache ausgegeben werden, muss zunächst eine "Äußerung" (utterance) erstellt werden. Dieses Objekt kann über weitere Eigenschaften konfiguriert werden, beispielsweise wird hier die Sprache gesetzt:

var hallo = new SpeechSynthesisUtterance("Hallo Welt.");
hallo.lang = "de-DE";
window.speechSynthesis.speak(hallo);

"Sprachausgabe im Browser: Das Speech Synthesis API" vollständig lesen

Die neue Mauritius-Mediathek in Wiesbaden

Treppe in der Mauritius-Mediathek, die in den ersten Stock zur Literaturabteilung führt.
Mauritius-Mediathek. Blick hinauf zur Literaturabteilung

Ich mag Bücher, und ich mag Bibliotheken. Schon als Kind habe ich Bücher regelrecht verschlungen. Als ich die Gemeindebücherei des Heimatsorts durch hatte, wich ich auf die Bibliothek der nächsten Stadt aus. Diese war gerade in ein frisch renoviertes ehemaliges Schulgebäude umgezogen und entsprechend modern und hell eingerichtet.

Beides traf bisher auf die Wiesbadener Stadtbibliothek nicht zu, aber mit dem Umzug in einen Teilbereich der ehemaligen Mauritius-Passage hat sich das nun geändert. Unter dem Dach der Mauritius-Mediathek in der Hochstättenstraße befinden sich neben der Stadt- nun auch die Musikbibliothek und das Medienzentrum.

Gestern habe ich mir die neuen Räumlichkeiten angesehen und mir natürlich gleich auch ein paar Bücher ausgeliehen :-)

"Die neue Mauritius-Mediathek in Wiesbaden" vollständig lesen

User Groups im April

Im Abstand von etwas mehr als zwei Wochen durfte ich im April zwei User Group-Treffen mitorganisieren. Die Zeit und Arbeit für die Vorbereitungen nehme ich gern in Kauf, wenn dabei so fachlich interessante und sozial entspannte Veranstaltungen herauskommen.

Bei der RheinMainJS User Group

PHP User Group Rheinhessen

Bereits am 8. April widmeten wir uns in Mainz einem Thema, das große Teile der PHP-Community aktuell beschäftigt: HHVM und Hack. Die Programmiersprache Hack mit vielen neuen Features war in der Tat so neu, dass keiner der Teilnehmer einen umfassenden Einblick in die Sprache hatte.

Indem aber jeder Teilnehmer sein Wissen beitrug, konnten wir uns schließlich doch ein sehr detailliertes Bild darüber machen, was Hack kann und was seine Bedeutung für die PHP-Community sein könnte. Meine Slides habe ich auf meiner Talk-Seite verlinkt.

Christian führte im Anschluss live eine Magento-Installation auf HHVM vor. Die Kompatibilität von HHVM zu Magento scheint also weitestgehend gegeben, über den aktuellen Stand der Kompatibilität zu weiteren Frameworks und Applikationen informiert eine eigene Seite.

RheinMainJS

Gestern fand in Wiesbaden ein weiteres Treffen der RheinMainJS User Group statt. Auf dem Programm stand zunächst ein Vortrag von Carsten zu Traceur. Dieser Compiler stellt bereits heute neue JavaScript- bzw. ECMAScript-Features zur Verfügung, die erst in zukünftigen Browser-Version unterstützt werden. Carstens Slides.

Der zweite Talk von Marc stellte gulp.js vor, eine Build-Tool-Alternative zu Grunt, die mit Streams arbeitet und sich "code-over-configuration" auf die Fahnen geschrieben hat. Wer noch kein Build-System für seine JavaScript-Anwendung nutzt, sollte sich gulp.js auf jeden Fall genauer ansehen. Marcs Slides.

Danke!

Vielen Dank an alle Teilnehmer und Speaker, beide User Groups haben wieder einmal viel Spaß gemacht! Vielen Dank auch an netz98 und AOE für die Bereitstellung der Räumlichkeiten, Knabbereien und Getränke!

Educamp in Frankfurt

Am Wochenende, genauer am Samstag, war ich auf dem 13. Educamp in Frankfurt am Main. Das Barcamp zu medienpädagogischen Fragen sowie "Formen und Methoden des Lehrens und Lernens" fand in der Freiher-vom-Stein-Schule in Sachsenhausen statt.

Nun bin ich ja überhaupt nicht vom Fach, aber trotzdem interessiert am Einsatz vom Internet an Schulen. Schließlich war ich selbst auch mal Schüler. Wir hatten damals einen Computer-Raum und sogar Informatik als Wahlfach in der Oberstufe (über die Inhalte will ich lieber nicht schreiben), aber das war es dann auch schon fast.

Auf privater Ebene waren Computer und Spielkonsolen aber für viele Schüler faszinierend, und es gab auch schon Mailboxen und sogar das World Wide Web. Doch mit heute, wo fast alle Schüler ein Smartphone besitzen, lässt sich das alles kaum vergleichen. Beim Educamp ging es vor allem darum, die Chancen dieser neuen Möglichkeiten zu diskutieren und sich zu verbünden gegen die Bedenkenträger und Bremser im Erziehungsbereich. Das war zumindest mein Eindruck.

"Educamp in Frankfurt" vollständig lesen

Screenshotting Ingress

Im Vorfeld der Ingress-Aktion "Divide & Conquer" am 7. Februar 2014, bei der über 40 Spieler mehrere große Felder über die Städte Mainz und Wiesbaden spannten, kam der Wunsch auf, das Geschehen auf der Intel Map über Screenshots nachverfolgbar zu machen - auch, um im Anschluss ein schön animiertes GIF oder einen Film präsentieren zu können.

Nun war dieses Vorhaben leider nicht ganz so trivial umzusetzen, wie erhofft. Die Herausforderungen und wie diese zu lösen sind, habe ich im folgenden beschrieben.

"Screenshotting Ingress" vollständig lesen