Anzeige:
Ergebnis 1 bis 1 von 1

Thema: E-Mails vorlesen lassen (mbrola)

  1. #1
    Registrierter Benutzer
    Registriert seit
    Mar 2002
    Ort
    München
    Beiträge
    1.215

    E-Mails vorlesen lassen (mbrola)

    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
    Geändert von mightymike99 (04.10.02 um 00:39 Uhr)
    Daß die niedrigste aller Tätigkeiten die arithmetische ist, wird dadurch belegt, daß sie die einzige ist, die auch durch eine Maschine ausgeführt werden kann.
    (schopenhauer)
    NX6325 + Ubuntu Feisty

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •