Abo
  • Services:

Speak.js

Sprachausgaben in Javascript

Alon Zakai hat mit Speak.js eine Sprachsynthesesoftware komplett in Javascript umgesetzt. Der Browser kann damit Texte sprechen, ohne zusätzliche Plugins oder Spezialsoftware.

Artikel veröffentlicht am ,
Alon Zakai portiert eSpeak mit Emscripten auf Javascript.
Alon Zakai portiert eSpeak mit Emscripten auf Javascript. (Bild: eSpeak)

Bei Speak.js handelt es sich um eine Portierung der freien Sprachsynthese-Software eSpeak auf Javascript. Umgesetzt hat Entwickler Alon Zakai diese mittels Emscripten: Der Compiler wandelt von LLVM erzeugten Bytecode in Javascript um. In C und C++ geschriebener Code lässt sich so in Javascript übersetzen und im Browser ausführen.

Stellenmarkt
  1. Paradigma Software GmbH, Berlin, München
  2. ASC Automotive Solution Center AG, Düsseldorf

Die Javascript-Umsetzung von eSpeak läuft direkt im Browser, denn Emscripten emuliert auch das Dateisystem, um Schreib- und Leseaufrufe abzufangen und die Dateien per XmlHTTPRequest (XHR) zu holen.

Letztendlich erzeugt Speak.js eine Wave-Datei mit der von eSpeak erzeugten Sprachausgabe und legt diese im virtuellen Dateisystem von Emscripten ab. Diese Datei wird dann mit Base64 codiert und in eine Data-URL umgewandelt, die anschließend an das Audioelement aus HTML5 übergeben wird, so dass der Browser sie ausgeben kann.

Zakai räumt ein, dass dies zwar ein sehr einfacher Weg zur Umsetzung einer Sprachsynthese im Browser ist, aber keinesfalls der effizienteste. Zudem funktioniert Speak.js derzeit nur in Firefox, da Chrome keine Wave-Dateien in Form von Data-URLs unterstützt und Safari, Opera und Internet Explorer keine Typed-Arrays unterstützen.

Wer Speak.js ausprobieren will, kann dies mit einer Demo tun, die Zakai zur Verfügung stellt. Diese unterstützt derzeit nur Text in englischer Sprache. Grundsätzlich aber unterstützt eSpeak auch zahlreiche andere Sprachen, vorausgesetzt, die entsprechenden Sprachpakete wurden installiert. Zakai zeigt dies in einer zweiten Demo mit französischer Sprache. Allerdings, so Zakai, sei diese noch nicht optimiert und daher langsamer.



Anzeige
Spiele-Angebote
  1. (-15%) 33,99€
  2. (-74%) 7,77€
  3. 59,99€ mit Vorbesteller-Preisgarantie

EisenSheng 18. Aug 2011

Getestet mit Chromium 13.0.782.112

DaScorp 18. Aug 2011

+1 xDDD

bitcracker 18. Aug 2011

Doch: http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=gpp&lang2=v8 Im...


Folgen Sie uns
       


Android 9 - Test

Wir haben das neue Android 9 getestet.

Android 9 - Test Video aufrufen
Stromversorgung: Das Märchen vom Blackout durch Elektroautos
Stromversorgung
Das Märchen vom Blackout durch Elektroautos

Die massenhafte Verbreitung von Elektroautos stellt das Stromnetz vor neue Herausforderungen. Doch verschiedenen Untersuchungen zufolge sind diese längst nicht so gravierend, wie von Kritikern befürchtet.
Ein Bericht von Friedhelm Greis

  1. Ladekabel Startup Ubitricity gewinnt Klimaschutzpreis in New York
  2. TU Graz Der Roboter als E-Tankwart
  3. WLTP VW kann Elektro- und Hybridautos 2018 nicht mehr verkaufen

Raumfahrt: Großbritannien will wieder in den Weltraum
Raumfahrt
Großbritannien will wieder in den Weltraum

Die Briten wollen eigene Raketen bauen und von Großbritannien aus starten. Ein Teil des Geldes dafür kommt auch von Investoren und staatlichen Investitionsfonds aus Deutschland.
Von Frank Wunderlich-Pfeiffer

  1. Raumfahrt Cubesats sollen unhackbar werden
  2. Landspace Chinesisches Raumfahrtunternehmen kündigt Raketenstart an
  3. Raumfahrt @Astro_Alex musiziert mit Kraftwerk

Indiegames-Rundschau: Schiffbruch, Anime und viel Brummbrumm
Indiegames-Rundschau
Schiffbruch, Anime und viel Brummbrumm

Gas geben, den weißen Hai besiegen und endlich die eine verlorene Socke wiederfinden: Die sommerlichen Indiegames bieten für jeden etwas - besonders fürs Spielen zu zweit.
Von Rainer Sigl

  1. Indiegames-Rundschau Spezial Unabhängige Riesen und Ritter für Nintendo Switch
  2. Indiegames-Rundschau Schwerelose Action statt höllischer Qualen
  3. Indiegames-Rundschau Kampfkrieger und Abenteuer in 1001 Nacht

    •  /