Filter (Fortgeschrittene)

Filter sind eine der fortgeschrittenen Fähigkeiten von Jovie. Für die normale Arbeit mit Jovie sind Filter nicht erforderlich.

In Filtern wird Text bearbeitet, ehe er zum Programm speech-dispatcher geschickt wird. Sie sind nützlich für die Verbesserung der Aussprache, um falsch gesprochene Worte oder Abkürzungen zu ersetzen, eine passende Sprache und Sprecher auszuwählen oder um bestimmte Mängel von Sprachsynthesizern und deren Stimmen zu umgehen.

Jovie-Nachrichtentypen

Um die Arbeitsweise von Filtern zu verstehen, ist es wichtig zu wissen, wie das Programm "speech-dispatcher" mit einem Text arbeitet. Jovie unterscheidet vier Arten von Texten.

  • Ausgaben von Screen-Readern

  • Warnungen

  • Nachrichten

  • Textaufträge

Der Typ wird von der Anwendungen festgelegt, die eine Nachricht an Jovie verschickt.

Die Ausgabe von Screen-Readern hat die höchste Priorität. Sie wird allen anderen Aufträgen vorgezogen und hält diese Aufträge an. Wenn die Ausgabe der Screen-Reader vorgelesen ist, werden die angehaltenen Aufträge wieder fortgesetzt.

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

Nachrichten haben die nächsthöchste Priorität. Eine Nachricht unterbricht normalen Text. KMouth ist ein Beispiel für eine Anwendung, die Nachrichten verwendet. Während Sie z. B. einen langen Text auf einer Webseite vorlesen lassen, können Sie mit KMouth jemanden begrüßen, der gerade den Raum betritt. KDE-Benachrichtigungen sind ebenfalls Nachrichten. Lesen Sie dazu „Vorlesen von Nachrichten (Knotify)“.

Der Rest sind einfache Textaufträge. Jeder Auftrag, den Sie von der Karteikarte Aufträge anstoßen, ist ein Textauftrag. KSayit ist ein Beispiel für eine Anwendungen, die Textaufträge verwendet. Textaufträge sind für die Ausgabe längerer Texte gedacht, die keine besondere Dringlichkeit besitzen.

Alle vier Auftragsarten werden in Warteschlangen abgearbeitet, mit Ausnahme der Ausgabe von Screen-Readern. Wenn eine Anwendung die Ausgabe eines Screen-Readers schickt, während Jovie gerade eine solche vorliest, wird diese Ausgabe angehalten und beendet.

Filterarten

Zuerst müssen Sie wissen, dass Filter nie auf die Ausgabe von Screen-Readern angewendet werden. Sie werden auf normale Warnungen, Nachrichten und Textaufträge sowie auf KDE-Nachrichten angewendet.

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

  • Zeichenkettenersetzer

  • XML-Umformer

  • Sprecherauswahl

Anmerkung

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

Zeichenkettenersetzer ersetzen Teile eines Textes durch anderen Text. Die zu ersetzenden Teile können Sie entweder als Worte oder als reguläre Ausdrücke angeben. Jovie wird mit vordefinierten Zeichenkettenersetzerfiltern ausgeliefert, die das Ersetzen von Chat-Emoticons wie :-) durch Text oder für die Umformatierung von Nachrichten aus Konversation oder KMail in eine besser verständliche Form ermöglichen.

XML-Umformer verwenden eine XSLT-Datei (XML Style Language - Transforms) um XML von einem Format in ein anderes Format umzuwandeln. Im Lieferumfang von Jovie sind einige XSLT-Dateien zur Übersetzung von XHTML in SSML enthalten.

Mit Sprecherauswahlfiltern können Sie Aufträge abhängig vom Inhalt des Textes oder abhängig von dem Programm, das den Text an Jovie geschickt hat, an einen Sprecher schicken. 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 „Einrichtung der Sprecher“. darüber vorlesen lassen.

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, eine Meldung, Warnung oder eine KDE-Benachrichtigung an Jovie geschickt wird, wird sie durch alle aktivierten Filter bearbeitet, die auf der Seite unten eingerichtet wurden. Die Bearbeitung durch die Filter erfolgt in der Reihenfolge in der Liste von oben nach unten.

Einrichtung der Filter

Klicken Sie auf den Karteikartenreiter Filter in jovie, um Filter einzurichten.


Die Sprachausgabe-Verwaltung von KDE (Karteikarte Filter)

1

Dies zeigt die Liste der eingerichteten normalen Filter. Ist ein Filter nicht angekreuzt, ist er nicht aktiviert und wird nicht benutzt. Filter werden der Reihe nach von oben nach unten abgearbeitet.

