Home / LinuxUser / 2007 / 06 / Sprachwunder

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(179 Punkte bei 5 Stimmen)
Mandriva in Nöten
(161 Punkte bei 4 Stimmen)
Mageia 2 ist fertig
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Sprachwunder

Text-to-Speech

01.06.2007 Um dem Computer das Sprechen beizubringen, bedarf es keiner kommerziellen Lösung: Mit Kttsd und Tools wie Mbrola und Txt2pho macht Ihr Rechner HAL 9000 Konkurrenz.

Schon Stanley Kubrick lässt in seinem Film "2001 – Odyssee im Weltraum" den Computer HAL 9000 mit seinen menschlichen Astronauten-Kollegen reden. Unglücklicherweise dreht HAL im Laufe des Films durch, macht sich selbständig und versucht, die Crew des Schiffes umzubringen.

Todesgefahr droht am heimischen Linux-PC eher weniger, doch mit Hilfe kleiner Skripts bringen auch Sie Ihren Rechner zum Reden. Er liest beliebige Texte vor oder spricht Warnungen aus, sobald bestimmte Ereignisse eintreten. Eine grafische Oberfläche – der Ktts-Manager (Kttsmgr) – erleichtert Ihnen das Einrichten der Sprachunterstützung. Das Programm hat allerdings einen Nachteil: Während es bereits einen englischen Sprecher mitbringt, müssen Sie einen deutschen Vorleser in Form eines Sprachsynthesizers installieren. Andernfalls klingen alle Sätze so, als würde sie ein Amerikaner ohne deutsche Sprachkenntnisse sprechen. Kttsmgr erkennt die deutsche Stimme und setzt sie automatisch ein (Abbildung 1). Der Synthesizer besteht aus drei Komponenten: Mbrola, Txt2pho und einem männlichen oder weiblichen Sprecher.

Abbildung 1: Die grafische Oberfläche von Kttsmgr hilft Ihnen beim Vorlesen von Dateien. Damit sie deutsche Texte liest, installieren Sie einen deutschen Sprachsynthesizer.

Zunächst bleibt zu klären, wie die drei Komponenten kooperieren. Mit Txt2pho verwandeln Sie einen beliebigen Text in eine phonetische Datei mit der Endung PHO. Sie füttern Mbrola mit der phonetischen Datei und weisen außerdem einen Sprecher zu, der diese PHO-Dateien vorliest. Das Programm verwandelt diese Zutaten in eine Audiodatei im WAV-Format, die Sie dann mit einem beliebigen Audio-Player abspielen. Die einzelnen Schritte lassen sich auch gut kombinieren, ein einfaches Skript liest Ihnen dann eingegebenen Text direkt vor.

Mbrola und Co.

Zunächst besorgen Sie sich Mbrola und Txt2pho aus dem Internet. Laden Sie dazu die Archive mbr301h.zip[1] und txt2pho.zip[2] sowie einige Sprachen [3] herunter – de1-980227.zip und de2-990106.zip sollten es für den Anfang tun. Auf der Seite mit den Sprachdateien tummeln sich auch zahlreiche andere Sprachen, die Mbrola und Txt2pho ohne weiteres verarbeiten. Ihren Experimenten mit Französisch oder Spanisch steht also nichts im Weg. Nun installieren Sie den Synthesizer, den Phonetikwandler und die Sprachdateien nach /usr/local. Für nahezu alle Schritte benötigen Sie Root-Rechte. Unter Ubuntu schreiben Sie wie üblich ein sudo vor die entsprechenden Befehle. Da Sie unter Mandriva und OpenSuse mit su root Administratorrechte erlangen, führen Sie die folgenden Befehlen einfach ohne sudo aus. Insgesamt gehen Sie unter den verschiedenen Linux-Distributionen nach demselben Schema vor.

