# Das Handbuch zu &kmyapplication;

Gary
R.
Cramblitt
garycramblitt@comcast.net
Burkhard
Lück

    lueck@hube-lueck.de

Übersetzung
2004-2005
Gary R. Cramblitt
&FDLNotice;
2005-02-01
1.03.00

&kmyapplication; - das KDE Sprachausgabe-System - ist ein auf Plugins beruhender Dienst, der es jeder KDE (oder nicht-KDE) Anwendung ermöglicht, Text über die DCOP-Schnittstelle vorzulesen.

&kmyapplication; ist die praktische Anwendung der KDE-Sprachausgabe API.

KDE
Zugänglichkeit
kdeaccessibility
TTS
Sprachausgabe
KTTSD
kttsmgr
festival
flite
hadifix
MBROLA
freetts
epos
SSML

## Einleitung

&kmyapplication; ist ein Teilsystem in KDE zur Sprachausgabe (TTS). Es stellt eine gemeinsame Anwendungsschnittstelle für KDE-Programmierer bereit, um Ihre Anwendungen mit TTS-Fähigkeiten auszustatten. Auch den Benutzern bietet es interessante Möglichkeiten.

Eigenschaften für Benutzer:

- Sprachausgabe des Inhalts einer Textdatei.

- Sprachausgabe von KDE Nachrichten (KNotify).

- Sprachausgabe von Texten einer Webseite ganz oder teilweise im Konqueror.

- Sprachausgabe von Texten im Kate-Texteditor ganz oder teilweise, auch wenn Kate in andere KDE-Anwendungen eingebettet ist.

- Ein langer Text wird in einzelne Sätze zerlegt. Der Benutzer kann Sätze oder Abschnitte wieder sprechen lassen, die Ausgabe anhalten und abbrechen.

- Audioausgabe über aRts oder GStreamer (Version 0.8.7 oder neuer)

- Einstellbare Filter, um falsch gesprochene Worte zu ersetzen, Sprachsynthesizer auszuwählen und XML-Dokumente umzuwandeln.

Eigenschaften für Programmierer:

- Prioritätssystem für Bildschirmausgaben, Warnungen und Nachrichten, während immer noch normaler Text gesprochen wird.

- Auf Plugins beruhende Architektur mit Unterstützung einer großen Anzahl von Sprachsynthesizern und Treibern.

- Ermöglicht die Erzeugung von Sprachausgaben auf der Befehlszeile (oder in einem Shell-Script) über KDE DCOP.

- Stellt für Anwendungen eine einfach zu benutzende Schnittstelle für die Sprachausgabe bereit.

- Anwendungen müssen keine Einzelheiten über das Sprachausgabegerät wissen.

- IN ZUKUNFT: Unterstützung für Speech Markup Sprachen wie VoiceXML, Sable, Java Speech Markup Language (JSML), und Speech Markup Meta-Sprache (SMML).

- IN ZUKUNFT: Eingeschränkte Unterstützung für eingebettete Sprachlesezeichen.

- Asynchron zur Vermeidung von Systemblockaden.

&kmyapplication; besteht zur Zeit aus mehreren Programmen:

`kttsd`

  Der KDE Sprachausgabe-Dienst, eine Anwendung ohne sichtbare Fenster, die TTS Dienste über DCOP anbietet.

`kttsmgr`

  Eine Anwendung mit Dialogfenstern zur Konfiguration und Einrichtung von kttsd über kttsmgr in der Systemleiste.

`libkhtmlkttsdplugin`

  Ein Plugin für den Konqueror-Webbrowser, das die Sprachausgabe des Textes einer Webseite ganz oder teilweise ermöglicht.

`ktexteditor_kttsd`

  Ein Plugin für den Kate-Texteditor, um eine Textdatei ganz oder teilweise vorzulesen.

### Unterstützung

Zusätzlich zur KDE Bugzilla Datenbank (http://bugs.kde.org/) findet die Diskussion über &kmyapplication; in der kde-accessibility Mailingliste statt. Abonnieren können Sie die Liste über https://mail.kde.org/mailman/listinfo/kde-accessibility. Die Entwickler finden Sie auch im IRC (irc.kde.org, Kanal #kde-accessibility).

## Arbeiten mit &kmyapplication;

Ehe Sie &kmyapplication; nutzen können, müssen Sie mindestens ein Sprachsynthesizer-System installieren und richtig einstellen. Siehe auch

### Start des `kttsmgr`

Zum Start des &kmyapplication;-Systems geben Sie folgenden Befehl in einer Konsole ein

`kttsmgr`

oder klicken Sie im KDE-Menü auf &kmyapplication;.

Beim ersten Start von `kttsmgr` oder wenn noch keine Sprecher eingerichtet sind, wird die Karteikarte Sprecher angezeigt. Siehe auch . Wenn Sie mindestens einen Sprecher eingerichtet haben, dann wird die Karteikarte Allgemein angezeigt. Siehe .

### Auswahl der Synthesizer-Plugins (Sprecher)

Wenn Sie auf den Karteikartenreiter Sprecher in `kttsmgr` klicken, wird die Karteikarte Sprecher angezeigt.

Die KDE Sprachausgabe-Verwaltung (Karteikarte Sprecher) Die KDE Sprachausgabe-Verwaltung (Karteikarte Sprecher)

Klicken Sie hier, um neue Sprecher (Sprachsynthesizer-Plugins) hinzuzufügen.

Alle bereits eingerichteten Sprecher erscheinen in dieser Liste. Die bevorzugten Sprecher erscheinen oben in der Liste. Der oberste Sprecher wird für die Sprachausgabe benutzt, wenn eine Anwendung keinen besonderen Sprecher vorgibt.

Wählen Sie mit einem Mausklick einen Sprecher aus der Liste und klicken Sie auf diesen Knopf, um den Sprecher aus der Liste zu entfernen.

Wählen Sie mit einem Mausklick einen Sprecher aus der Liste und klicken Sie auf diesen Knopf, um den Einstellungsdialog für das Synthesizerplugin zu öffnen.

Wählen Sie mit einem Mausklick einen Sprecher aus der Liste und klicken Sie auf diesen Knopf, um den Sprecher in der Liste eine Zeile weiter nach unten schieben. Die Reihenfolge der Sprecher in der Liste bestimmt auch ihre Priorität.

Klicken Sie auf einen dieser Knöpfe, um Ihre Änderungen auf das laufende &kmyapplication;-System anzuwenden.

Wenn Sie auf Hinzufügen klicken, wird die Karteikarte Sprecher hinzufügen angezeigt.

Karteikarte Sprecher hinzufügen. Karteikarte Sprecher hinzufügen

Sie können ein Sprachsynthesizer-Plugin entweder über den Namen des Synthesizers oder über die Sprache, die der Synthesizer sprechen kann, auswählen. Beachten Sie die Auswahlknöpfe neben den zugehörigen Auswahlfeldern. Wenn Sprache ausgewählt ist, zeigt das Auswahlfeld Sprache alle Sprachen an, die von den vorhandenen Sprachsynthesizern unterstützt werden, und im Auswahlfeld Synthesizer erscheinen nur die Synthesizer, die auch die gewählte Sprache unterstützen. Wenn Sie Synthesizer wählen, zeigt das Auswahlfeld Synthesizer alle vorhandenen Synthesizer, und im Auswahlfeld Sprache werden nur die Sprachen angezeigt, die auch vom gewählten Synthesizer unterstützt werden.

Wählen Sie Sprache und Synthesizerplugin hier.

Wenn Sie hier klicken, werden die meisten Synthesizer automatisch in der Standardeinstellung eingerichtet. Ein neuer Sprecher erscheint auf der Karteikarte Sprecher. Um die Einstellungen dieses Sprechers anzuzeigen oder zu bearbeiten, klicken Sie auf Bearbeiten. Siehe .

Sie müssen mindestens einen Sprecher einrichten und auf Anwenden oder OK klicken, um &kmyapplication; zu starten und die Sprachausgabe nutzen zu können. Zum Start des &kmyapplication;-Systems klicken Sie auf den Karteikartenreiter Allgemein und wählen Sie dann Sprachausgabe aktivieren (KTTSD). Siehe .

### Einrichtung der Synthesizer-Plugins (Sprecher)

Wenn Sie auf der Karteikarte Sprecher auf Hinzufügen klicken, und damit einen Sprecher in die Liste einfügen oder auf Bearbeiten klicken, wird die Karteikarte Sprecher-Einrichtung angezeigt. Als Beispiel wird im folgenden die Einrichtung des Plugins Festival Interactive gezeigt. Einzelheiten zu jedem einzelnen Plugin finden Sie unter .

Sprecher-Einrichtung Sprecher-Einrichtung

Geben Sie den Pfad zum ausführbaren Festivalprogramm ein. Wenn Festival in Ihrer Pfad-Umgebungsvariablen enthalten ist, müssen Sie nur `festival` eingeben .

Klicken Sie zur Suche nach verfügbaren Stimmen.

Wählen Sie eine Stimme.

Klicken Sie hier zum Testen und Sie sollten die Sprachausgabe eines Testsatzes hören.

Mit diesen Schiebereglern stellen Sie Lautstärke, Sprechgeschwindigkeit und Tonhöhe der synthetischen Sprache ein. Wenn Sie einige Regler nicht auswählen können und sie grau angezeigt werden, lässt die von Ihnen gewählte Stimme solche Einstellungen nicht zu.

Einige Stimmen wie MultiSyn-Stimmen brauchen wegen ihrer Größe mehrere Sekunden um geladen zu werden. Wenn Sie dieses Feld ankreuzen, werden diese Stimmen bereits beim Start von KTTSD geladen, so das (bei größerem Speicherverbrauch) der erste Satz schneller synthetisiert wird.

Klicken Sie auf den Knopf OK, um die Einstellungen der Sprecher zu speichern.

Klicken Sie auf Anwenden, sonst werden Ihre Änderungen nicht vom laufenden &kmyapplication;-System übernommen.

Wenn der Test funktioniert hat, können Sie &kmyapplication; schon fast benutzen. Gehen Sie zurück zur Karteikarte Allgemein und überprüfen Sie, ob Sprachausgabe aktivieren (KTTSD) angekreuzt ist, damit der KDE-TTS-Dienst startet. Siehe . Jetzt können Sie &kmyapplication; benutzen, um Text sprechen zu lassen. Klicken Sie auf die Karteikarte Aufträge, um Textaufträge zu erstellen und zu verwalten. Siehe .

### Start von KTTSD und allgemeine Einrichtung

Wenn Sie mindestens einen Sprecher eingerichtet haben, können Sie das KDE-Sprachausgabesystem starten. Klicken Sie auf den Karteikartenreiter Allgemein, um diese Karteikarte zu öffnen. Hier können Sie einige allgemeine Optionen einstellen.

Die KDE Sprachausgabe-Verwaltung (Karteikarte Allgemein). Die KDE Sprachausgabe-Verwaltung (Karteikarte Allgemein)

Kreuzen Sie dieses Feld an, um das &kmyapplication;-System zu aktivieren. Dies startet den KDE-TTS-Dienst (KTTSD). Ist dieser Start erfolgreich, wird die Karteikarte Aufträge angezeigt und Sie können Textaufträge erstellen und vorlesen lassen. Siehe . Entfernen Sie das Kreuz, wird KTTSD angehalten und das KDE-TTS-System ausgeschaltet.

Wenn dieses Ankreuzfeld nicht ausgewählt werden kann, haben Sie noch keinen Sprecher eingerichtet (oder vergessen, auf Anwenden zu klicken). Siehe .

Kreuzen Sie dieses Feld an, um KDE-Nachrichten sprechen zu lassen. Siehe für weitere Informationen.

Kreuzen Sie diese Feld an, um nur KDE-Nachrichten, die in einen Meldungsfenster angezeigt werden, sprechen zu lassen.

Kreuzen Sie dieses Feld an, um KDE-Nachrichten, die in einen passiven Meldungsfenster angezeigt werden, sprechen zu lassen.

Ist dieses Feld angekreuzt ist, wird ein Symbol in der Systemleiste angezeigt, wenn `kttsmgr` läuft,. In diesem Fall beendet der Klick auf OK oder Beenden nicht `kttsmgr`, aber die Karteikarte wird ausgeblendet und `kttsmgr` läuft weiter in der Systemleiste. Ein Klick auf das Symbol in der Systemleiste zeigt die Karteikarte wieder an. Um `kttsmgr` zu beenden, klicken Sie mit der rechten Maustaste auf das Symbol und wählen dann Beenden. Ist das Feld nicht angekreuzt, erscheint auch kein Symbol in der Systemleiste. Dann beendet ein Klick auf OK oder Beenden `kttsmgr`.

Wenn `kttsmgr` beendet wird, läuft &kmyapplication; weiter, sofern das Feld Sprachausgabe aktivieren (KTTSD) angekreuzt ist.

Diese Option wirkt sich erst beim nächsten Start von `kttsmgr` aus.

Diese Option ist unwirksam, wenn `kttsmgr` im KDE Kontrollzentrum läuft.

Ist dieses Feld angekreuzt, wird die Karteikarte `kttsmgr` bei Start von `kttsmgr` angezeigt, ansonsten wird beim Start nur das Symbol `kttsmgr` in der Systemleiste angezeigt, aber keine Karteikarte. Klicken Sie dann auf das Symbol in der Systemleiste und die Karteikarte erscheint.

Klicken Sie hier um Ihre Einstellungen zu speichern.

### Textaufträge verwalten

Wenn Sie auf den Karteikartenreiter Aufträge im `kttsmgr` klicken, wird die Karteikarte Aufträge angezeigt.

Die KDE Sprachausgabe-Verwaltung (Karteikarte Aufträge). Die KDE Sprachausgabe-Verwaltung (Karteikarte Aufträge)

Mit den Knöpfen auf dieser Werkzeugleiste können Sie Textaufträge starten, löschen und anhalten. Wählen Sie einen Auftrag aus der unten angezeigten Liste und klicken dann auf einen diese Knöpfe.

Mit den Knöpfen auf dieser Werkzeugleiste können Sie Satzweise im Auftrag, der in der Liste unten ausgewählt ist, vor- oder zurückgehen. (Aber nicht jeder Auftrag besteht aus mehreren Sätzen).

Mit den Einträgen auf dieser Werkzeugleiste können Sie den aktuellen Text in der KDE-Zwischenablage sprechen lassen oder eine Textdatei zum Vorlesen öffnen. Sie können außerdem die Liste der Textaufträge neu einlesen.

Der gerade gesprochene Satz wird hier angezeigt. Reicht der Platz zur Anzeige nicht aus, ändern Sie die Größe des Feldes durch Ziehen an der Fensterteilung.

Mit einem Klick auf OK werden alle Änderungen der Einstellungen auch auf den anderen Karteikarten übernommen und `kttsmgr` wird zum Symbol in der Systemleiste verkleinert. Klicken Sie dann auf dieses Symbol, um diese Karteikarte wieder anzuzeigen.

Die Karteikarte Aufträge wird nur angezeigt, wenn KTTSD gestartet wurde. Wird die Karteikarte Aufträge nicht angezeigt, klicken Sie auf den Karteikartenreiter Allgemein und kreuzen dort Sprachausgabe aktivieren (KTTSD) an.

### Audio-Einstellungen

Wenn Sie auf den Karteikartenreiter Audio in `kttsmgr` klicken, wird die Karteikarte Audio angezeigt.

Die KDE Sprachausgabe-Verwaltung (Karteikarte Audio). Die KDE Sprachausgabe-Verwaltung (Karteikarte Audio)

Wählen Sie hier die Art der Audio-Ausgabe. Wenn GStreamer nicht ausgewählt werden kann, wurde entweder &kmyapplication; ohne Unterstützung für GStreamer kompiliert oder &kmyapplication; konnte die notwendigen GStreamer-Bibliotheken nicht laden.

Wenn Gstreamer für die Audioausgabe benutzt werden soll, wählen Sie hier den GStreamer Audio-Ausgang. Wenn keine Ausgangsmodule in der Liste angezeigt werden, müssen Sie mindestens ein Modul installieren. Siehe auch

Stellen Sie die Sprechgeschwindigkeit hier ein. 50% ist etwa halb so langsam und 200% etwa doppelt so schnell wie normal. Damit diese Einstellungen umgesetzt werden können, müssen Sie das Programm `sox` installiert haben.

Wenn Sie dieses Feld ankreuzen, kopiert &kmyapplication; temporäre Audiodateien (.wav-Dateien) in den angezeigten Ordner. Wählen Sie dafür einen beliebigen Ordner auf Ihrer Festplatte, Sie müssen aber die Schreibberechtigung dafür haben. Damit können Sie Audiodateien mit Texten auch für andere Anwendungen erzeugen. Diese Dateien haben dann Namen wie `kttsd-J-SS`, dabei ist `J` die Auftragsnummer und `SS` die Satznummer. Vorhandene Dateien mit gleichem Namen werden überschrieben. Vergessen Sie nicht, dieses Kreuz wieder zu entfernen oder Ihre Festplatte wird schnell voll werden.

Klicken Sie auf Anwenden, um die neuen Einstellungen auf den laufende &kmyapplication;-System zu übernehmen.

Es gibt zwei Möglichkeiten, die Sprechgeschwindigkeit in &kmyapplication; einzustellen. Viele Sprecher haben eine Einstellung für Geschwindigkeit in ihrem Einstellungsdialog, den Sie mit einem Klick auf Bearbeiten auf der Karteikarte Sprecher erreichen. Diese Einstellung der Geschwindigkeit auf der Karteikarte Audio wirkt zusätzlich zur Einstellung der Sprechergeschwindigkeit und kann immer benutzt werden, auch wenn der Sprecher keine Einstellung der Geschwindigkeit zulässt. Dafür müssen Sie das Programm `sox` auf Ihren System installieren (Debian Nutzer: `apt-get install sox`). Aber diese Einstellung wird nicht benutzt, wenn Sie Text mit SSML vorlesen lassen. (Siehe )

### Filter

Filter sind erweiterte Fähigkeiten von &kmyapplication;. Für die grundlegenden Funktionen von &kmyapplication; sind Filter nicht erforderlich.

In Filtern wird Text bearbeitet, ehe er zum Sprachsynthesizer geschickt wird. Sie sind nützlich für Erweiterungen der Sprache, um falsch gesprochene Worte oder Abkürzungen zu ersetzen, um eine passende Sprache und Sprecher auszuwählen oder um bestimmte Mängel von Sprachsynthesizern und deren Stimmen zu beheben.

Um die Arbeitsweise von Filtern zu verstehen, ist es wichtig zu wissen, wie &kmyapplication; mit einem Text arbeitet. &kmyapplication; unterscheidet vier Arten von Texten.

- Ausgabe von Bildschirmlesern

- Warnungen

- Nachrichten

- Textaufträge

Die Art des Textes wird durch die Anwendung bestimmt, die den Text an &kmyapplication; schickt. Ausgaben von Bildschirmlesern werden von Programmen für Blinde oder sehbehinderte Menschen erzeugt. Dies wird vorrangig gesprochen und unterbricht jede andere Art von Text. Warnungen und Nachrichten sind kurze Meldungen, die Ihnen wichtige Informationen geben. Sie unterbrechen Textaufträge. Warnungen haben eine höhere Priorität als Nachrichten. KMouth zum Beispiel ist ein Programm, das Nachrichten als Sprachausgabe erzeugt, ebenso wie KNotify. Alles andere sind normale Textaufträge wie jeder Auftrag, den Sie auf der Karteikarte Aufträge eingeben. KSayit ist ein Beispiel für ein Programm mit Textaufträgen. Textaufträge sind für längere und nicht dringende Sprachausgaben vorgesehen.

Zuerst müssen Sie wissen, das Filter auf normale Textaufträgen und KDE-Nachrichten angewendet werden. Alle Ausgaben von Bildschirmlesern und Warnungen werden durch Filter nicht beeinflusst.

Es gibt zwei Arten von Filtern - normale Filter und Satzgrenzenerkennungs(SBD)-Filter. SBDs unterteilen Text in einzelne Sätze. Damit kann &kmyapplication; eher mit dem Vorlesen anfangen, da nur der erste Satz synthetisiert werden muss, nicht der ganze Textauftrag. Damit können Sie außerdem Satzweise auf der Karteikarte Aufträge vor- oder zurückspringen oder anhalten und abbrechen, auch wenn der Sprachsynthesizer dies nicht direkt unterstützt.

Normale Filter bearbeiten den Text und geben ihn an den nächsten Filter weiter. Zur Zeit gibt es drei Arten von normalen Filtern.

- Zeichenkettenersetzer

- XML-Umformer

- Sprecherauswahl

Filter sind als Plugins ausgeführt. In Zukunft kann es noch weiter Arten von Filtern geben.

Zeichenkettenersetzer ersetzen Teile eines Textes mit anderem Text. Die zu ersetzenden Teile können Sie entweder als Wort oder als reguläre Ausdrücke angeben. &kmyapplication; wird mit vordefinierten Zeichenkettenersetzer-Filtern für Abkürzungen, für Chat Emoticons wie ":-)" oder für die Umformatierung von Nachrichten aus Konversation oder KMail in eine besser verständliche Form ausgeliefert.

XML-Umformer übersetzen XML mit XML Style Language - Transforms (XSLT) Dateien von einem Format in ein anderes Format. &kmyapplication; bringt eine XSLT-Datei mit zur Übersetzung von XHTML in SSML, aber das ist zur Zeit noch in der Erprobungsphase.

Mit Sprecherauswahl-Filtern können Sie Aufträge abhängig vom Inhalt des Textes an einen Sprecher schicken, oder abhängig von dem Programm, das den Text an &kmyapplication; geschickt hat. Wenn Sie zum Beispiel auf der Karteikarte Sprecher eine weibliche Stimme eingestellt haben, können Sie Text von KDE-Nachrichten darüber vorlesen lassen. Siehe .

Jeder dieser verschiedenen Filter hat einstellbare Regeln, nach denen er für eine Sprachausgabe angewendet wird. Wenn der Filter feststellt, dass seine Regeln nicht zutreffen, gibt er den Text unverändert an den nächsten Filter weiter.

Wenn ein Textauftrag oder eine KDE-Nachricht an &kmyapplication; geschickt wird, durchläuft der Text jeden aktiven Filter, der auf der unten gezeigten Karteikarte eingerichtet wurde. Die Filter werden in der Reihenfolge von oben nach unten abgearbeitet. Danach gehen nur Textaufträge weiter zu den Satzgrenzenerkennungs(SBD)-Filtern, KDE-Nachrichten jedoch nicht. Anders als bei normalen Filtern beendet der erste SBD-Filter, der den Text ändert, die weitere Bearbeitung durch andere Filter.

Klicken Sie auf den Karteikartenreiter Filter in `kttsmgr`, um Filter einzurichten.

Die KDE Sprachausgabe-Verwaltung (Karteikarte Filter) Die KDE Sprachausgabe-Verwaltung (Karteikarte Filter)

Dies zeigt die Liste der eingerichteten normalen Filter. Wenn Sie einen Filter nicht angekreuzt haben, ist er nicht aktiviert und wird nicht benutzt. Beim ersten Start von &kmyapplication; wird automatisch ein Filter von jeder Art eingefügt, aber alle sind nicht aktiviert. Filter werden der Reihe nach von oben nach unten abgearbeitet.

Klicken Sie hier, um einen neuen Filter einzufügen. Wählen Sie die Art des Filter aus und es werden die weiter unten folgenden Einrichtungsdialoge angezeigt.

Klicken Sie hier, um einen Filter zu entfernen. Der letzte Filter einer Art kann nicht entfernt werden, er wird nur inaktiviert.

Um die Einstellungen für einen Filter zu ändern, klicken Sie hier. Es werden die weiter unten folgenden folgenden Einrichtungsdialoge angezeigt.

Mit einem Klick auf diese Knöpfe können Sie einen Filter in der Liste nach oben oder unten verschieben.

Hier sehen Sie die Satzgrenzenerkennungs-Filter. Beim ersten Start von &kmyapplication; wird als Vorgabe ein Satzgrenzenerkennungs-Filter automatisch eingerichtet. Sie können dessen Einstellungen verändern oder weitere Satzgrenzenerkennungs-Filter hinzufügen, Anfängern wird aber davon abgeraten.

Mit diesem Knopf können Sie Satzgrenzenerkennungs-Filter hinzufügen, entfernen, bearbeiten, oder ihre Reihenfolge ändern.

Klicken Sie hier, sonst werden Ihre Einstellungen nicht übernommen.

#### Einrichtung der Zeichenkettenersetzungs-Filter.

Für die Einrichtung von Zeichenkettenersetzungs-Filtern müssen Sie eine Liste von Worten oder regulären Ausdrücken als Vergleichsmuster eingeben. Werden diese Muster im Text gefunden, dann wird der Text gegen den zugehörigen Ersatztext ausgetauscht. Groß- und Kleinschreibung wird beim Vergleich nicht beachtet.

Zeichenkettenersetzer Zeichenkettenersetzer

Geben Sie für Ihren Filter einen Namen ein. Diesen Namen können Sie beliebig wählen, er muss sich nur von den Namen der anderen Filter unterscheiden.

Dies ist die Liste der Worte und regulären Ausdrücke. Der Filter vergleicht den Text mit den Zeichenketten in der Spalte Übereinstimmung und ersetzt ihn bei Übereinstimmung mit der Zeichenkette aus der Spalte Ersetzen durch.

Klicken Sie hier, um ein anderes Wort oder einen regulären Ausdruck in die Liste einzufügen.

Klicken Sie hier, um das markierte Wort oder den regulären Ausdruck in der Liste nach oben oder unten zu verschieben. Die Liste wird in der Reihenfolge der Anzeige von oben nach unten abgearbeitet.

Klicken Sie hier, um ein vorhandenes Wort oder einen regulären Ausdruck in der Liste zu ändern.

Klicken Sie hier, um das markierte Wort oder den regulären Ausdruck aus der Liste zu entfernen.

Mit diesen Knöpfen können Sie eine Liste von Worten oder regulären Ausdrücken aus einer Datei laden, die aktuelle Liste speichern oder löschen. Laden Sie eine Liste aus einer Datei, werden die Einträge aus der Datei an die vorhandene Liste angehängt.

Ist hier eine Sprache eingetragen, wird der Filter nur angewendet, wenn der Sprecher für den Textauftrag eine der hier eingetragenen Sprachen spricht. Klicken Sie auf den Knopf, um eine Liste der Sprachen anzeigen zu lassen. Sie können auch mehrere Sprachen auswählen, wenn Sie beim Mausklick gleichzeitig die &Ctrl;-Taste gedrückt halten.

Ist hier ein Wert eingegeben, wird der Filter nur angewendet, wenn der Text von einer der angegebenen Anwendungen kommt. Sie können mehrere Programme getrennt durch Kommata eingeben. Beispiel: ``knotify, konversation``

Die Anwendungs-ID laufender Programme erhalten Sie mit dem Programm `kdcop`. Die DCOP-Nummern müssen Sie weglassen. Wenn zum Beispiel kdcop die Anwendungs-ID `kopete-3432` anzeigt, dürfen Sie nur ``kopete`` eingeben.

Der Zeichenkettenersetzungs-Filter wird nur dann auf den Text angewendet, wenn alle Bedingungen mit einem Eintrag im Kasten Diesen Filter anwenden bei zutreffen.

Alle Vergleiche beachten Klein- und Großschreibung.

Beim Vergleich von Worten benutzt der Zeichenkettenersetzungs-Filter reguläre Ausdrücke in der Form `\s`Wort`\s`. Die Worte müssen also durch Trennzeichen (Leerzeichen) beidseitig begrenzt sein.

In diesem Handbuch finden Sie keine Anleitung zum Schreiben von regulären Ausdrücken. Wenn Sie aber den KDE-Editor für reguläre Ausdrücke installiert haben, können Sie ihn in den Dialogen Hinzufügen oder Bearbeiten als Hilfe zum Schreiben dieser Ausdrücke aufrufen. Den KDE-Editor für reguläre Ausdrücke finden Sie im Paket `kdeutils`.

&kmyapplication; enthält einige Dateien mit Wortlisten, unter anderem eine Liste mit Emoticons wie ":-)", einige Abkürzungen für IRC oder Messaging-Programme und Listen mit anderen Abkürzungen. Es gibt auch eine Liste mit Sonderzeichen für Probleme mit der aktuellen Version der polnischen Festival-Stimme. Wenn Sie eigene Wortlisten erstellen, können Sie sie mit Speichern in eine Datei schreiben und sie an das &kmyapplication;-Team schicken, das die Listen dann in die nächste Version aufnimmt.

#### Einrichtung der XML-Umformer-Filter.

XML-Umformer übersetzen XML mit XSLT-Dateien von einem Format in ein anderes Format. XSLT (XML Style Language - Transforms) ist ein W3C-Standard für solche Umformungen. Es kann aber nur auf regelrecht geschriebenes XML angewendet werden.

XML-Umformer XML-Umformer

Geben Sie für Ihren Filter einen Namen ein. Diesen Namen können Sie beliebig wählen, er muss sich nur von den Namen der anderen Filter unterscheiden.

Geben Sie den vollständigen Pfad zu der vorhandenen XSLT-Datei für die Umwandlung ein.

Geben Sie den Pfad für das Programm `xsltproc` ein. Wenn xsltproc in Ihrem eingestellten Pfad liegt, reicht auch ``xsltproc``.

Der Filter wird, wenn hier ein Wert eingegeben ist, auf XML-Dateien mit dem angegebenen Wurzelelement angewendet. Dieses Element unterscheidet eine Form von XML von der Anderen.

Wenn hier ein Wert angegeben ist, wird der Filter nur auf XML-Dateien mit einer `<!DOCTYPE` Spezifikation mit dem eingegebenen Text an Anfang angewendet. Zum Beispiel ``html`` passt auf `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >`.

Ist hier ein Wert eingegeben, wird der Filter nur angewendet, wenn der Text von einer der angegebenen Anwendungen kommt. Sie können mehrere Programme getrennt durch Kommata eingeben. Beispiel: ``knotify, konversation``

Die Anwendungs-ID laufender Programme erhalten Sie mit dem Programm `kdcop`. Die DCOP-Nummern müssen Sie weglassen. Wenn zum Beispiel kdcop die Anwendungs-ID `kopete-3432` anzeigt, dürfen Sie nur ``kopete`` eingeben.

Der XML-Umformer-Filter wird nur dann auf den Text angewendet, wenn alle Bedingungen mit einem Eintrag im Kasten Diesen Filter anwenden bei zutreffen.

#### Einrichtung der Sprecherauswahl-Filter.

Mit dem Sprecherauswahl-Filter können Sie Texte an einen bestimmten Sprecher schicken, der auf der Karteikarte Sprecher eingerichtet ist, oder an einen Sprecher mit bestimmten Eigenschaften. Sie können zum Beispiel festlegen, das Texte von `knotify` von einer weiblichen Stimme gesprochen werden sollen.

Bevor &kmyapplication; einen Text an die Filter übergibt, sucht es einen Sprecher für den Text. Der Sprecher wird nach den Sprecher-Eigenschaften, die das Programm vorgibt, das den Text an &kmyapplication; schickt, und den Eigenschaften des auf der Karteikarte Sprecher eingerichteten Sprechers bestimmt. Mit dem Sprecherauswahl-Filter können Sie den gewählten Sprecher überschreiben.

Sprecherauswahl Sprecherauswahl

Geben Sie für Ihren Filter einen Namen ein. Diesen Namen können Sie beliebig wählen, er muss sich nur von den Namen der anderen Filter unterscheiden.

Ist hier ein Wert eingetragen, wird der Filter angewendet, falls der Text den eingegebenen regulären Ausdruck enthält. Wenn Sie den KDE-Editor für reguläre Ausdrücke installiert haben, können Sie ihn mit einem Klick auf den Knopf aufrufen, um Hilfe bei der Eingabe zu erhalten.

Für eine bessere Leistung "verankern" Sie den regulären Ausdruck am Anfang der Zeichenkette, d. h. beginnen Sie den regulären Ausdruck mit ``^``.

Ist hier ein Wert eingegeben, wird der Filter nur angewendet, wenn der Text von einer der angegebenen Anwendungen kommt. Sie können mehrere Programme getrennt durch Kommata eingeben. Beispiel: ``knotify, konversation``

Die Anwendungs-ID laufender Programme erhalten Sie mit dem Programm `kdcop`. Die DCOP-Nummern müssen Sie weglassen. Wenn zum Beispiel kdcop die Anwendungs-ID `kopete-3432` anzeigt, dürfen Sie nur ``kopete`` eingeben.

Bestimmen Sie hier die Eigenschaften des von Ihnen gewünschten Sprechers. Wenn der Text die Bedingungen der oben gezeigten Filter erfüllt, wird der Sprecher ausgewählt, der den gewünschten Anforderungen am Besten entspricht. Mit Klicken auf diesem Knopf können Sie eine Sprache wählen.

In der gleichen Weise bestimmen Ihre Vorgaben hier die Eigenschaften der von Ihnen gewünschten Sprecher. Es ist nicht notwendig, alle Eigenschaften anzugeben.

Mit diesen Ankreuzfeldern können Sie festlegen, das die angekreuzten Eigenschaften mehr als die nicht angekreuzten bewertet werden.

Der Sprecherauswahl-Filter wird nur dann auf den Text angewendet, wenn alle Bedingungen mit einem Eintrag im Kasten Diesen Filter anwenden bei zutreffen.

Die Eigenschaft Sprache verdient besondere Aufmerksamkeit, weil Text wahrscheinlich unverständlich ist, wenn er von einem Sprecher vorgelesen wird, dessen Sprache von der Sprache des Textes abweicht. Daher ist Sprache immer eine bevorzugte Eigenschaft. Wenn Sie eine Sprache vorgeben, wird die voreingestellte Sprache überschrieben, ansonsten wird die in &kmyapplication; gewählte Sprache benutzt. Wenn eine Anwendung, die Text an &kmyapplication; schickt, keine Sprache vorgibt, wählt &kmyapplication; die Sprache des ersten Sprechers in der Liste auf der Karteikarte Sprecher. Die anderen Eigenschaften werden überschrieben. Wenn Sie also die Eigenschaft Geschwindigkeit nicht angeben, findet die Sprecherauswahl den am Besten passenden Sprecher unabhängig von der Sprechgeschwindigkeit.

Am einfachsten lernen Sie die Einrichtung der Sprecher-Auswahl durch Ausprobieren. Schalten Sie die Sprecher-Auswahl ab und geben Sie Text zum Vorlesen ein. Überprüfen Sie auf der Karteikarte Aufträge, welchen Sprecher &kmyapplication; auswählt. Schalten Sie die Sprecher-Auswahl wieder ein, ändern Sie einige Eigenschaften und prüfen Sie, wie sich die Auswahl des Sprechers verändert. Dazu müssen Sie natürlich mehr als einen Sprecher eingerichtet haben, sonst ist der Filter unwirksam.

#### Einrichtung der Satzgrenzenerkennungs-Filter.

Satzgrenzenerkennungs(SBD)-Filter teilen Text in einzelne Sätze. Das ist wichtig, weil

- &kmyapplication; dann schneller mit dem Vorlesen beginnen kann, da nur der erste Satz synthetisiert werden muss und nicht der ganze Textblock, was sehr lange dauern kann, und weil

- Sie dann Texte mit SSML Satzweise vor- und zurückspulen können mit der Karteikarte Aufträge und weil

- Sie Textaufträge dann in der Karteikarte Aufträge anhalten oder abbrechen können, auch wenn der Sprachsynthesizer das nicht unterstützt.

Aus diesen Gründen wird der normale Satzgrenzenerkennungs-Filter automatisch eingerichtet, wenn Sie `kttsmgr` zum ersten Mal starten. Er kann nicht abgeschaltet, nur entfernt werden. Ändern Sie nichts an diesem Filter, es sei denn, Sie wissen was Sie tun.

Sie können aber zusätzliche SBD-Filter hinzufügen, um bestimmte Probleme zu lösen. Die polnische Festival-Stimme vom Februar 2005 hat zum Beispiel die lästige Eigenschaft, die Satzzeichen wie den Punkt am Ende eines Satzes auch mit vor zu lesen. Dieses Problem können Sie nicht mit einem Zeichenkettenersetzungs-Filter für das Löschen der Punkte lösen, da dann der normale SBD-Filter keine Sätze mehr erkennt. Verwenden Sie statt dessen eine geänderte Version des normalen SBD-Filter, die gleichzeitig Satzgrenzen erkennt und entfernt. Dazu fügen Sie dafür einen zusätzlichen SBD-Filter ein und klicken auf Laden, um die mitgelieferte Datei `polish_festival_sbdrc` zu laden.

Satzgrenzenerkennungs-Filter vergleichen mit einem regulären Ausdruck für das Satzende und fügen ein Tabulatorzeichen (dezimal 8) an den Satzgrenzen ein (Tabulatorzeichen werden vor dem Filtern automatisch aus dem Text entfernt). Die normalen Satzgrenzenerkennungs-Filter verändern nicht die Satzzeichen.

SBD-Filter werden nie auf KDE-Nachrichten (knotify) angewendet.

Wenn Sie aus Versehen den normalen Satzgrenzenerkennungs-Filter entfernt haben, können Sie ihn wieder einfügen, indem Sie die in &kmyapplication; enthaltene Datei `standard_sbdrc` laden.

### Einrichtung der Textunterbrechung

Wenn Sie auf die Karteikarte Unterbrechung in `kttsmgr` klicken, öffnet sich die Karteikarte Unterbrechung.

Die KDE Sprachausgabe-Verwaltung (Karteikarte Unterbrechung). Die KDE Sprachausgabe-Verwaltung (Karteikarte Unterbrechung)

Auf dieser Karteikarte können Sie besondere Aktionen einrichten, die immer dann ausgeführt werden, wenn der Textauftrag von einer Nachricht mit höherer Priorität unterbrochen wird. &kmyapplication; verarbeitet vier Arten von Sprachaufträgen:

- Normalen Text

- Nachrichten

- Warnungen

- Ausgabe von Bildschirmlesern

Die Ausgabe von Bildschirmlesern hat die höchste Priorität. Die Ausgabe von Bildschirmlesern wird allen anderen Aufträgen vorgezogen und hält diese Aufträge an. Wenn die Ausgabe der Bildschirmleser gesprochen ist, werden die angehaltenen Aufträge wieder aufgenommen.

Warnungen haben die nächste Priorität. Diese Stufe ist wichtigen Nachrichten wie z. B. "Prozessor wird zu heiß" vorbehalten. Eine Warnung wird die Ausgabe von Nachrichten und normalem Text anhalten. Diese Aufträge werden nach der Ausgabe der Warnung wieder fortgesetzt.

Nachrichten haben die nächste Priorität. Eine Nachricht unterbricht normalen Text. KMouth ist ein Beispiel für eine Anwendung, die Nachrichten ausspricht. Wenn Sie z. B. einen langen Text auf einer Webseite vorlesen lassen, können Sie mit KMouth jemanden begrüßen, der den Raum betritt.

Aller vier Auftragsarten werden in Warteschlangen abgearbeitet, mit Ausnahme der Ausgabe von Bildschirmlesern. Wenn eine Anwendung eine Bildschirmleserausgabe schickt, während &kmyapplication; gleichfalls eine Ausgabe eines anderen Bildschirmlesers bearbeitet, wird diese Ausgabe angehalten und beendet.

Wenn ein Textauftrag durch eine Nachricht, Warnung oder Bildschirmleserausgabe unterbrochen wird, fügt &kmyapplication; die Audioausgabe in die Warteschlange ein.

Immer wenn ein normaler Textauftrag unterbrochen wird, wird diese Nachricht gesprochen.

Diese Audiodatei wird immer dann abgespielt, wenn ein normaler Textauftrag unterbrochen wird. Wenn sowohl Einleitender Klang und auch Einleitende Nachricht gewählt sind, wird der Einleitende Klang vor der Einleitenden Nachricht abgespielt.

Immer wenn ein normaler Textauftrag wieder aufgenommen wird, wird diese Nachricht gesprochen.

Diese Audiodatei wird abgespielt, wenn ein unterbrochener Textauftrag fortgesetzt wird.

Die Einstellungen auf dieser Karteikarte gelten nur für normale Textaufträge. Für Nachrichten, Warnungen und Bildschirmleserausgaben gibt es keine besonderen Aktionen, wenn sie durch eine Nachricht mit höherer Priorität unterbrochen werden.

### Sprachausgabe von Webseiten

Im KDE-Webbrowser Konqueror können Sie den Text auf Webseiten vorlesen lassen. Überprüfen Sie zuerst, ob &kmyapplication; läuft. Markieren Sie dann den Text, der gesprochen werden soll, und wählen Sie im Hauptmenü Werkzeuge Text vorlesen . Nach kurzer Zeit sollte die Sprachausgabe beginnen.

Es ist fast immer sinnvoll, den Text einer Webseite, der gesprochen werden soll, zu markieren. Sie können diesen Schritt auch überspringen, aber dann werden viele HTML-Vorspannzeilen und andere unsichtbare Marken mit gesprochen.

### Sprachausgabe mit dem Kate-Texteditor

Im KDE Advanced Text Editor (Kate) können Sie angezeigten Text vorlesen lassen. Überprüfen Sie zuerst, ob &kmyapplication; läuft. Markieren Sie dann den Text, der gesprochen werden soll, und wählen Sie im Hauptmenü Werkzeuge Text vorlesen . Nach kurzer Zeit sollte die Sprachausgabe beginnen.

Sie müssen nicht erst einen Text markieren, in diesem Fall wird die ganze Datei vorgelesen.

Dies funktioniert auch, wenn Kate in andere Anwendungen eingebettet ist, wie z. B. im Konqueror oder in Quanta.

### Sprachausgabe von Nachrichten (Knotify)

KNotify ist das KDE-Nachrichtensystem, das Sie über Ereignisse, die Sie im KDE-System eingerichtet haben, alarmiert. Sie können diese Nachrichten auch mit &kmyapplication; als Text vorlesen lassen.

In Konversation, dem KDE-IRC-Programm, können Sie verschiedene Arten von Nachrichten einrichten. Sie können zum Beispiel in Konversation einstellen, das Sie benachrichtigt werden, wenn in einem IRC-Kanal eine Nachricht mit Ihrem Nicknamen erscheint. Mit &kmyapplication; können Sie sich dann den IRC-Nachrichtentext vorlesen lassen.

Immer dann, wenn ein KDE-Programm KNotify unterstützt, erscheint ein Menüeintrag Benachrichtigungen im Menü Einstellungen. Die hier möglichen Einstellungen für KNotify unterscheiden sich je nach Anwendung.

Um mit &kmyapplication; KNotify-Nachrichten vorlesen zu lassen, starten Sie `kttsmgr`, klicken auf die Karteikarte Allgemein und kreuzen dann Benachrichtigungen vorlesen (KNotify) an. Klicken Sie dann auf Anwenden.

### SSML

Die Speech Synthesis Markup Language (SSML) ist ein W3C-Standard, um Text für eine Sprachausgabe zu markieren. Diese Standard enthält Marken für die Kontrolle von Stimmen, Sprechgeschwindigkeit, Lautstärke, Geschlecht der Stimme und Tonhöhe. Außerdem Marken für die Kontrolle der Aussprache von Worten, zum Beispiel von Abkürzungen. SSML ist ein Teil der VoiceXML-Spezifikation, einem weiteren W3C-Standard.

Zur Zeit unterstützt &kmyapplication; SSML nur teilweise und nur in den Grundfunktionen. Es gibt zur Zeit folgende Einschränkungen:

- Arbeitet nur mit Festival Interactive und Hadifix Sprechern.

- Sie müssen die `rab_diphone` Stimme (britisch männlich) installieren, da dies die Standardstimme ist, die Festival bei der Ausgabe von SSML benutzt.

- Die Einstellung Geschwindigkeit auf der Karteikarte Audio wird nicht berücksichtigt, wenn Sie Text mit SSML vorlesen lassen.

- Wenn die Einstellungen für Geschwindigkeit oder Tonlage im Festival-Konfigurationsdialog nicht auf 100% eingestellt ist, wird SSML-Text üblicherweise sehr monoton gesprochen.

Mit dem folgenden Beispieltext können Sie mit SSML experimentieren.

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE speak PUBLIC "-//W3C//DTD SYNTHESIS 1.0//EN"
        "http://www.w3.org/TR/speech-synthesis/synthesis.dtd">

    <speak version="1.0" xml:lang="de-DE">
        <prosody pitch="low">
            Wer hat in meinem Bett geschlafen?
        </prosody>
        fragte Papa Bär.
        <prosody pitch="medium">
            Wer hat in meinem Bett geschlafen?
        </prosody>
        fragte Mama Bär.
        <prosody pitch="high">
            Wer hat in meinem Bett geschlafen?
        </prosody>
        fragte das Bärenkind.
    </speak>

Ein bessere Unterstützung von SSML ist für die nächsten Versionen von &kmyapplication; geplant.

## Befehlsreferenz

Muss noch geschrieben werden

## Entwicklerhandbuch für &kmyapplication;

&kmyapplication; hat zwei Schnittstellen für Anwendungsprogrammierer (APIs):

- Die KDE-Sprachausgabe API, mit der Programmierer ihren Anwendungen TTS Fähigkeiten geben können. Anwendungen benutzen KTTSD über DCOP.

- Die KTTSD-Plugin API, mit der Sprachsynthesizer zu KTTSD hinzugefügt werden, so das &kmyapplication; diese Synthesizer benutzen kann.

Der folgende Abschnitt gibt ein kurze Beschreibung der DCOP-Schnittstelle der KDE Sprachausgabe API. Die vollständige Dokumentation für beide APIs finden Sie online auf der KDE Accessibility Webseite (http://accessibility.kde.org).

### Die &kmyapplication;-Schnittstelle zu DCOP

Anwendungen fordern Sprachausgabedienste über die KDE DCOP-Schnittstelle vom Programm `kttsd` mit dem Objekt `KSpeech` an.

Geben Sie die folgende Befehle in einer Konsole ein.

Wenn KTTSD noch nicht gestartet wurde

`kttsd`

Um einen Textauftrag in die Warteschlange zu stellen

`dcop kttsd KSpeech setText "Text" "Sprecher"`

dabei ist `Text` der Text zum Vorlesen und `Sprecher` ein Sprachcode wie z. B. `en`, `de` usw. Dieser Befehl spricht den Text nicht direkt, sondern stellt ihn als Textauftrag in die Warteschlange.

Beispiel:

`dcop kttsd KSpeech setText "Dies ist ein Test." "de"`

Um den letzten Textauftrag aus der Warteschlange vorzulesen

`dcop kttsd KSpeech startText 0`

In diesem Fall steht `0` für den letzten Textauftrag der Warteschlange. Sie können auch eine Auftragsnummer angeben. (Ohne Auftragsnummer ist die Eingabe `0` erforderlich).

Um den gerade gesprochenen Textauftrag anzuhalten

`dcop kttsd KSpeech stopText 0`

Es hängt vom benutzten Sprachplugin ab, ob die Ausgabe sofort anhält.

Es gibt noch mehr Befehle, die Sie einsetzen können. Für eine Liste aller Befehle geben Sie

`dcop kttsd KSpeech`

ein oder lesen Sie die KDE Sprachausgabe API.

## Fragen und Antworten

&reporting.bugs; &updating.documentation;

Ich muss noch einmal von vorne anfangen. Wie kann ich &kmyapplication; vollständig beenden?

Geben Sie die folgenden Befehle in einer Konsole ein:

    killall kttsd
    killall kttsmgr

Wie kann ich die Fehlerausgabe von `kttsd` sehen?

Öffnen Sie zwei Konsolenfenster. Starten Sie erst `kttsd` in einem Fenster, dann `kttsmgr` im anderen.

Ich habe eine zusätzliche Stimme für Festival aus dem Internet geladen. Ich habe sie installiert und kann sie in Festival benutzen, aber `kttsmgr` zeigt diese Stimme nicht an.

Fügen Sie in der Datei `$KDEHOME/share/apps/kttsd/festivalint/voices` die neue Stimme hinzu. Als Anleitung können Ihnen dabei die anderen Einträge dienen. Wenn das erfolgreich ist, schicken Sie bitte einen Patch zusammen mit der URL, auf der Sie die Stimme gefunden haben, an die Entwickler.

Keiner der genannten Sprachsynthesizer unterstützt meine Sprache. Wo kann ich einen Synthesizer für meine Sprache bekommen?

Suchen Sie bei Google(tm). Diese Verknüpfung könnte auch hilfreich sein. Wenn Sie einen freien Synthesizer für Ihre Wunschsprache finden und dafür Unterstützung zu &kmyapplication; hinzufügen wollen, setzen Sie sich mit den Entwicklern in Verbindung. Quelloffene Synthesizer werden besonders gesucht. Wenn Sie einen kommerziellen Synthesizer kennen, können sie versuchen, den Hersteller zu überreden, eine freie Kopie an die &kmyapplication; Entwickler zu geben. Bis dahin können Sie versuchen, den Synthesizer mit dem Befehl-Plugin zu benutzen. Siehe .

## Mitwirkende und Lizenz

&kmyapplication;

Programm Copyright © 2002 José Pablo Ezequiel "Pupeno" Fernández pupeno@kde.org

Aktueller Betreuer: Gary Cramblitt garycramblitt@comcast.net

Mitwirkende:

- Olaf Schmidt ojschmidt@kde.org

- Gunnar Schmi Dt gunnar@schmi-dt.de

- Paul Giannaros ceruleanblaze@gmail.com

Copyright der Dokumentation © 2004 Gary R. Cramblitt garycramblitt@comcast.net

Übersetzung Burkhard Lücklueck@hube-lueck.de

&underFDL; &underGPL;

Die Sprachsynthesizer, die von &kmyapplication; genutzt werden, haben ihre eigene Lizenz, die sie in der zugehörigen Dokumentation oder auf deren Webseiten finden.

## Installation

### Woher Sie &kmyapplication; bekommen

&install.intro.documentation;

(In Zukunft) Debian Installationsbefehl: `apt-get install kdeaccessibility`

Sie finden Quelltexte und übersetzte Pakete auf der KDE Accessibility Webseite (http://accessibility.kde.org).

Wenn Sie Zugriff auf das KDE CVS haben, können Sie das Paket `kdeaccessibility` mit &kmyapplication; darin herunterladen. &kmyapplication; finden Sie im Ordner `kttsd`. Außerdem gibt es jede Nacht ein neues Paket von kdeaccessibility unter ftp://ftp.kde.org/pub/kde/unstable/latest/kdeaccessibility.tar.bz2

### Voraussetzungen

Unbedingt erforderlich:

- KDE Version 3.2 oder neuer.

- Ein Sprachsynthesizer. Die folgenden Synthesizer und Sprachen werden zur Zeit unterstützt.

  Festival | Amerikanisches Englisch, Britisch, Spanisch, Deutsch, Finnisch, Tschechisch, Polnisch, Russisch.
  Festival Lite (flite) | Englisch
  Hadifix (MBROLA und txt2pho) | Deutsch
  Epos | Tschechisch, Slowakisch
  FreeTTS | Englisch

  KTTS arbeitet mit auch mit jedem Sprachsynthesizer, der auf der Befehlszeile in einer Konsole gestartet werden kann.

  Die Liste der oben genannten Sprachen kann unvollständig oder veraltet sein. Überprüfen Sie daher die Beschreibung der Synthesizer zu den unterstützten Sprachen.

  &kmyapplication; benutzt eine anpassungsfähige Plugin-Architektur für Sprachsynthesizer. Wenn Sie &kmyapplication; für die Nutzung eines anderen Synthesizers erweitern möchten, setzen Sie sich mit dem Entwicklerteam in Verbindung.

  Siehe auch zu bestimmten Anweisungen für jeden dieser Sprachsynthesizer.

Zusätzliche Komponenten:

- Das Audio-Programm `sox` wird für die allgemeine Einstellung der Sprechgeschwindigkeit benutzt, ist aber sonst nicht zwingend notwendig. Debian-Nutzer können sox mit dem Befehl `apt-get install sox` installieren. Das Programm ist auf den meisten &Linux;-CDs bereits enthalten.

- Das Programm `xsltproc` wird für die Unterstützung von SSML benutzt, ist aber nicht zwingend notwendig. Debian-Nutzer können xsltproc mit dem Befehl `apt-get install xsltproc` installieren.

- GStreamer Version 0.8.7 oder neuer. &kmyapplication; benutzt normalerweise aRts für die Audioausgabe. Sie können aber auch GStreamer verwenden, wenn es installiert ist. GStreamer erhalten Sie von

  http://gstreamer.freedesktop.org/

### Kompilieren und Installieren

Um &kmyapplication; zu kompilieren brauchen Sie ein aktuelles KDE (Version 3.4 oder neuer) mit den Entwicklungsdateien einschließlich kdelibs und arts.

Haben Sie &kmyapplication; als tarball (mit tar gepacktes Archiv) heruntergeladen, melden Sie sich als normaler Nutzer an und entpacken den tarball mit untar in einen passenden Ordner. Wechseln Sie in diesen Ordner und geben die folgenden Befehle ein.

    ./configure
    make

Wenn Sie die Entwicklungsdateien von GStreamer 0.8.7 oder neuer installiert haben und &kmyapplication; mit Unterstützung für GStreamer übersetzen wollen, geben Sie dazu die folgenden Befehle ein.

    ./configure --enable-kttsd-gstreamer
    make

Als Voreinstellung wird &kmyapplication; in `/opt/kde3` installiert. Wenn Sie diesen Ordner nicht im `KDEDIRS`-Pfad haben, müssen Sie als Option `--prefix=Ziel` angeben. Zum Beispiel,

    ./configure --prefix=/usr/local
    make

Auf Debian-Systemen ist `/usr/local` der richtige Ordner für Programme, die aus den Quellen übersetzt werden.

Melden Sie sich als Root an und installieren Sie den übersetzten &kmyapplication; mit den folgenden Befehlen.

    su
    make install

Wenn Sie die &kmyapplication;-Quellen mit dem `kdeaccessibility` CVS-Modul oder den jede Nacht aktuell erstellten CVS tarball heruntergeladen haben, übersetzen und installieren Sie das Programm mit folgenden Befehlen:

    cd kdeaccessibility
    echo kttsd
    >inst-apps
    make -f Makefile.cvs
    ./configure
    cd kttsd
    make
    su
    make install

### Einrichtung

Bevor Sie &kmyapplication; benutzen, überprüfen sie zuerst, ob Ihr Sprachsynthesizer richtig arbeitet. Folgen Sie den Anweisungen, die Sie mit dem Synthesizer erhalten haben.

In einigen Fällen brauchen Sie Schreibzugriffsrechte auf das Audiogerät.

`chmod a+rw /dev/dsp*`

#### Arbeiten mit Festival (Interactive)

Festival ist einer der Besten freien TTS-Synthesizer, dessen Quellcode offengelegt ist. Die Qualität der Stimmen ist im Allgemeinen gut und es werden mehrere Stimmen und Sprachen unterstützt. Für viele Stimmen können Sie Lautstärke, Sprechgeschwindigkeit und Tonhöhe mit &kmyapplication; einstellen.

Sprachsynthesizer: Festival Interactive

URL: http://www.cstr.ed.ac.uk/projects/festival/

Debian Installationsbefehl: `apt-get install festival`

Sie müssen mindestens eine Sprache installieren. Hilfe dazu finden Sie in den Anleitungen, die mit Festival geliefert werden.

Zusätzliche englische Festival Stimmen finden Sie unter

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

Zusätzliche spanische, englische und deutsche Stimmen finden Sie unter

http://cslu.cse.ogi.edu/tts/download/

Für diese Stimmen müssen Sie ein zusätzliches Modul kompilieren, daher brauchen Sie den Quellcode von Festival. Die deutschen Stimmen haben eine geringe Verbreitung.

Eine männliche finnische Stimme finden Sie unter

http://www.ling.helsinki.fi/suopuhe/download/.

Eine männliche polnische Stimme finden Sie unter

http://www.artegence.com/download/voicexml/speech/festival_polish_voice.tgz.

Eine männliche russische Stimme finden Sie unter

http://nshmyrev.narod.ru/festival/festival.html

Für diese Stimme müssen Sie Festival 1.95 beta oder neuer installiert haben. Die Stimme ist immer noch in einem frühen Entwicklungsstadium. Entpacken Sie die Software in `festival/lib/voices/russian/`. Wenn Sie die russischen Stimmen einrichten, müssen Sie für die Stimmen `msu_ru_nsh_diphone` eingeben. Wählen Sie eine kyrillische (1-Byte) Kodierung wie zum Beispiel `KOI8-R`.

Festival ist normalerweise in den &Linux;-Distributionen enthalten. Suchen Sie Festival daher als erstes auf den CDs Ihrer Distribution.

Starten Sie `kttsmgr`. Klicken Sie auf der Karteikarte Sprecher auf Hinzufügen. Wählen Sie Festival Interactive und eine Sprache. Wenn die Karteikarte Einrichtung Sprecherauswahl nicht angezeigt wird, klicken Sie auf Bearbeiten. Wenn das Festival-Programm nicht in Ihrem `Pfad` steht, geben Sie den vollständigen Pfad zur Programmdatei ein. Klicken Sie auf Neu einlesen, wählen Sie eine Stimme und klicken Sie auf Test, um sich einen Testsatz vorlesen zu lassen.

Wenn Sie die polnischen oder tschechischen Sprachen benutzen wollen, muss die Option Kodierung auf `ISO 8859-2` eingestellt werden.

Wenn Sie die russische Sprachen benutzen wollen, muss die Option Kodierung auf kyrillisch wie zum Beispiel `KOI8-R` eingestellt werden.

##### Arbeiten mit Festival und &mbrola;

Festival kann gemeinsam mit dem &mbrola;-Synthesizer eingesetzt werden. Dann übernimmt Festival die lexikalische Analyse und &mbrola; erzeugt daraus die Audioausgabe. Das &mbrola;-Programm und die &mbrola;-Stimmen können heruntergeladen werden von

http://festvox.org/mbrola/.

Beachten Sie die mitgelieferten Anweisungen in der Datei `readme.txt`

Beachten Sie, dass &mbrola; kein vollständiges Sprachausgabesystem ist. &mbrola; generiert Sprache aus Diphon-Dateien. Sie brauchen zusätzliche Software, um diese Diphone zu erstellen. Festival erzeugt diese von &mbrola; benötigten Diphone. `txt2pho` kann auch aus deutschen Texten Diphone erzeugen. Weitere Informationen finden Sie unter .

Es gibt drei Möglichkeiten, Festival zusammen mit &mbrola; zu benutzen.

- &mbrola; Wrapper. Zur Zeit arbeitet dieses Verfahren nur mit englischen Stimmen.

- IMS German Festival.

- Festival-Czech.

###### Arbeiten mit Festival und &mbrola;-Wrappern

Bei diesem Verfahren wird zusätzlicher Wrapper-Code zu Festival hinzugefügt, um &mbrola;-Stimmen zur Sprachsynthese zu benutzen. Beachten Sie, das die &mbrola;-Stimmendateien nicht im &mbrola;-Ordner installiert werden, sondern im Ordner `festival/lib/`. Anleitungen finden Sie unter

http://www.cstr.ed.ac.uk/projects/festival/mbrola.html

###### Arbeiten mit IMS German Festival

IMS German Festival ist eine veränderte Version von Festival für deutsche &mbrola;-Stimmen. Erforderlich ist entweder Festival Version 1.4.1 oder Festival 2.0 (1.95beta). Zuerst installieren Sie Festival und &mbrola;, dann laden Sie MS German Festival von

http://www.ims.uni-stuttgart.de/phonetik/synthesis/festival_opensource.html.

Anweisungen finden Sie in der Datei `README` im Paket, das Sie heruntergeladen haben. (Für die Nutzung mit Festival 2.0 ist es nicht erforderlich, den Quellcode zu `fixen`, Sie müssen nur Festival neu übersetzen). Fügen Sie dann folgende Zeilen in die Datei `festival/lib/siteinit.scm` ein.

    (voice-location "german_de1_os" "/usr/local/mbrola/de1"
      "German Female, IMS Festival de1")
    (voice-location "german_de2_os" "/usr/local/mbrola/de2"
      "German Male, IMS Festival de2")
    (voice-location "german_de3_os" "/usr/local/mbrola/de3"
      "German Female, IMS Festival de3")

direkt über der Zeile

    (provide 'siteinit)

Auf einigen Systemen müssen Sie die Datei `/etc/festival.scm` bearbeiten. Fügen Sie nur die Zeilen für Ihre installierten deutschen Stimmen ein. Ersetzen Sie den richtigen Pfad in `/usr/local/mbrola/`. Zur Zeit der Erstellung dieses Handbuchs funtionieren die deutschen de4, de5, oder de6 Stimmen nicht mit MS German Festival .

###### Arbeiten mit Festival-Czech

Dieses Verfahren benutzt besonderen Code, um die Sprache über Festival mit einer tschechischen &mbrola;-Stimme auszugeben. Zuerst laden und installieren Sie Festival und &mbrola; und richten beide richtig ein. Dann laden Sie Festival-Czech von

http://www.freebsoft.org/festival-czech

Ersetzen Sie in den folgenden Anweisungen den richtigen Ordner.

Entpacken Sie das Programm mit tar in einen passenden Ordner und erzeugen Sie das Lexikon. Die ausführbare Datei Festival muss in Ihrem `Pfad` liegen.

    cd /usr/local
    tar xvfz festival-czech.tar.gz
    cd festival-czech
    make

Laden Sie die Stimmendatei `cz2` von der &mbrola;-Seite und entpacken sie mit unzip in den &mbrola;-Ordner.

    cd /usr/local/mbrola
    mkdir cz2
    cd cz2
    unzip cz2-001009.zip

Schreiben Sie die folgenden Zeile in die Datei `festival/lib/siteinit.scm`.

    (set! czech-lexicon-file "/usr/local/festival-czech/czech-lexicon.out")
    (set! load-path (cons "/usr/local/festival-czech" load-path))
    (require 'czech)
    (set! czech-mbrola_database "/usr/local/mbrola/cz2/cz2")
    (set! mbrola_progname "/usr/local/mbrola/mbrola")
    (voice-location "czech_mbrola_cz2" "/usr/local/mbrola/cz2"
        "Czech Male, MBROLA")
    (require 'czech-mbrola)

direkt über der Zeile

    (provide 'siteinit)

(Auf manchen Systemen finden Sie diese Datei unter `/etc/festival.scm`).

#### Arbeiten mit Festival Lite (flite)

Festival Lite ist ein freier, quelloffener Sprachsynthesizer, der zur Zeit nur eine begrenzte Anzahl von Stimmen und Sprachen unterstützt. Er ist ein einfacher Sprachsynthesizer mit noch ausreichender Stimmenqualität. Mit &kmyapplication; können Sie bei diesem Sprachsynthesizer keine Tonhöhe, Lautstärke oder Sprechgeschwindigkeit einstellen.

Sprachsynthesizer: Festival Lite (flite)

URL: http://www.speech.cs.cmu.edu/flite/index.html

Debian Installationsbefehl: `apt-get install flite`

flite ist normalerweise in den &Linux;-Distributionen enthalten. Suchen Sie flite daher als erstes auf den CDs Ihrer Distribution.

Kompilieren und installieren Sie flite mit Hilfe der Anweisungen in der mitgelieferten Datei `README`.

#### Arbeiten mit Hadifix (&mbrola; und txt2pho)

Hadifix ist ein zweistufiger Sprachsynthesizer, der mit Diphonen arbeitet. Das Programm `txt2pho` übersetzt Text in Diphone und der &mbrola;-Sprachsynthesizer erzeugt daraus den Klang. Die Sprachqualität ist gut, aber die Unterstützung ist zur Zeit auf wenige Sprachen begrenzt. Sie können Stimme, Tonhöhe, Sprechgeschwindigkeit und Lautstärke über kttsmgr einstellen.

Sprachsynthesizer: Hadifix

URL: siehe unten

Debian Installationsbefehl: Keiner

Installieren Sie zuerst Hadifix.

1. Laden Sie die ausführbare MBROLA Datei von http://festvox.org/mbrola/.

2. Installieren sie &mbrola; im Ordner `/usr/local/mbrola`.

3. Laden Sie mindestens eine deutsche Sprachdatei von der &mbrola;-Seite und entpacken sie mit unzip in den Ordner `/usr/local/mbrola`.

4. txt2pho finden Sie unter

   http://www.ikp.uni-bonn.de/dt/forsch/phonetik/hadifix/HADIFIXforMBROLA.html.

5. Entpacken Sie txt2pho mit unzip nach `/usr/local/txt2pho`.

6. Bearbeiten Sie die Datei `txt2phorc` und geben die richtigen Pfade ein.

7. Kopieren Sie entweder `txt2phorc` nach `~/.txt2phorc` oder nach `/etc/txt2pho`, hier muss das "rc" am Ende des Dateinamens entfernt werden.

8. Wählen Sie in kttsmgr die Sprache Deutsch (de), und fügen Hadifix hinzu.

9. Auf der Karteikarte Einrichtung Sprecherauswahl wählen Sie eine Stimme und stellen die Pfade zu &mbrola; und txt2pho richtig ein.

10. Klicken Sie auf Test, um die Einstellungen zu überprüfen.

#### Arbeiten mit Epos

Epos ist ein freier, quelloffener Sprachsynthesizer für die tschechische und slowakische Sprache. Er ist ein einfacher Sprachsynthesizer mit noch ausreichender Stimmenqualität. Mit &kmyapplication; können Sie bei diesem Sprachsynthesizer nur die Lautstärke einstellen.

Sprachsynthesizer: Epos TTS Synthesis System

URL: http://epos.ure.cas.cz/

Debian Installationsbefehl: `apt-get install epos`

Starten Sie kttmsgr. Auf der Karteikarte Sprecher klicken Sie auf Hinzufügen. Wählen Sie die tschechische oder slowakische Sprache und Epos TTS-Sprachsynthesizer. Wenn die Epos-Programme nicht in Ihrem `Pfad` stehen, geben Sie den Pfad zu den Programmen auf der Karteikarte Sprecher ein. In den Eingabefelder können Sie zusätzliche Parameter für die Programme eingeben. Geben Sie in einer Konsole `epos -h` oder `say -h`, um weitere Informationen zu erhalten.

#### Arbeiten mit FreeTTS

FreeTTS ist ein freier, quelloffener Sprachsynthesizer, der in Java(tm) geschrieben wurde, d. h. Sie müssen die Java Virtual Machine Software auf Ihrem System installieren. Sie können weder Tonhöhe, Lautstärke noch Sprechgeschwindigkeit mit &kmyapplication; einstellen.

Sprachsynthesizer: FreeTTS

URL: http://sourceforge.net/projects/freetts/

Debian Installationsbefehl: Keiner

#### Arbeiten mit dem Befehlsplugin

Das Befehlsplugin ermöglicht Ihnen die Benutzung von &kmyapplication; mit jedem beliebigen Sprachsynthesizer, der in einer Konsole auf der Befehlszeile angesteuert werden kann.

Sprachsynthesizer: Befehl

URL: keine

Debian Installationsbefehl: Keiner

Am besten benutzen Sie einen Befehl, der die Sprachausgabe in eine temporäre Audiodatei (wav) schreibt, anstatt die Ausgabe direkt zum Audiogerät zu schicken

Wenn sich die erforderliche Kodierung der Texte für den Sprachsynthesizer von der Kodierung Ihrer Arbeitsfläche unterscheidet, müssen Sie die Texte mit dem Parameter `%f` an den Synthesizer schicken. &kmyapplication; schreibt den Text dann in der angegebenen Kodierung in die temporäre Datei. Wenn Sie auf der Befehlszeile Text mit dem Parameter `%t` an den Sythesizer schicken, wird die Kodierung Ihrer Arbeitsfläche benutzt. Mit der Auswahl von Daten als Standardeingabe schicken können Sie versuchen, dieses Problem zu lösen, wenn der Synthesizer Eingaben von StdIn annimmt. Als Beispiel hier ein Befehl, um polnischen Text mit ISO 8859-2 an Festival zu schicken, und dabei Satzeichen auszufiltern.

`cat %f | tr '(){}[]"' ' ' | festival --tts --language polish`

&documentation.index;