2

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

3

Klicken Sie hier, um einen Filter zu entfernen.

4

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

5

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

6

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

Einrichtung der Zeichenkettenersetzungsfilter

Für die Einrichtung von Zeichenkettenersetzungsfiltern 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

1

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.

2

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. Die Liste wird in der angezeigten Reihenfolge von oben nach unten abgearbeitet.

3

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

4

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

5

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

6

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

7

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.

8

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 die Strg-Taste gedrückt halten.

9

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

Tipp

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

Der Zeichenkettenersetzungsfilter wird nur dann auf den Text angewendet, wenn alle Bedingungen mit einem Eintrag im Kasten Diesen Filter anwenden wenn übereinstimmen. Sind alle Eingabefelder leer, wird der Filter auf alle Texte angewendet.

Beim Vergleich von Worten benutzt der Zeichenkettenersetzungsfilter reguläre Ausdrücke in der Form \sWort\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 Zusammenstellen dieser Ausdrücke aufrufen. Den KDE-Editor für reguläre Ausdrücke finden Sie im Git-Modul Utils in playground.

Im Lieferumfang von Jovie sind einige Dateien mit Wortlisten enthalten; unter anderem eine Liste mit Emoticons wie :-), einige Abkürzungen für IRC oder Messaging-Programme und eine Liste mit weiteren Abkürzungen. Es gibt auch eine Liste mit Sonderzeichen, mit der die aktuelle Version der polnischen Festival-Stimme Probleme hat. Wenn Sie eigene Wortlisten erstellen, können Sie diese mit Speichern in eine Datei schreiben und an das Jovie-Team schicken, das die Listen dann in die nächste Version aufnimmt.

Einrichtung der XML-Umformer-Filter

XML-Umformer übersetzen XML mit Hilfe von XSLT-Dateien aus einem Format in ein anderes Format. XSLT (XML Style Language - Transforms) ist ein W3C-Standard für solche Umformungen. Es kann aber nur auf wohlgeformtes XML angewendet werden. Das Hilfsprogramm xsltproc muss auf Ihrem System installiert sein.


XML-Umformer

1

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.

2

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

3

Geben Sie den Pfad für das Programm xsltproc ein. Wenn xsltproc über die Umgebungsvariable PATH erreichbar ist, reicht auch xsltproc.

4

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

5

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

Tipp

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

Der XML-Umformerfilter bearbeitet den Text nur dann, wenn das angegebene root-Element oder der DOCTYPE übereinstimmen und die Anwendungs-ID mit dem Eintrag in Diesen Filter anwenden, wenn übereinstimmt. Ist hier nichts eingetragen, wird die Prüfung nicht durchgeführt. Ist überhaupt kein Eintrag vorhanden, wird der Filter auf alle Texte angewendet. Sie sollten aber zumindest ein Eingabefeld ausfüllen, da die meisten Textaufträge nicht im XML-Format übermittelt werden.

Einrichtung der Sprecherauswahlfilter

Mit dem Sprecherauswahlfilter 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, dass Texte von kmail von einer weiblichen Stimme vorgelesen werden sollen. Siehe „Einrichtung der Sprecher“.

Bevor Jovie einen Text an die Filter übergibt, sucht es einen Sprecher für den Text. Der Sprecher wird anhand der Sprecher-Eigenschaften, die das Programm vorgibt, das den Text an Jovie schickt, und den Eigenschaften der auf der Karteikarte Sprecher eingerichteten Sprecher ausgewählt. Mit dem Sprecherauswahlfilter können Sie den gewählten Sprecher überschreiben.


Sprecherauswahl

1

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.

2

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

Tipp

Um eine schnellere Verarbeitung zu erzielen, sollten Sie versuchen, den regulären Ausdruck am Anfang der Zeichenkette zu verankern, d. h., beginnen Sie den regulären Ausdruck mit ^.

3

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

Tipp

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

4

Legen Sie hier die Eigenschaften des von Ihnen gewünschten Sprechers fest. Wenn der Text die oben gezeigten Filterbedingungen erfüllt, wird der Sprecher ausgewählt, der den gewünschten Anforderungen am ehesten entspricht. Klicken Sie auf den Knopf rechts, um den Dialog Sprecherauswahl anzuzeigen.

5

Verwenden Sie diese Knöpfe, um Ihre Sprechereinstellungen zu speichern oder zu laden oder alle Einstellungen zu löschen.

Der Sprecherauswahlfilter wird nur dann auf den Text angewendet, wenn alle Bedingungen mit einem Eintrag im Kasten Diesen Filter anwenden wenn zutreffen. Sie müssen mindestens eine Bedingung eintragen.