Wie installiere ich mehr Stimmen für Espeak?

14

Könnten Sie mir bitte helfen, Stimmen von hier zu installieren ? Ich habe das Handbuch gelesen. Ich weiß aber nicht, wie ich die en1 bekommen kann.

Daniyal
quelle
Ich habe Möglichkeiten gesehen, mit sox Post-Filtern mit espeak zu spielen, wenn Sie nur eine Stimme modifizieren, schnell von Cepstral zu menschlich klingenden Stimmen wechseln oder Cepstral-Stimmen für die Verwendung mit IVRs an Festival anschließen möchten. Ich habe jedoch keine Möglichkeit gefunden, mehr menschliche Stimmen einzuschalten, um zu sprechen.
RobotHumans

Antworten:

11
  1. Download: http://www.tcts.fpms.ac.be/synthesis/mbrola/bin/pclinux/mbr301h.zip
  2. Kopieren Sie den Text, um ihn zeilenweise im Terminal auszuführen:

    cd Downloads
    unzip mbr301h.zip
    sudo cp mbrola-linux-i386 /usr/bin/mbrola
    
  3. Download: http://www.tcts.fpms.ac.be/synthesis/mbrola/dba/en1/en1-980910.zip

  4. Kopieren Sie den Text, um ihn zeilenweise im Terminal auszuführen:

    unzip en1-980910.zip
    cp en1/en1 /usr/share/mbrola/en1
    
  5. Führen Sie nun espeak mit Optionen aus

    espeak -v mb-en1 "Hello world"
    
  6. Schön, aber es scheint, als würde er zu schnell lesen. Versuchen Sie Folgendes:

    espeak -v mb-en1 -s 120 "Hello world"
    
Mateo
quelle
Vielen Dank. Kennen Sie einen anderen Weg, um die Sprachqualität und Aussprache zu verbessern?
Daniyal
1
@Daniyal: Sie können Phoneme mit erzeugen espeakund sie durch Prozess mbrola : espeak -v mb-en1 -s 120 "Hello world" --pho|mbrola /usr/share/mbrola/en1 output.wav(beachten Sie die Zugabe von --phoOption espeak).
Skippy le Grand Gourou
@ SkippyleGrandGourou Nein, ich kann nicht, habe diesen Fehler: FATAL ERROR : cannot find file /usr/share/mbrola/en1 ! mbrola: FATAL ERROR : cannot find file /usr/share/mbrola/voices/en1 ! mbrowrap error: mbrola exited with status 216 mbrola voice not found Ich weiß nicht, was Sie wollen, aber vielleicht können Sie davon Gebrauch machenespeak -v mb-us2 -s 120 "Hello world" -w output.wav --pho
Daniyal
@Daniyal: Das bedeutet, dass Sie die en1Stimme weder in /usr/share/mbrola(die Sie sollten, wenn Sie Schritt 4 von Mateos Antwort befolgt haben) noch in haben /usr/share/mbrola/voices. Beheben Sie dies entweder (indem Sie das Verzeichnis manuell erstellen und die Stimmen dort kopieren) oder ersetzen Sie es /usr/share/mbrola/en1durch den Pfad zu einer bereits installierten mbrola-Stimme. Es lohnt sich wirklich, die Stimme ist viel weicher mbrola(wenn auch noch nicht perfekt).
Skippy le Grand Gourou
1
Es ist für mich heruntergekommen, aber ich habe es auf der Wayback-Maschine gefunden: web.archive.org/web/20180627172600/http://www.tcts.fpms.ac.be/…
Faissaloo
1

Hier ist eine Kopie von Mateos Antwort als einzelner Befehl und Aufräumen.

Sie benötigen sudoBerechtigungen zum Kopieren nach /usr/bin/.


mkdir tmp_mbrola
cd tmp_mbrola
wget http://www.tcts.fpms.ac.be/synthesis/mbrola/bin/pclinux/mbr301h.zip
unzip mbr301h.zip
sudo cp mbrola-linux-i386 /usr/bin/mbrola
wget http://www.tcts.fpms.ac.be/synthesis/mbrola/dba/en1/en1-980910.zip
unzip en1-980910.zip
sudo mkdir /usr/share/mbrola
sudo cp en1/en1 /usr/share/mbrola/en1
cd ..
sudo rm -Rf ./tmp_mbrola/
espeak -v mb-en1 -s 160 "Hello world"

Ich erhalte diese Fehlermeldung, wenn Text gelesen wird, aber es scheint zu funktionieren:

*** Error in `mbrola': free(): invalid pointer: 0x08af1dd8 ***

Wenn jemand weiß, was diesen Fehler verursacht, lass es mich in den Kommentaren wissen.

Dieter Gribnitz
quelle
Ich bekomme den gleichen Fehler, ich würde nur raten, wie es installiert ist, na ja.
TheCodingKlam