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.


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"
    

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.


Ich bekomme den gleichen Fehler, ich würde nur raten, wie es installiert ist, na ja.
— TheCodingKlam
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.