Home / LinuxUser / 2002 / 04 / MBROLA

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

„Klickbunt auf dem Server? Warum nicht, wenn's hilft!"
(220 Punkte bei 8 Stimmen)
Wheezy + Kernel 3.9.2 + LXDE
(185 Punkte bei 5 Stimmen)
KDE 4.10.2, Gnome 3.6 und mehr
(143 Punkte bei 5 Stimmen)
Google schmeißt Jabber raus ...
(121 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Lesestunde

MBROLA

Abkürzung

Das war dann auch schon alles, um MBROLA über txt2pho zu beschicken. Nur leider sind damit mehrere Schritte sowie das Erstellen einiger Dateien nötig, um eine Textdatei vernünftig zur Soundkarte zu schleusen. Viel zu umständlich für verwöhnte Linuxer, die es sich gerne möglichst einfach und bequem machen. Den Umweg über diverse Dateien spart man sich, wenn man aus der mehrzeiligen Befehlsfolge einen einzigen, langen Befehl bastelt, bei dem ein Werkzeug sein Ergebnis direkt dem nachfolgenden Tool weitervererbt.

Zu diesem Zweck sind txt2pho und MBROLA in der Lage, sowohl von der Standardeingabe (stdin) zu lesen, als auch auf die Standardausgabe (stdout) zu schreiben. Somit können sogenannte Pipelines für die Konversation der beteiligten Tools herangezogen werden. Hierbei werden die jeweiligen Kommandos in der Shell durch das Zeichen verbunden. Der Aufruf der einzelnen Befehle geschieht nun etwas anders – schließlich soll zwischendurch keine neue Datei mehr erstellt oder gelesen werden.

Pipeline

Wer txt2pho nicht über den Parameter -i mit einer ASCII-Textdatei füttern möchte, muss dafür sorgen, dass der zu lesende Text auf der Standardausgabe erscheint, beispielsweise mit dem Befehl echo Das ist ein Test! Über die Pipe nimmt txt2pho ihn als Eingabe entgegen:

echo Das ist ein Test! | txt2pho

Dessen Ausgabe sollte MBROLA lesen. Allerdings kann das Programm nicht wie txt2pho ohne Zutun von stdin lesen. Auch der Wunsch nach einer Ausgabe auf stdout muss ihm explizit mitgeteilt werden: Soll die Standardeingabe als Quelle bzw. die Standardausgabe als Ziel zum Einsatz kommen, setzt man statt eines Argument-Dateinamens jeweils einen einfachen Bindestrich (-) ein. Die Ausgabe könnte zwar über die entsprechende Device-Datei direkt auf die Soundkarte gehen, doch nicht immer ist dies ohne Zuhilfenahme spezieller Tools möglich. bplay kann von stdin lesen (nicht alle Soundplayer können dies) und ist somit als Ausgabe-Tool erste Wahl. Allerdings fehlen bplay dann einige Informationen, die in einer Audiodatei stünden: So sollten Sie sowohl die Sample-Rate (16000 bei de1 und de2, 22050 bei de3) als auch die Auflösung (16 Bit) mit angeben:

jo@planet ~> echo Das ist ein Test! | txt2pho -f | mbrola /usr/local/mbrola/txt2pho/data/de3 - - | bplay -s 22050 -b 16
Playing raw data : 16 bit, Speed 22050 Mono …
Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 96 Punkte (10 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

title_2013_06

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 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 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Emacs als Psychologe
Emacs als Psychologe
Tim Schürmann, 21.05.2013 11:49, 0 Kommentare

Wer beim Schreiben in Emacs nicht mehr weiter weiß oder schier an einer Programmieraufgabe verzweifelt, der kann den eingebauten Psychologen um Rat fragen.

1966 entwickelte der Infor...

Aktuelle Fragen

Kontakt via QR code hinzufügen
Herman Sproesser, 17.05.2013 17:46, 3 Antworten
Hi hab in der aktuellen ausgabe 06.2013 den artikel über QR Codes gelesen. Ich hab nartürlich...
Dateimanager Dolphin, wo legt er die Datei Kommentare ab?
Uwe Heine, 16.05.2013 15:19, 1 Antworten
Suse Linux 12.1 - KDE 4.7.2 / Dolphin 1.7. Ich habe bei vielen Dateien über Dolphin Kommentare...
wie baut man Kernel Module so, dass sie mit jedem Kernel laden?
GoaSkin , 22.04.2013 10:22, 1 Antworten
Hallo, baut man anhand eines Kernel-Sources Module, nutzt Linux im Normalfall eine strikte V...
Problem beim Installieren von SuSe 12.3
Georg Prokert, 14.04.2013 00:04, 16 Antworten
Hallo, auf meinem neuem Laptop (Acer Aspire V3-771, Intel Core i5-3230 M, Intel HD Graphics 4...
lvm wieder loswerden
Peter Dibbern, 11.04.2013 16:28, 4 Antworten
Ich habe sämtliche alten Kisten ausgeschlachtet und aus der Teilen einen Rechner zusammengeschrau...