Zunächst erzeugen Sie über sudo mkdir /usr/local/mbrola ein Verzeichnis und wechseln mit cd in dieses. Der Befehl sudo unzip /pfad/zu/mbr301h.zip entpackt Mbrola in dieses Verzeichnis. Über sudo unzip /pfad/zu/de1-980227.zip und sudo unzip /pfad/zu/de2-990106.zip entpacken Sie die Archive für die zwei Sprecher in das selbe Verzeichnis. Hierhin gehören auch weitere Sprachen, falls Sie das System zukünftig erweitern. Anschließend legen Sie einen symbolischen Link, um Mbrola einfach durch die Eingabe des gleichnamigen Kommandos aufzurufen:

sudo ln -s /usr/local/mbrola/mbrola-linux-i386 /usr/bin/mbrola

Im nächsten Schritt wenden Sie sich dem Phonetikwandler zu. Dazu begeben Sie sich ins übergeordnete Verzeichnis /usr/local. Der Befehl sudo unzip /pfad/zu/txt2pho.zip entpackt auch dieses Archiv und erzeugt dabei ein Unterverzeichnis namens txt2pho, in das Sie wechseln. Über sudo chmod u+x txt2pho machen Sie Txt2pho ausführbar. Dann kopieren Sie über cp txt2phorc $HOME/.txt2phorc die Konfigurationsdatei von Txt2pho in Ihr Home-Verzeichnis und wechseln über cd dorthin. Unter Mandriva und Suse nehmen Sie diesen letzten Schritt als gewöhnlicher Benutzer vor, da die Konfigurationsdatei ansonsten im Verzeichnis von Root landet. Öffnen Sie die versteckte Datei mit einem Editor Ihrer Wahl (Abbildung 2) und ändern Sie zwei bestehende Einträge wie folgt ab:

DATAPATH=/usr/local/txt2pho/data/
INVPATH=/usr/local/txt2pho/data/

Abbildung 2: Zuerst machen Sie die Konfigurationsdatei /usr/local/txt2pho/txt2phorc zu einer versteckten Datei in Ihrem Home-Verzeichnis, dann passen Sie die Parameter an.

Nach dem Speichern weiß Txt2pho, wo es seine Daten suchen soll. Vergessen Sie nicht den Schrägstrich am Ende der Zeilen. Abschließend legen Sie – wie bei Mbrola – einen symbolischen Link auf Txt2pho nach /usr/bin. Der Befehl lautet:

sudo ln -s /usr/local/txt2pho/txt2pho /usr/bin/txt2pho

Geben Sie nun txt2 auf der Konsole ein und drücken Sie [Tab]. Daraufhin sollte die Bash diese Eingabe zu txt2pho vervollständigen – das gleiche gilt für die Eingabe von mbro. Tut sie es nicht, stimmt etwas mit den symbolischen Links nicht oder Txt2pho und Mbrola liegen im falschen Verzeichnis. Auf den erwähnten Webseiten finden Sie auch noch verschiedene Filter, die Sie zusätzlich installieren können. Der Kasten "Extras" zeigt, was das bringt und wie es geht.

Extras

Txt2pho lässt sich noch um die Pakete Numfilt [4], Pipefilt und Preproc erweitern, die spezielle Aufgaben erledigen. Numfilt kümmert sich um die richtige Sprachausgabe von Zahlen und unterscheidet zum Beispiel Punkte, die in Dezimalzahlen auftreten von ihrer Funktion als Satzzeichen. Pipefilt bearbeitet den Text noch einmal und sorgt dafür, dass Txt2pho nach Satzzeichen eine kleine Pause einlegt und Zeilenenden nicht als Sinnabschnitte versteht. Preproc wiederum kann bestimmte Zahlenangaben und Abkürzungen auflösen.

Wechseln Sie zunächst in das Unterverzeichnis /usr/local/txt2pho/pipefilt und geben Sie dort

sudo chmod +x pipefilt && sudo cp pipefilt /usr/local/bin/

ein. Mit demselben Befehl kopieren Sie anschließend auch Preproc nach /usr/local/bin:

sudo chmod +x preproc && sudo cp preproc /usr/local/bin

