JVoiceXML – der Open Source Voice XML Interpreter
Interview mit Dr. Dirk Schnelle-Walka, Area Head am Fachgebiet Telekooperation der TU Darmstadt
VOICE Community: Herr Schnelle-Walka, geben Sie uns doch zu Beginn eine kurze Einführung: Was bedeutet „Open Source“?
Dirk Schnelle-Walka: Open Source Programme sind – nach Definition – Programme, deren Quelltext frei zugänglich ist. Dadurch soll die Weitergabe und die Entwicklung der Software und der darauf entwickelten bzw. zu entwickelnden Programme gefördert werden.
Es gibt verschiedene Arten von Lizenzen – und nicht alle Lizenzen erlauben tatsächlich, dass ein Programm uneingeschränkt genutzt werden kann. Die GPL, die GNU General Public Licence z.B. erzwingt, dass Programme, die man darauf aufbaut, ebenfalls wieder unter diese Lizenz fallen. Das macht solche Programme für den Einsatz in Firmen völlig ungeeignet, weil die Firmen gezwungen sind, ihre eigenen, darauf aufbauenden Programme ebenfalls Open Source zur Verfügung zu stellen.
Es gibt diverse andere Lizenzen, die explizit den kommerziellen Einsatz erlauben. Z.B. die, die ich jetzt verwende: Die LGPL, die Lesser General Public Licence. Diese Lizenz hat aus meiner Sicht einen fairen Aspekt. Das heißt, ich kann solche Software kommerziell nutzen, aber wenn ich feststelle, dass ich an dem Code selber etwas ändern muss, dann müssen diese Änderungen wiederum freigegeben werden.
VOICE Community: Welches Open Source Projekt haben Sie initiiert?
Dirk Schnelle-Walka: Ich arbeite an einigen Open Source Projekten mit. Mein Kernprojekt aber ist JVoiceXML – ein Open Source VoiceXML Interpreter. Um dieses Projekt herum hat sich eine Beteiligung an anderen Projekten entwickelt, auf die ich während der Projektlaufzeit aufgesetzt habe. Kernprojekt aber ist der Open Source Voice Browser.
VOICE Community: Wozu braucht man einen Voice Browser, welche Funktion hat er?
Dirk Schnelle-Walka: Prinzipiell besteht eine starke Analogie zu dem, was wir normalerweise mit einem Web Browser verbinden: Ich rufe einen URL auf und bekomme das Ergebnis in einem Browser-Fenster angezeigt. Ein Voice Browser bildet das Ganze mit Hilfe von Sprache ab. Das heißt, ich habe hier keine grafische Schnittstelle, sondern z.B. ein Telefon, mit dem ich anrufe, habe dann diesen Voice Browser, der ein Dokument abruft, und mir das Dokument via Sprache wiedergibt. Das funktioniert in der Regel in Form von Dialogen, die in diesen Dokumenten abgebildet sind. Diese Dokumente sind üblicherweise in VoiceXML verfasst – eine Sprachdialog Markup Language. Das ist der Weg, den der Standardisierungsansatz des W3C verfolgt, es gibt natürlich auch andere, proprietäre Entwicklungen.
VOICE Community: Wie wird das Zusammenspiel mit anderen Komponenten wie Spracherkenner oder TTS gewährleistet? Mit welchen Komponenten läuft Ihr Voice Browser jetzt schon?
Dirk Schnelle-Walka: Im Großen und Ganzen versuche ich, Komponenten über standardisierte APIs anzusprechen. Das heißt: wenn ich einen Spracherkenner oder die Sprachsynthese ansteuern möchte, dann verwende ich die Java Speech API, für Telefoniefunktionen die Java Telephony API, für den Dokumentenzugriff das HTTP-Protokoll und demnächst wird es dann Implementierungen für MRCP und SIP geben. Es gibt aber auch die Möglichkeit, eigene Spracherkenner- und Sprachsyntheseprogramme einzubinden, ohne diese Standards vollständig implementieren zu müssen.
Und tatsächlich liefere ich auch Komponenten, die das Ganze abbilden, mit. Das heißt, man kann den Interpreter installieren und auch gleich testen. Dabei setze ich auch auf Open Source Programme: Im Bereich Spracherkennung biete ich Sphinx-4 und als Sprachsynthese die FreeTTS an. Das sind beides Open Source Projekte, an denen ich auch beteiligt bin. Mit diesen Komponenten lässt sich gleich loslegen. Damit kann man ausprobieren, ohne Geld ausgeben zu müssen. Ich kann mir einfach gleich einen Eindruck verschaffen.
Ich versuche, immer auf Standards aufzusetzen. Über die Java Speech API gibt es auch eine Verbindung zum Windows Spracherkenner: Ich habe hier einfach die entsprechende Bibliothek eingebunden und es hat sofort funktioniert.
VOICE Community: Wie weit ist das Projekt fortgeschritten? Was gibt es noch zu tun?
Dirk Schnelle-Walka: Begonnen habe ich das Projekt im Rahmen meiner Dissertation am Fachgebiet Telekooperation an der TU Darmstadt. Dort ging es um den Einsatz in so genannten Pervasive Environments – das sind Umgebungen, die über intelligente Geräte verfügen. Es ist z.B. möglich, mit der Kaffeemaschine zu sprechen. Ein anderes Beispiel ist ein intelligenter Arbeitsraum. Wenn ich hier vor einem Bildschirm stehe, weiß das System, dass ich mich vor diesem Bildschirm befinde und würde eine Anzeige auf diesen Bildschirm bringen und auf keinen anderen innerhalb des Raums.
Im Rahmen dieser Promotion wurde die Anbindung von Sprache zum Kernfaktor, denn ein hands- and-eyes-free-access ist elementar. Um in diesem Umfeld auf Sprache aufzusetzen, habe ich begonnen, den Voice Browser zu entwickeln.
VOICE Community: Weil Ihnen oder der Universität damals keiner zur Verfügung stand?
Dirk Schnelle-Walka: Ja, weil wir selber keinen hatten und alle kommerziellen Systeme viel zu teuer waren. Und da hab ich mir gedacht: Das kann ich doch selber.
Ich hatte ziemlich schnell all die Sachen zusammen, die ich gebraucht habe. Das war die Basis für die weitere Entwicklung. Was ich in diesem Rahmen aber nicht gebraucht habe, sind beispielsweise Telefoniefunktionen. Das sind Dinge, die erst jetzt nötig werden. Für das nächste Release sind MRCP-Anbindungen und eine SIP-Anbindung geplant, um den Browser professioneller und im Zielumfeld von VoiceXML einsetzbar zu machen.
Im Moment sind auch noch nicht alle Tags bzw. nicht alle Attribute aller Tags von VoiceXML implementiert. Das meiste aber funktioniert und man kann damit arbeiten. Und ich habe von einigen Benutzern auch schon gehört: „Es tut, was man erwartet!“
VOICE Community: Wo kommt der Voice Browser zum Einsatz? Und wie ist das Feedback?
Dirk Schnelle-Walka: Ich weiß natürlich nicht über alles Bescheid, wo der Voice Browser zum Einsatz kommt. Es ist eben Open Source. Das heißt, ich weiß nicht, wer sich den Browser herunterlädt. Es gibt keine Registrierungspflicht. Ich bekomme meist dann Hinweise oder Feedback, wenn irgendetwas nicht funktioniert. Ich weiß z.B. von einem Einsatz bei der First National Bank in Südafrika. Dort wurde der Browser mit einer eigenen SIP-basierten Telefonie-Anbindung getestet. Über einen Load Balancer liefen 1000 Leitungen parallel – das fand ich recht beeindruckend. Und das Feedback war sehr positiv – es wurde auch empfohlen, das System dort wirklich einzusetzen. Was daraus geworden ist, das entzieht sich allerdings meiner Kenntnis.
VOICE Community: Gab es noch ein anderes Einsatzgebiet, von dem Sie wissen?
Dirk Schnelle-Walka: Ja, die Firma Cibek aus Limburgerhof z.B., die das Projekt für Geräteansteuerungen evaluiert. Und es gibt ein portugiesisches Forschungsinstitut – INESC, – das es als Basis für die Ausgründung einer Startup-Firma genutzt hat. Die haben mich auch sehr bei der Entwicklung unterstützt, weil sie ihre Firma auf den Weg bringen wollten.
Viele Forschungseinrichtungen verwenden es aber auch in der Lehre, um Studenten zeigen zu können, wie so etwas funktioniert, weil man es eben kostenlos herunterladen kann. Aber auch diverse Startup-Firmen aus USA, Indien, China – hier habe ich gelegentlich E-Mails bekommen.
VOICE Community: Wie muss man sich die Entwicklung vorstellen? Wer arbeitet daran mit?
Dirk Schnelle-Walka: Derzeit sind wir acht Entwickler, wovon die meisten im Moment allerdings passiv sind. Aktiv sind zwei und die hauptsächlich treibende Kraft hinter dem Projekt bin ich. Andere Leute kommen hinzu, wenn sie irgendwie auf das Projekt aufmerksam geworden sind, weil sie es entweder lernen oder ein kostenloses Werkzeug zum Ausprobieren haben möchten. Oder aber, weil sie es für ihre kommerziellen Zwecke selber evaluieren möchten, um festzustellen, ob das etwas ist, auf das sie aufbauen können. Manchmal stellen sie dann fest, dass ein bestimmtes Feature fehlt. Dann kommen sie auf mich zu, und fragen: „Diese Feature fehlt uns noch. Können Sie das noch einbauen?“
Es gibt durchaus einen Plan, wie ich mir die Weiterentwicklung vorstelle. Dieser Plan ist auf den Projektseiten einsehbar. Aber es kann natürlich sein, dass das, was aktuell jemand braucht, von diesem Plan abweicht. Dann diskutieren wir Entwickler das entweder über Mailinglisten oder aber über Skype. Meist waren die gewünschten Implementierungen relativ leicht umzusetzen, so dass ich das gewünschte Feature dann entsprechend vorgezogen habe. Das heißt, letztendlich wird die Entwicklung des Projektes durch die Benutzer getrieben.
Es gibt dann noch einige Interessenten, die mit entwickeln wollen bzw. selbst Lösungen anbieten. Das ist selten, kommt aber vor. Manchmal entwickelt sich daraus eine längere Zusammenarbeit. Ich mache es aber zur Bedingung, dass die Mitentwickler etwas abliefern, was das Projekt nach vorne bringt, bevor sie Mitglied werden können. Sonst habe ich 500 Mitentwickler und nur zwei machen auch wirklich etwas Vernünftiges. Deshalb passiert es aber schon mal, dass von acht Entwicklern, sechs nicht aktiv sind.
VOICE Community: Und wie wird das Projekt gemanagt?
Dirk Schnelle-Walka: Ich manage das Ganze via Mailinglisten oder Skype – auch mal über Video-Konferenzen. Da gewinnt man zumindest mal einen Eindruck, wie der andere aussieht. Das ist eine ganz andere Art und Weise der Entwicklung als man das üblicherweise kennt, wenn man in einer Firma arbeitet und in einem Team zusammen ein Projekt entwickelt. Dennoch habe ich den Eindruck, dass wir uns als Team verstehen, das zusammen arbeitet.
Um an einem Open Source Projekt mitzumachen, gehört schon eine ganze Menge Enthusiasmus dazu. Die Leute haben dadurch auch die entsprechende Motivation, um das Projekt weiter voranzubringen. Man versucht, sich konstruktiv einzubringen. Und es gibt auch eine Art Aufgabenverteilung, die sich da aber eher lose bildet. Aber jeder weiß, was er zu tun hat.
VOICE Community: Gibt es auch Deadlines, die Sie sich gesetzt haben?
Dirk Schnelle-Walka: Ich habe einmal damit begonnen, mir selber Deadlines zu setzen, um die Entwicklung gezielter vorantreiben zu können. Das hat sich aber als nicht wirklich praktikabel erwiesen, weil ich dieses Projekt hauptsächlich in meiner Freizeit entwickle und mich Deadlines zu sehr unter Druck setzten, was nicht immer wirklich sinnvoll ist. Aber ich habe natürlich niemanden, der sagt, ich muss zu einem bestimmten Zeitpunkt etwas abliefern. Es gibt ja in dem Sinne keinen Kunden, der das Projekt abnimmt.
VOICE Community: Wie wird das Projekt denn finanziert?
Dirk Schnelle-Walka: Zum jetzigen Zeitpunkt brauche ich noch gar nicht viel Finanzierung. Die Hauptkosten bestehen derzeit tatsächlich im Betreiben der Webseite – ich habe eine Domain dafür angemietet – und die finanziere ich selbst. Ich habe aber auch schon Spenden bekommen.
Langfristig glaube ich, kann das so allerdings nicht weitergehen. Denn, wenn ich wirklich ernsthaft testen möchte, um das System auch in einem größeren kommerziellen Setting unterzubringen, ist das jenseits meiner finanziellen Möglichkeiten. Hier kann eine Finanzierung über Kooperationen mit Firmen erfolgen, die das System auch mit weiterentwickeln. Und die dementsprechend auch gewillt sind, das Projekt weiterzugeben, um es anderen zur Verfügung zu stellen.
VOICE Community: Für wen wäre so eine Kooperation von Interesse?
Dirk Schnelle-Walka: Ich habe schon mit einigen Firmen gesprochen, aber die meisten wollen ihre Programme und Tools lieber selber entwickeln, um Software und Know-how bei sich zu halten, was ich letztendlich eher merkwürdig finde. Jeder schreibt sich seine eigenen Tools! Wenn ich das mal mit Java-Projekten vergleiche, würde das bedeuten, dass jede Firma, die ein Java-Projekt macht, auch ihre IDE selber schreibt. Und das ist völlig absurd. Und von daher sollte es im Interesse der Hersteller sein, solche Projekte, wie dieses hier, zu unterstützen. Dadurch ließen sich die Kosten rapide senken. Warum geht so viel Geld, Know-how, und Zeit in die Entwicklung von Tools? Aus meiner Sicht liegen die Stärken europäischer Länder eher im Bereich des Know-hows, das heißt, wie setze ich solche Software ein und wie designe ich effiziente Schnittstellen. Und das ist, glaube ich, die Richtung, in die es gehen wird.
VOICE Community: Damit sind wir ja schon bei den Vorteilen von Open Source Software gegenüber kommerziellen Produkten. Also, was sind die Vorteile?
Dirk Schnelle-Walka: Zum ersten ist- wie schon erwähnt – der Quellcode öffentlich verfügbar. Das heißt natürlich auch, dass ein gewisses Know-how einfach kostenlos mit zur Verfügung gestellt wird. Und Beispiele wie die vorhin schon erwähnte Java IDE oder auch Linux zeigen, dass es auch dazu dienen kann, Kosten zu sparen, weil ich das Tooling auf Komponenten aufsetzen kann, die funktionieren, dass, wenn es Fehler gibt, diese schnell gefunden werden. Hier hat man auch die Unterstützung einer ggf. größeren Entwickler- und Nutzergemeinde, die am Beheben dieser Fehler interessiert ist. Und es ist auch so: Selbst wenn die derzeit aktive Entwicklermannschaft – inklusive mir – sagt, wir machen diese Projekt nicht weiter, ist immer noch der Source Code da, und der kann als Basis genutzt und weiterentwickelt werden. Das ist bei einer Firma, die kommerzielle Software entwickelt, nicht immer gewährleistet. Geht die Firma pleite, kann das letztendlich darin gipfeln, dass das gesamte Projekt vollständig neu entwickelt werden muss.
VOICE Community: Und die Nachteile?
Dirk Schnelle-Walka: Einen Nachteil hatte ich schon genannt: Firmen tendieren dazu, ihr Know-how bei sich behalten zu wollen und ihre Entwicklungen nicht einfach öffentlich frei zur Verfügung zu stellen. Zum anderen ist es auch so, was auch das Beispiel mit den Deadlines gezeigt hat, das eine kontinuierliche Weiterentwicklung nicht gewährleistet ist.
Aber gerade dieses Projekt scheint eine Ausnahme zu sein: Die Analyse von ohloh.net, einer Plattform, die kostenlos Open Source Projekte analysiert, zeigt, dass in diesem Projekt eine kontinuierliche Weiterentwicklung stattfindet. Dort wird auch eine Kostenschätzung gemacht: Das Projekt hat derzeit knapp 50.000 Zeilen Code und um es auf diesen Stand zu bringen, wären ungefähr 17 Personenjahre nötig, was einem Finanzvolumen von ca. 900.000 Dollar entspricht.
Das untermauert auch das Argument, dass viel Geld und viel Zeit in das Tooling einfließt, was überhaupt nicht sein muss.
VOICE Community: Was ist Ihre Motivation, den Browser kostenfrei zur Verfügung zu stellen und nicht gewinnbringend zu verkaufen, wo doch vergleichbare kommerzielle Software recht teuer ist?
Dirk Schnelle-Walka:
Gerade weil kommerzielle Software so teuer ist, leidet natürlich auch der Verbreitungsgrad darunter. Das heißt mit einem Open Source Projekt ist eine Installation mit keinen bis sehr geringen Kosten möglich. Und damit können Sprachdialogsysteme, Voice-Browser etc. auch plötzlich für Firmen interessant werden, für die das Ganze bisher jenseits des Vorstellbaren war. Das heißt man erschließt sich dadurch völlig neue Marktsegmente.
VOICE Community: Welchen Einfluss wird denn die Verbreitung eines Open Source Voice Browsers auf die derzeitige Marktsituation haben?
Dirk Schnelle-Walka: Derzeit beherrschen einfach sehr wenige große Anbieter den Markt. Und die expandieren, in dem sie nach und nach alle anderen aufkaufen.
Theoretisch ist es möglich ein Sprachdialogsystem aus verschiedenen Komponenten zusammenzubauen, die ich von verschiedenen – auch freien Quellen – beziehe. Praktisch ist es aber durch diese Quasi-Monopolstellung nicht wirklich möglich.
Letztendlich würden Endkunden und Betreiber von einer Öffnung des Marktes profitieren. Zum einen spart man Kosten und Zeit bei der Entwicklung von Tools, damit kann der Preis sinken und der Verbreitungsgrad steigen. Und zum anderen bleibt dann mehr Zeit und Budget, um sich auf das Design der Nutzbarkeit von Sprachdialogsystemen zu konzentrieren.
VOICE Community: Herr Schnelle-Walka, vielen Dank für das Gespräch.

Dr. Dirk Schnelle-Walka hat 2007 im Bereich Voice User Interface Design an der TU Darmstadt promoviert. In seinen Arbeiten als Wissenschaftlicher Mitarbeiter hat er u.a. das Thema Entwurfsmuster auf das Design von Voice User Interfaces übertragen und mit der Entwicklung des Open Source Voice Browsers JVoiceXML begonnen. Hierbei konnte er aus seiner Tätigkeit als Solution-Architekt bei der danet GmbH mit dem Schwerpunkt auf Softwarearchitekturen im Java-Enterprise-Bereich profitieren. Derzeit ist er Area Head am Fachgebiet Telekooperation der TU Darmstadt.