[ L T Net ] OPEN-EVENTS :: OPEN MUSIC :: MINICONTENTLINUXTAG.org 
Cornerstone
// LinuxTag 2006
Besuchen Sie uns auch nächstes Jahr wieder auf dem LinuxTag 2006 im Karlsruher Messe- und Kongresszentrum. Für nähere Details und den genauen Termin besuchen Sie bitte die LinuxTag Homepage.
EUROPAS GRÖSSTE GNU/LINUX MESSE UND KONFERENZ
KONFERENZ-DVD 2005
 Hauptseite  Vorträge  Bücher  History  Software  Kanotix  Videos  Sponsoren  Abspann  Impressum 
Hauptseite // Vorträge // Sprachsynthese unter Linux - ein Vergleich bestehender Lösungen

Sprachsynthese unter Linux - ein Vergleich bestehender Lösungen

Olaf Schmidt

KDE Accessibility Project, freedesktop.org Acessibility Initiative

Dieser Beitrag ist unter der UVM Lizenz (unveränderte Inhalte) lizensiert.

Abstract

Schon seit mehreren Jahren gibt es zahlreiche Projekte, die sich mit Sprachsynthese-Unterstützung unter Linux beschäftigen. Eine relativ neue Entwicklung ist die Integration dieser Sprachausgaben in Benutzerprogramme. Der Vortrag führt anhand der KDE-Unterstützung für Sprachsynthesen in die Thematik ein und zeigt, welche anderen Ansätze für Linux ebenfalls existieren.

Sprachsynthese ist für blinde Menschen von zentraler Bedeutung. Aus diesem Grund gibt es mehrere Bildschirmleseprogramme für Linux. Ein weiterer Anwendungsbereich sind Lösungen für Menschen, die ihre Stimme verloren haben. Daneben existieren viele Sprachausgabe-Anwendungen aber auch einfach deshalb, weil es Spaß machen kann, Statusmeldungen oder einzelne Texte vom Computer vorgelesen zu bekommen. Diese verschiedenen Anwendungsbereiche von Sprachsynthese werden anhand von Beispielen gezeigt.

Im zweiten Teil des Vortrags werden existierende Sprachsynthesen für Linux vorgestellt und die Vor- und Nachteile diskutiert.

Die meisten Sprachausgabe-Anwendungen unterstützen nur einen Teil der existierenden Sprachsynthesen, da die Unterstützung aller Sprachausgaben sehr viel Arbeit erfordert. Aus diesem Grund kooperiert KDE mit Schwesterprojekten wie SpeechDispatcher und gnome-speech. Ziel ist die Entwicklung gemeinsamer Sprachausgabe-Treiber unter dem Dach von freedesktop.org. Der dritte Teil des Vortrags gibt einen Ausblick auf diese Kooperationsmöglichkeiten und erläutert, wie weit die Bemühungen um gemeinsame Standards gediehen sind.

Der Vortrag setzt keine Vorkenntnisse voraus.


Anwendungsbereiche von Sprachsynthese

In den letzten Jahren haben sich in in vielfältigen Lebensbereichen Lösungen durchgesetzt, die auf Sprachsynthese basieren. Die häufigste Anwendung von Sprachsynthese sind Telefondienste, daneben gibt es intelligente Anrufbeantworter und in vielen Ländern synthetisierte Ansagen in Bussen, Zügen oder im Bahnhof. Mindestens ebenso wichtig ist jedoch der Einsatz von Sprachsynthesen, um Computer für Menschen mit Behinderungen bedienbar zu machen.

Screenreader

Ein Screenreader ermöglicht blinden Menschen die Bedienung des Computers mit Hilfe einer Sprachsynthese. Unter Linux gibt es hierfür verschiedene Konzepte. SpeakUp und Jupiter sind Kernel-Patches und ermöglichen das Vorlesen der Textkonsole. Daneben gibt es einige weitere Screenreader für die Konsole sowie Dasher und Gnopernicus, die neben OpenOffice und Mozilla etliche GNOME-Programme unterstützen. KDE- und Qt-Programme werden ab Version Qt4 bzw. KDE4 unterstützt werden.

