Re: [kttsd] Deutscher Sprecher



* praetor <nomail@xxxxxx> wrote:

> Allein es gibt noch ein Problem mit Abkürzungen wie "z.B.", "ggf.",
> "usw". Sie sind alle in der
> Datei /usr/local/txt2pho/preproc/Hadifix.abk angegeben.
> [...]
> Trotzdem habe spricht der Sprecher die Abkürzungen nicht aus, sondern
> liest sie so, wie sie dastehen.

Das Phänomen kann ich auf Shell-Ebene ebenfalls beobachten, wenngleich
nur eingeschränkt.

Folgender Test zeigt das Problem:

,----
| mjw@triton:~/bin$ echo "usw. ggf. z.B. usw." \
| | /usr/local/txt2pho/preproc/preproc \
| /usr/local/txt2pho/preproc/Rules.lst \
| /usr/local/txt2pho/preproc/Hadifix.abk
| usw .
| gegebenenfalls zum Beispiel und so weiter
`----

Man sieht also, dass das Problem die erste Abkürzung betrifft, der der
Präprozessor von txt2pho begegnet. Und auch nur dann, wenn sie
ausschließlich aus Buchstaben mit einem abschließenden Punkt besteht.
Das heißt, "ggf.", "usw.", "etc." werden vermurkst, wenn sie am Anfang
stehen, "z.B.", "a.D.", "z.T." aber nicht.

Ich habe mir das jetzt nicht weiter angesehen, um eine Lösung dafür zu
finden. Vermutlich hängt es irgendwie an der Rules.lst und ist evtl.
sogar Absicht, weil Abkürzungen nicht am Satzanfang auftauchen
können/sollen/dürfen?!

Eine schnelle Lösung besteht darin, einen zusätzlichen Filter
davorzuhängen, der alle Abkürzungen bereits korrekt ersetzt und den
preproc von txt2pho nur noch für Zahlwörter und ähnliches einzusetzen.

,----
| mjw@triton:~/bin$ echo "usw. ggf. z.B. usw." | ./preproc.sh
| und so weiter gegebenenfalls zum Beispiel und so weiter
`----

Ein solcher Filter ist mit einfachen Shell-Mitteln recht schnell
gestrickt und man braucht nicht mal eine eigene Abkürzungsliste,
sondern kann die von preproc verwenden. Mein erster Entwurf sieht so
aus:

,----[ preproc.sh ]
| #!/bin/sh
|
| # some parameters
| LIST="/usr/local/txt2pho/preproc/Hadifix.abk"
|
| # go through abbrevations list and build sed-statement
| stmt=`awk -F "\t" '{gsub(/\./,"\\\."); print "s#"$1"#"$2"#g"}' \
| < "$LIST"`
|
| # make replacements
| sed -e "$stmt"
`----

Mit Hilfe der Jungs aus dcous ließe sich das bestimmt noch etwas
optimieren, aber im Prinzip geht's.

Ein passender Patch gegen mein speak-Skript wäre dann:

,----
| --- /usr/local/bin/speak 2005-11-15 01:34:37.000000000 +0100
| +++ speak.test 2005-11-28 16:46:55.000000000 +0100
| @@ -46,7 +46,7 @@
| TXT2PHO=/usr/local/bin/txt2pho
|
| # Full path of preproc binary (which is part of txt2pho)
| -PREPROC=/usr/local/txt2pho/preproc/preproc
| +PREPROC="preproc.sh | /usr/local/txt2pho/preproc/preproc"
|
| # Parameters for preproc. Specify Rules and abbreviations files
| # (both are part of txt2pho).
`----

Womit dann, zumindest von 'speak' *jede* Abkürzung korrekt ausgesprochen
werden sollte.

Wie man das ganze nun auf kttsd überträgt, sei dem Leser als
Übungsaufgabe überlassen. ;-)

Ich verwende es nämlich nicht, was ich aber IIRC schon schrub.

--
http://www.malte-wetz.de (Linux: ISDN-Anrufbeantworter, Text-To-Speech,
ISDN-Inhaltsdatenkomprimierung, yapsrc für alle dt. Netze, Sondertasten
von Multimedia-Tastaturen; Allgemein: Rechnersicherheit)
.



Relevant Pages

  • Re: Anti-Phishing-Methode
    ... >> gemeinsamen Probleme durch Filter auf ISP-Ebene angehen. ... Prev by Date: ... Next by Date: ...
    (de.comp.security.misc)
  • =?iso-8859-1?q?Re:_Desktop-Hintergrund_nicht_mehr_=E4nderbar?=
    ... Computer, deren Nutzer/innen sich sonstwelche Workarounds zurechtgelegt ... Filter zu haben, oder aber meine Adresse ist nicht so umtriebig. ... Prev by Date: ... Next by Date: ...
    (microsoft.public.de.german.windowsxp.sonstiges)
  • Re: "Geiz ist geil". Aber nicht bei S**urn
    ... das Web und auch das Usenet als Teil davon nach Infos ... Die Filter helfen nur bedingt. ... Prev by Date: ... Next by Date: ...
    (de.talk.tagesgeschehen)
  • Re: Gartenteichtiefe
    ... Drittel hat die Tiefe von 1 m. ... biologischen Filter mit Kremikröhrchen, Zeolith und irgendwelchen ... Prev by Date: ... Next by Date: ...
    (de.rec.garten)
  • Re: osql Sonderzeichen falsch
    ... > Leider beseitigt die Benutzung des Parameters -u das Problem nicht. ... Voreinstellungen noch Windows ANSI speichern. ... Prev by Date: ... Next by Date: ...
    (microsoft.public.de.sqlserver)