Über Pipes schalten Sie die Module später dazu. Um diese zu verstehen, sollten Sie allerdings zunächst den Text weiter unten lesen. Ein Beispiel:

echo hallo, heute ist der 16.04.2007 | pipefilt | preproc /usr/local/txt2pho/preproc/Hadifix.abk /usr/local/txt2pho/preproc/Rules.lst | txt2pho | mbrola /usr/local/txt2pho/de1/de1 - -.au | aplay

Vergessen Sie nicht, beim Aufruf von Preproc die Pfade zu den Dateien Rules.lst und Hadifix.abk anzugeben. Zudem muss /usr/local/bin im Pfad liegen.

Um schließlich Numfilt zu installieren, laden Sie das gleichnamige Archiv herunter, wechseln nach /usr/local/txt2pho und entpacken das Archiv über sudo tar xvzf /pfad/zu/numfilt-0.1.tar.gz. Dabei entsteht der Unterordner numfilt-0.1 in den Sie wechseln. Werden Sie über sudo su – oder unter OpenSuse und Mandriva über su root – Administrator und geben Sie cc -o numfilt numfilt.c ein, um das Modul selbst zu kompilieren. Das dabei entstehende Binary numfilt kopieren Sie über sudo cp numfilt /usr/local/bin an einen Platz mit ausführbaren Dateien, um auch diesen Filter später von überall aufzurufen.

Kttsmgr installieren

Die Installation von Kttsd erfolgt unter Ubuntu, Mandriva und OpenSuse 10.1/10.2 über den Paketmanager. Die Schritte variieren allerdings leicht zwischen den Distributionen.

Nutzer von Ubuntu Edgy Eft schalten zunächst das Universe-Repository frei. Dazu rufen Sie den Paketmanager Synaptic auf, wählen den Menüpunkt EinstellungenPaketquellen aus und setzen bei Von der Ubuntu-Gemeinde ... ein Häkchen. Sie schließen das Fenster und erneuern die Paketliste über einen Klick auf Neu laden. Dann spielen Sie die Pakete kttsd und kttsd-contrib-plugins ein. Einen Eintrag für Kttsmgr finden Sie über das Startmenü unter Barrierefreiheit. Alternativ starten Sie die grafische Oberfläche (Abbildung 3), indem Sie [Alt]+[F2] drücken und kttsmgr eingeben. Der Manager startet zugleich auch Kttsd, den Ktts-Daemon.

Abbildung 3: Die Installation des Ktts-Manager weicht zwischen den verschiedenen Distributionen etwas voneinander ab. Ein Papagei in der Symbolleiste zeigt, dass der Manager arbeitet.

Nutzer von Suse Linux 10.1 installieren über YaST das Paket kdeaccessibility3.Kttsd finden Sie anschließend im Startmenü unter DienstprogrammeDesktop. Das Vorgehen für OpenSuse 10.2 unterscheidet sich nicht, die Menüeinträge liegen unter AnwendungenDienstprogrammeDesktop.

Anwender von Mandriva 2007 installieren via Konsole die Pakete kdeaccessibility-kttsd-3.5.4-2mdv2007.0.i586.rpm und libkdeaccesibility-kttsd-3.5.4-2mdv2007.0.i586.rpm von unserer Heft-CD. Dazu wechseln Sie in den Ordner mit den heruntergeladenen Paketen und geben mit Root-Rechten den Befehl rpm -Uhv *.rpm ein.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

1676 Hits
Wertung: 72 Punkte (5 Stimmen)

Schlecht Gut

Infos zum Autor

Kristian Kißling

Kristian Kißling

Wenn Kristian Kißling nicht gerade für die LinuxCommunity schreibt, arbeitet er als Redakteur bei der Zeitschrift EasyLinux und als Chefredakteur für den Ubuntu User. Am liebsten beschäftigt er sich mit Multimedia- und Unterhaltungssoftware im weiteren Sinne und mit neuer Open-Source-Software, die überraschende Fähigkeiten zeigt.

Zum Blog von Kristian Kißling →


Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...