Sprachunterstützte Bildschirmlupen

Ein weiterer Anwendungsbereich sind sprachunterstützte Bildschirmlupen. Diese sind insbesondere für Menschen mit verringerter Sehstärke von Bedeutung.

Unter Linux lässt sich zu diesem Zweck der Screenreader Gnopernicus verwenden, der auch einige Vergrößerungsfunktionen für den Bildschirm enthält. Desweiteren ist eine einfache Sprachunterstützung auch für die nächste Version von KMagnifier geplant.

Vorlesen längerer Texte

Eine wichtige Ergänzung zu sprachunterstützten Bildschirmlupen ist die Möglichkeit, sich längere Texte durch eine Sprachsynthese vorlesen zu lassen und dabei zwischen den einzelnen Sätzen und Abschnitten navigieren zu können. Diese Funktionen stellt das KDE Text-To-Speech-System (KTTS) bereit, das in den Webbrowser Konqueror, in den Editor Kate und in das PDF-Programm KPDF und in die spezielle Sprachausgabe-Applikation KSayIt integriert ist.

Da Texte unterschiedliche Sprachen enthalten können, die teilweise von nur unterschiedlichen Sprachsynthesen unterstützt werden, kann KTTS zwischen verschiedenen Sprachen und Stimmen umschalten, wenn im Text entsprechende VoiceXML-Tags zur Markierung der Sprache oder Stimme vorhanden sind. HTML-Markup kann hierbei von KTTS in entsprechendes VoiceXML-Markup konvertiert werden.

In der nächsten KDE-Version wird KTTS es außerdem möglich sein, unterschiedliche Teile von Webseiten wie z.B. Überschriften oder Links mit jeweils verschiedenen Stimmen vorzulesen.

Vorlesen von Systemnachrichten

Das Vorlesen von Systemnachrichten ist im Zusammenspiel mit Screenreadern und sprachunterstützten Bildschirmlupen sehr sinnvoll, aber auch im normalen Computereinsatz eine hilfreiche Funktion. Das Nachrichtensystem von KDE erlaubt es, die Nachrichten sämtlicher KDE-Programme mit Hilde von KTTS vorlesen zu lassen.

Beim Vorlesen längerer Texte kann es natürlich geschehen, dass zwischendurch Nachrichten eintreffen, die ebenfalls vorgelesen werden sollen. In diesem Fall pausiert KTTS das Vorlesen des Textes, um die Nachricht vorzulesen.

Hilfen für stumme Menschen

Ein weiterer wichtiger Anwendungsbereich sind Lösungen für Menschen, die stumm sind oder ihre Stimme verloren haben. Hierfür stellt das KDE-Projekt das Programm KMouth zur Verfügung. KMouth enthält eine automatische Wortergänzung. Häufig benutzte Wörter lassen sich in eigene Wortlisten speichern, und die gesprochenen Sätze sind in einer History-Liste sichtbar.

Sonstige Anwendungsmöglichkeiten

Eine weitere Anwendung von Sprachsynthesen zur Verbesserung der Barrierefreiheit ist die Rückmeldung auf Tastatureingaben für Menschen mit verschlechterter Motorik. Bereits jetzt kann KDE mit Hilde einer Panel-Erweiterung sprachliche Rückmeldung auf das Einrasten der CapsLock-Taste oder das Aktivieren spezieller Eingabemodi für Menschen mit motorischen Behinderungen geben. Denkbar wäre eine Ausweitung auf sämtliche Tastendrücke, wie es z.B. auch in Screenreader der Fall ist.

Sinnvoll ist der Einsatz von Sprachsynthese auch in Chat-Programmen. Hierfür gibt es bereits einen Prototypen für das KDE-Chatprogramm Konversation.

