Aus LinuxUser 04/2002

MBROLA

Lesestunde

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.

Sie besprechen Ihren Anrufbeantworter nur widerwillig mit einem neuen Spruch? Kein Problem, lassen Sie einfach Ihren Computer ein gutes Wort für Sie einlegen. Sie möchten sich Ihre elektronische Post lieber einmal vorlesen lassen, so dass Sie zugleich nebenan Tee kochen können? Vielleicht hätten Sie auch gern eine akustische Bestätigung, wenn Ihr Rechner erfolgreich den On- bzw. Offline-Modus erreicht? Mit einem Sprachsynthesizer ist all dies und noch viel mehr möglich.

Babel

Doch ganz so trivial ist diese Aufgabe nicht: Man denke nur an die Folgen der babylonischen Sprachverwirrung (Gen 11,9): Während der Engländer zur Buchstabenfolge „new“ in etwa „nju“ sagt, spricht sie ein Deutscher gänzlich anders, nämlich Buchstabe für Buchstabe aus. Auch senkt der Insulaner am Ende einer Frage seine Stimmfrequenz, während hierzulande die Stimme angehoben wird. Will man also ein sprechendes Programm erstellen, so muss es recht umfangreiche Informationen abhängig von der zu verwendenden Sprache erhalten.

Für echte Linuxer kommt eine weitere Anforderung hinzu: Das Ganze sollte kostenlos erhältlich und ebenso legal einzusetzen sein. Hervorgetan hat sich auf diesem Sektor bislang ein Projekt: der Sprachsynthesizer MBROLA[1]. Es ist zwar nicht frei (im Sinne von Open Source und GPL) erhältlich, aber doch immerhin für Privatpersonen frei von Kosten oder Beschränkungen verfügbar.

Arbeitsteilung

Das TCTS Lab der Faculté Polytechnique de Mons in Belgien bemühte sich, bei der Umsetzung Nägel mit Köpfen zu machen: MBROLA ist Teil eines modular aufgebauten und ausgeklügelten Baukastens, mit dem praktisch alle Anforderungen rund um die synthetische Stimme erfüllt werden können. Wer tief in die Materie einsteigt, kann seinen Rechner beispielsweise selbst Lieder trällern lassen. Allerdings verlangen zunehmende Funktionalität und Modularität auch mehr und mehr Entscheidungen von Seiten des Users, was – typisch für Unix-Software – oftmals in (scheinbar) kryptischer Bedienung mündet.

Macht man sich jedoch einmal die Mühe, den Aufbau einer solchen Befehlsfolge zu verstehen, scheint sie am Ende doch wieder ganz simpel. Und so nähern wir uns in diesem Artikel schrittweise unserem Ziel. Grundvoraussetzung ist eine fix und fertig eingebundene Soundkarte, über die erfolgreich Sound-Dateien ausgegeben werden können.

Ein weiter Weg

Haben Sie Ihre Soundkarte bereits einsatzbereit, so muss Ihr zu lesender Text zunächst der jeweiligen Sprache entsprechend in Diphone umgesetzt werden: So wird im Deutschen z. B. aus der Buchstabenfolge „sch“ ein eigenständiger „Buchstabe“ (Laut). Zwei „s“ sind klanglich etwas anderes als ein einsames „s“, während zwei „a“ den Laut nicht wie das gedoppelte „s“ verkürzen, sondern sogar verlängern.

Von all diesen sprachspezifischen Besonderheiten weiß MBROLA allerdings nichts. Stattdessen schaltet man ein TTS-(„text to speech“-)Tool [4] vor, das dem Synthesizer lediglich die phonematisch relevanten Informationen inklusive Betonung mitteilt (z. B. wann die Stimmlage abhängig vom Satzbau angehoben oder abgesenkt wird). Deutschsprachige MBROLA-User nutzen dazu txt2pho[2]. Dieses Werkzeug setzt Text in eine Zwischensprache um, die MBROLA dann (sprachunabhängig) in Töne und Frequenzen verwandelt.

Die müssen noch ausgegeben werden, und dazu braucht MBROLA eine von Ihnen ausgewählte und zum TTS-Werkzeug passende Stimme [3] (die mit txt2pho verwendete sollte also deutsch sein). Diese kann von MBROLA und txt2pho über Aufrufparameter beeinflusst werden. Statt das Ergebnis über Lautsprecher auszugeben, lässt es sich in Dateien schreiben (die Sie nochmals nachbearbeiten können) oder aber per Pipe an nachfolgende Anwendungen weiterleiten.

Gepäck

Die Installation der benötigten Pakete gestaltet sich recht einfach, und da es sich nicht um Open-Source-Programme handelt, kommt Kompilieren gar nicht in Frage. Statt dessen bekommen Sie fertig gepackte Pakete, die Sie dafür aber noch händisch installieren müssen.

Zunächst ist es ratsam, den MBROLA-Tools ein eigenes Verzeichnis zu spendieren. Benötigt werden minimal etwa 15 MB Plattenplatz (eine einzige Stimme) bis zu etwa 36 MB für alle drei verfügbaren deutschen Stimmen. Prädestinierter Aufbewahrungsort für distributionsfremde Software ist der Verzeichniszweig /usr/local, so dass Sie dort auch Ihr MBROLA-Verzeichnis einrichten sollten. Alle Installationsarbeiten müssen vom User root erledigt werden:

mkdir /usr/local/mbrola

Die dort zu installierenden Pakete (MBROLA, txt2pho und die Stimmdateien) haben zudem die unangenehme Eigenschaft, als zip-Datei – und nicht als unter Linux übliches tar-Archiv – aufzutreten, so dass Sie zum Entpacken unzip installiert haben müssen. Ein Blick in Ihre Distributions-CDs sollte dieses herbeizaubern, sofern es Ihre Festplatte nicht längst für Sie parat hält. Dann geht es ans Entpacken der Pakete:

LinuxUser 04/2002 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: