Web to speech

Eine Sache habe ich in den vergangenen drei Jahren verinnerlicht: Das Web und dessen Technologien sind unglaublich dominant, weil sie auf offenen Standards beruhen.

Folglich sind mobile Apps inzwischen oft nur noch Programme, die einen (verstümmelten) Browser öffnen. Auf unserem Selbstbedienungs-Terminal werden Webseiten eingebettet, anstatt dass wir User Interfaces in Qt oder sonstwo entwickelt hätten. Mein Fernseher rendert inzwischen HTML/CSS für sein Menü oder EPG.

Was soll man allerdings machen, wenn das User Interface natürliche Sprache (speech) ausgeben soll – etwas, was man mit JavaScript auch im Jahr 2012 nicht so richtig hinbekommt? Im konkreten Anwendungsfall, dem unten gezeigten Terminal, sollen diverse Informationen zur Orientierung von Personen sowohl für Blinde (Sprachausgabe), als auch Sehende (Klick/Touch) zur Verfügung stehen.

Meine Idee ist eine hybride Anwendung, bestehend aus zentralem Webserver, Browser und lokalem Webserver, der Sprache erzeugt. (Eine Architektur, die ich mir übrigens von der lokalen Bürgerkartenumgebung abgeschaut habe.)

rrthzert
Barrierefreies Leitsystem-Terminal auf Basis unseres Terminals, Codename Humpback. Für Blinde bzw. Personen mit Sehbehinderung soll Sprachausgabe vorhanden sein.

Ein offensichtlich langweiliger Samstagabend und ein paar Tassen Kaffee später läuft unter 127.0.0.1 ein Webserver, der das Kommando say aufruft, welches am Mac die Sprachausgabe regelt. Für Linux käme beispielsweise flite zum Einsatz. D.h. die Webseiten und der Content kommen von einem zentralen Webserver, soll allerdings Sprache ausgegeben werden, so postet die Webseite (mittels AJAX) auf den lokalen Server. Dieser hat Zugang zu Sprachsynthese und Audio. (Oder theroetisch jeder anderen Hardware, die man sich vorstellen will.)

Im konkreten Anwendungsfall könnte man sich nun etwas spielen und häufig verwendete Textbausteine professionell sprechen lassen. Nur dynamischer Content müsste dann von der Computerstimme gesprochen (synthetisiert) werden. Aber ein Proof-of concept ist’s allemal:

Wer auf einem Mac zuhause ist, sollte übrigens das hier in ein Terminal pasten – viel Spaß:

osascript -e 'say "Dum dum dum dum dum dum dum he he he ho ho ho fa lah lah lah lah lah lah fa lah full hoo hoo hoo" using "Cellos"'

Leave a Reply

Your email address will not be published. Required fields are marked *