Daneben sind noch etliche weitere Möglichkeiten denkbar, wie z.B. eine sprachliche Rückmeldung bei der Bedienung von Fernsehkarten per Fernbedienung oder die Integration von Sprachsynthese in Spiele, Lernprogramme oder Kiosk-Systeme.

Vergleich der erhältlichen Sprachsynthesen

Name

Sprachen

Lizenz

Festival

Englisch¹ ², Spanisch², Walisisch, ebenfalls erhältlich: Hindi, Ibibio, Italienisch, Kisuaheli, Pol­nisch, Russisch, Zulu, Finnisch (LGPL), Tschechisch (GPL)

X11 (alt)

Flite

Englisch

BSD (neu)

FreeTTS

Englisch

BSD (neu)

HTS

Englisch, Japanisch

BSD (neu)

Dhvani

Hindi

GPL

Epos

Tschechisch, Slowakisch

GPL

Cepstral

Deutsch, Englisch¹ ², Spanisch¹, Französisch¹

proprietär

DECtalk

Deutsch, Englisch¹ ², Spanisch¹ ², Französisch²

proprietär

TTSynth

(ViaVoice)

Deutsch, Englisch¹ ², Spa­nisch¹, Portugiesisch¹, Franzö­sisch¹ ², Chinesisch, Finnisch, Italienisch

proprietär

MBROLA

Deutsch, Englisch¹ ², Spanisch¹ ², Portugiesisch¹ ², Franzö­sisch¹ ², Afrikaans, Arabisch, Bretonisch, Estnisch, Grie­chisch, Hebräisch, Hindi, Indonesisch, Iranisch, Isländisch, Italienisch, Japanisch, Koreanisch, Kroatisch, Litauisch, Malaysisch, Maori, Niederländisch, Polnisch, Rumänisch, Schwedisch, Telugu, Türkisch, Tschechisch, Ungarisch

Closed Source, kostenlos außer für kom­merziellen oder militärischen Gebrauch

¹ mit amerikanischer Aussprache

² mit europäischer Aussprache

Als freie Software sind 14 Sprachen verfügbar. Im Privatgebrauch können 37 Sprachen (demnächst 39) verwendet werden, im kommerziellen Gebrauch nur 16 Sprachen (dem­nächst 18).

Festival

Festival ist die bekannteste und beste Open-Source-Sprachsynthese. Festival ist in C++ geschrieben und freie Software unter einer X11-ähnlichen Lizenz. Sie wird von der University of Edinburgh entwickelt und unterstützt Englisch, Spanisch und Walisisch. Weitere 9 Sprachen sind von Drittanbietern erhältlich. Deutsch ist leider nicht darunter.

Die letzte stabile Version stammt von Juni 1999 (Version 1.4.3). Daneben gibt es seit Juli letzten Jahres eine Betaversion für Festival 2.0, die bereits sehr stabil ist und die die Sprachqualität deutlich verbessert. Hierzu wurde ein neues System von sogenannten „MultiSyn“-Stimmen entwickelt, die aufgrund detaillierten Daten sehr groß sind und beim ersten Systemstart einige Zeit zum Laden benötigen.

Sprachen mit nicht-lateinischen Alphabeten werden von Festival zur Zeit nicht oder nur mit größeren Schwierigkeiten unterstützt, da Unicode-Unterstützung in Festival fehlt.

Festival lässt sich als Phonem-Generator mit proprietären Stimmen aus anderen Sprachsynthesen wie Cepstral oder Mbrola kombinieren. Hierdurch wird oft eine bessere Qualität erzielt als wenn man diese Stimmen ohne Festival verwendet.

Festival hat eine sehr gute Qualität und einen großen Funktionsumfang, ist aber wegen seiner Größe nicht z.B. im Server- oder Embedded-Bereich nicht immer die Ideallösung.

Weitere Informationen: http://www.cstr.ed.ac.uk/projects/festival/

Flite

Flite („Festival light“) stammt von der Carnegie Mellon University in Pittsburgh (USA) und basiert auf Festival. Die Flite-Sprachsynthese ist in C geschrieben und ist freie Software unter einer BSD-ähnlichen Lizenz.

