Aufmacher

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.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • MBROLA
    Es heißt, Lesen bildet. Doch nicht alles muss unbedingt selbst gelesen werden. Oftmals genügt es schon, wenn Information aus dem "Mund" eines Sprachsynthesizers auf ein Ohrenpaar trifft.
  • KDE 3.4 im Überblick
    Wieder einmal dreht sich das Zahnrad von KDE um einen Zacken. Die Entwickler gaben zur Cebit das Release der Version 3.4 heraus. Dieser Artikel stellt Ihnen die interessantesten Neuerungen der Desktop-Umgebung vor und zeigt, wie Sie sie nutzen.
  • WaveTools
    In Ausgabe 01/2003 haben wir ausführlich Einsatzgebiete der WaveTools, insbesondere der Programme wfct, wflt, wmix, und wplot, vorgestellt. Jetzt werfen wir einen Blick auf die restlichen Tools und zeigen deren Anwendungsmöglichkeiten.
  • Schwerpunkt Audio/Tonstudio
    Im Audiobereich kann Linux mehr als nur MP3s abspielen oder den Sound der TV-Karte durchschleifen: LinuxUser stellt ein paar weniger alltägliche Einsatzgebiete für Musik-Begeisterte vor. Zusätzlich erklären wir ALSA- und OSS-Soundkarten-Treiber.
Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...