Hier eine kleine Anleitung wie man sich E-Mails vorlesen lassen kann. Wer mehr wissen möchte den verweise ich auf meine Quelle: Linux-User 04/02.
Als erstes erstellt man ein Verzeichnis z.b. unter /usr/local, mit dem Namen "mbrola".
Nun sollte man sich alle benötigten Packete von http://tcts.fpms.ac.be/synthesis/.
Volgende Packete werden benötigt:
mbr301h.zip (mbrola, vorkomiliertes Packet)
txt2pho.zip (txt2pho, vorkompiliertes Packet)
Dazu benötigt man natürlich auch noch passende Stimmen,
diese gibt es auch unter der Download Section bei mbrola:
http://tcts.fpms.ac.be/synthesis/
Folgende Stimmen stehen zur Auswahl:
de1: German Female (9.9Mb) Fred Englert
de2: German Male (9.3Mb) ATIP
de3: German Female (10.4Mb) ATIP
de4: German Male (18.6Mb) University of Stuttgart
Nachdem man nun die Packete runtergeladen und nach "/usr/local/mbrola" gespeichert hat, muss man sie nur noch entpacken, z.b. unzip mbr301h.zip.
Für die Stimmen entsteht jeweils ein eigenes Verzeichnis und ebenso für txt2pho, mbrola entpackt sich direkt in dem Verzeichnis.
Gesucht werden die Stimmen später im data-Verzeichnis von txt2pho, weshalb sich der Einsatz von Sym-links anbietet.
Code:
ln -s /usr/local/mbrola/de1/de1 /usr/local/mbrola/txt2pho/data/de1
ln -s /usr/local/mbrola/de2/de2 /usr/local/mbrola/txt2pho/data/de2
Das führt man für die anderen Stimmen natürlich fort.
Da wir die Programme später auch bequem aufrufen wollen setzen wir noch ein paar links:
Code:
ln -s /usr/local/mbrola/mbrola-linux-i386 /usr/local/bin/mbrola
ln -s /usr/local/mbrola/txt2pho/txt2pho /usr/local/bin/txt2pho
ln -s /usr/local/mbrola/txt2pho/pipefilt /usr/local/bin/pipefilt
Danach kopiert man die ".txt2phorc" aus /usr/local/mbrola in sein home:
Code:
cp /usr/local/mbrola/.txt2phorc $HOME
Anschließend müssen in dieser Datei die Pfadangaben entprechend der Installation angepasst werden.
Für dieses Beispiel gilt folgendes:
Code:
DATAPATH=/usr/local/mbrola/txt2pho/data/
INVPATH=/usr/local/mbrola/txt2pho/data/
Nun ist es eigentlich vollbracht
Die Stimmpackete bringen fertige Beispiele mit.
Um z.b. den mitgelieferten Wetterbericht zu hören (in /usr/local/mbrola/de3/TEST/wetter.pho), wandeln wir die pho-Datei mit mbrola in eine wav-Datei um:
Code:
mbrola /usr/local/mbrola/txt2pho/data/de3 /usr/local/mbrola/de3/TEST/wetter.pho wetter.wav
Diese wetter.wav kann man dann natürlich mit einem Player seiner wahl abspielen.
Der aufruf von mbrola hat folgendes Muster:
Code:
mbrola stimmdatei pho-datei.pho ausgabe.wav
Mbrola hat selbstverständlich noch ein paar Parameter:
z.b.:
-v 0.5 (startet mit halber lautstärke - volume)
-t 0.5 (der text wird doppelt so schnell gesprochen - time)
-f 0.5 (die Stimme wird dunkler - Frequenz)
Diese Parameter können natürlich auch nach oben variiert werden - einfach mal ein bisschen probieren.
Um sich nun eigene Texte vorlesen zu lassen, geht man folgendermassen vor:
Man nehme einen Text konvertiere diesen mit txt2pho in eine pho-Datei diese wiederum wird mit mbrola in eine wav-Datei umgewandelt, die man dann endlich abspielen kann.
Code:
txt2pho -i email.txt -o email.pho
mbrola /usr/local/mbrola/txt2pho/data/de3 email.pho email.wav
xmms email.wav
Es wären aber keine Linux-Programme wenn sich das nicht verkürzen liesse :-)
Code:
txt2pho -i email.txt | mbrola /usr/local/mbrola/txt2pho/data/de3 - email.wav && xmms email.wav
Zwei kleine Amerkungen:
1. mbrola's Aufruf müsste ja folgendermaßen aussehen:
mbrola Stimmdatei input.pho output.wav
Da wir uns aber die input.pho sparen, müssen wir ein "-" einsetzen.
2. In der Linux-User wird vorgeschlagen mit "bplay" zu arbeiten, da er in der lage ist, ihn mit einer Pipe zu verbinden. Dadurch könnte man sich den aufruf des xmms ersparen, da aber bei mir der bplay diese *.wav dateien immer mit einer rasenden Geschwindigkeit abspielte, habe ich hier nur xmms benutzt.
Noch ein anderes Beipiel:
Code:
echo "Hallo, dies ist ein Test" | txt2pho |mbrola /usr/local/mbrola/txt2pho/data/de3 - test.wav && xmms test.wav
Natürlich kann man auch Texte aus der Zwischenablage direkt anhören, dafür habe ich einen Einzeiler geschrieben:
Code:
#!/bin/bash
read $Text
echo $Text |txt2pho|mbrola /usr/local/mbrola/txt2pho/data/de3 - /tmp/test.wav && xmms /tmp/test.wav && rm /tmp/test.wav
Man ruft dieses "script" auf und übergibt ihm den Text aus der Zwischenablage und sofort sollte der Text zu hören sein.
Hinweis: dieser miese Einzeiler liest leider nur bis zum nächsten NewLine Zeichen (soll auch nur ein ansatz sein )
Noch ein hinweiß zu bplay:
Wie gesagt lief er bei mir aus unerklärlichen Gründen auf dem einen Rechner normal, auf dem anderen hat er gesponnen.
Würde mich über einen Ersatz freuen, da ich leider nicht alle ausprobieren kann.
Der aufruf von mbrola würde sich dadurch natürlich konfortabler gestalten:
Code:
txt2pho -i email.txt | mbrola /usr/local/mbrola/txt2pho/data/de3 - - | bplay -s 22050 -b 16
Oder:
Code:
echo "Dies ist ein Test" |txt2pho |mbrola /usr/local/mbrola/txt2pho/data/de3 - - |bplay -s 22050 -b 16
thx@Linux-User
Hier noch ein Beitrag aus dem Linux-Magazin indem ein paar nützliche Scripte enthalten sind:
http://www.linux-magazin.de/Artikel/...hsynthese.html
Lesezeichen