Flite ist auf den Einsatz auf Servern und Embedded-Geräten optimiert. Die Qualität ist daher notwendigerweise nicht ganz so gut. Anders als Festival unterstützt Flite nur Englisch, auch wenn andere Sprachen möglich wären.

Weitere Informationen: http://www.speech.cs.cmu.edu/flite/

FreeTTS

FreeTTS ist ein Abkömmling von Flite auf Java-Basis und wird von Sun Microsystems entwickelt. Die FreeTTS-Sprachsynthese unterstützt wie Flite nur Englisch und verwendet dieselbe Lizenz.

Weitere Informationen: http://freetts.sourceforge.net/

HTS

HTS ist eine Sprachsynthese für Japanisch und Englisch. Für Englisch wird intern Festival verwendet. HTS ist freie Software unter einer BSD-artigen Lizenz und ist in C++ geschrieben.

Weitere Informationen: http://hts.ics.nitech.ac.jp/

Dhvani

Dhvani ist eine Sprachausgabe für Hindi und steht unter der GPL. Die synthetisierte Sprache kann nur direkt ausgegeben werden; das Weiterreichen eines Audiostreams zur Weiterverarbeitung im darüberliegenden Sprachausgabe-System wird zur Zeit nicht unterstützt. Die letzte veröffentlichte Version stammt von September 2001 (Version 0.6).

Weitere Informationen: http://dhvani.sourceforge.net/

Epos

Die Epos-Sprachsynthese steht wie Dhvani unter der GPL-Lizenz und unterstützt Tschechisch und Slowakisch. Sie ist in C++ geschrieben und ein Gemeinschaftsprojekt der Karlsuniversität und der Wissenschaftsakademie in Prag. Die aktuellste Version stammt von Mai 2005 (Version 2.5.29).

Weitere Informationen: http://epos.ure.cas.cz/

Cepstral

Cepstral ist eine von mehreren proprietären Sprachsynthesen für Linux. Sie basiert auf Flite und stammt ebenso wie diese aus Pittsburgh, USA.

Cepstral ist neben Englisch, Französisch und Spanisch auch für Deutsch erhältlich und kostet 29,99 USD.

Weitere Informationen: http://epos.ure.cas.cz/

DECtalk

Eine weitere proprietäre Sprachsynthese aus den USA ist DECtalk. Das Produkt unterstützt dieselben Sprachen wie Cepstral. Die Firma stellt neben der Spftware-Sprachsynthese auch eine Reihe von Hardware-Sprachsynthesen her, deren Qualtiät über der Software-Sprachsynthese liegt.

Die Software-Sprachsynthese kostet 50 USD.

Weitere Informationen: http://www.fonix.com/

TTSynth (ViaVoice)

Von IBM stammt die Sprachsynthese ViaVoice, die unter Windows sehr verbreitet ist. Diese ist seit einigen Monaten auch für Großkunden unter Linux erhältlich, dabei müssen jedoch bisher mindestens 600 Lizenzen gekauft werden.

Um der Situation abzuhelfen und die Sprachsynthese insbesondere für blinden Menschen unter Linux zugänglich zu machen hat Janina Sajka einen Vertrag mit IBM geschlossen und wird sie in wenigen Wochen unter dem Namen TTSynth auch an Privatanwender verkaufen (für 40 USD). Janina Sajka ist Vorsitzende der Accessibility Workgroup der Free Standards Group und selbst blind.

TTSynth bzw. ViaVoice unterstützt 10 Sprachen einschließlich Deutsch. Uin der Windows-Version werden noch drei weitere Sprachen unterstützt (Dänisch, Norwe­gisch und Schwedisch); nach dem Willen von IBM sollen diese jedoch vorerst nicht in einer Linux-Version erhältlich sein.

Weitere Informationen: http://www.ttsynth.com/

MBROLA

MBROLA ist eine Sprachsynthese von der Fachhochschule Mons in Belgien und unterstützt die größte Zahl an Sprachen (30 Sprachen einschließlich Deutsch).

MBROLA hat zwei Schwierigkeiten, die der Entwicklung einer benutzerfreundlichen Gesamtlösung entgegenstehen. Erstens ist MBROLA keine vollständige Sprachsynthese: Zusätzlich wird noch ein Phonemgenerator benötigt, der für die meisten Sprachen als C-Programm oder als Skript erhältlich ist. Zweitens ist MBROLA Closed Source und darf nur für nicht-kommerzielle und nicht-militärische Zwecke verwendet werden.

Der bekannteste deutsche Phonemgenerator für MBROLA ist Hadifix. Das Hadifix-Programm ist mit Quelltext verfügbar, verwendet aber dieselbe Lizenz wie MBROLA.

Eine bessere Qualität lässt sich erzielen, wenn man die deutschen MBROLA-Stimmen mit Festival oder Epos zusammen verwendet. Die Festival-Patches zur Unterstützung der deutschen MBROLA-Stimmen sind mit ebenfalls Quelltext erhältlich, dürfen aber nicht weitergegeben werden und erfordern die Registrierung mit E-Mail-Adresse. Die Patches beziehen sich außerdem auf eine veraltete Festival-Version und benötigen mehrerer Änderungen, um sie z.B. auf einem aktuellen SuSE-System kompilieren zu können.

Ein einheitliches Sprachsynthese-System?

Die vielen unterschiedlichen Sprachsynthesen werden alle nur von einem Teil der Sprachausgabe-Anwendungen unterstützt:

Name

Unterstützte Sprachsynthesen

Lizenz

KTTS

Epos, Festival, Flite, FreeTTS, MBROLA,

alle anderen über Kommandozeile

GPL

gnome-speech

Cepstral, DECtalk, Festival, FreeTTS, TTSynth/ViaVoice¹, (HP-Eloquence²)

LGPL

Speech­Dispatcher

Festival, Flite

GPL

Emacspeak

DECtalk, Hardware, TTSynth/ViaVoice¹

GPL

BRASS, SuSE Blinux

Hardware, MBROLA,

alle anderen über Kommandozeile

GPL

Kernel patches (SpeakUp, Jupiter)

Hardware

GPL

¹ Die Unterstützung wurde für eine alte Version von ViaVoice geschrieben, die nicht mehr erhältlich ist.

² HP-Eloquence ist nicht mehr erhältlich

Um dieses Problem zu lösen, gibt es mit gnome-speech, SpeechDispatcher und KTTS drei Systeme, mit denen sich die vielen Sprachsynthesen über eine einheitliche Schnittstelle ansprechen lassen. Um die Kooperation zwischen diesen drei System sowie den bestehenden Einzelanwendungen zu vergrößern und auf ein einheitliches System hinzuarbeiten, hat das KDE Accessibility-Projekt die freedesktop.org Accessibility Initiative mitgegründet. Außerdem nehmen wir in der Accessibility Workgroup der Free Standards Group teil.

Zum Zeitpunkt der schriftlichen Ausarbeitung dieses Papers (11. Mai) war die Diskussion über den notwenigen Funktionsumfang eines gemeinsamen Treiberformats für die Sprachsynthesen innerhalb der freedesktop.org Accessibility Initiative weit gehend abgeschlossen. Zwischen SpeechDispatcher und den KTTS-Entwicklern kam es außerdem zu intensiveren Gesprächen über die Verwendung eines gemeinsamen Schedulers. In wie weit sich das GNOME Accessibility Projekt an einer gemeinsamen Lösung beteiligen wird, ist zur Zeit noch offen.

Da diese Gespräche noch immer im Fluss sind, kann zum gegenwärtigen Zeitpunkt kein endgültiges Fazit getroffen werden. Möglicherweise wird die Situation beim LinuxTag selbst schon wieder eine andere sein.

 
Impressum // © 2005 LinuxTag e.V.