Jak zainstalować więcej głosów w Espeak?

14

Czy możesz mi pomóc zainstalować głosy tutaj , przeczytałem instrukcję, ale nie wiem, jak mogę uzyskać „en1”.

Daniyal
źródło
Widziałem sposoby gry espeak z post-filtrami sox, jeśli po prostu chcesz zmodyfikować głos, użyć szybkiego z cepstralu, aby użyć bardziej ludzkich brzmień, lub podłączyć głosy cepstralne do festiwalu w celu użycia z IVR. Nie widziałem jednak sposobu na podłączenie większej liczby głosów ludzkich do wypowiadania się.
RobotHumans

Odpowiedzi:

11
  1. Pobierz: http://www.tcts.fpms.ac.be/synthesis/mbrola/bin/pclinux/mbr301h.zip
  2. Skopiuj tekst do uruchomienia w terminalu linia po linii:

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

  4. Skopiuj tekst do uruchomienia w terminalu linia po linii:

    unzip en1-980910.zip
    cp en1/en1 /usr/share/mbrola/en1
    
  5. Teraz uruchom espeak, z opcjami

    espeak -v mb-en1 "Hello world"
    
  6. Fajnie, ale wygląda na to, że czyta zbyt szybko, spróbuj:

    espeak -v mb-en1 -s 120 "Hello world"
    
Mateo
źródło
Dziękuję bardzo, czy znasz inny sposób na poprawę jakości głosu i wymowy?
Daniyal
1
@Daniyal: Możesz generować fonemy espeaki przetwarzać je za pomocą mbrola : espeak -v mb-en1 -s 120 "Hello world" --pho|mbrola /usr/share/mbrola/en1 output.wav(zwróć uwagę na dodanie --phoopcji do espeak).
Skippy le Grand Gourou,
@SkippyleGrandGourou Nie, nie mogę, mam ten błąd: 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 nie wiem, czego chcesz, ale być może możesz z niego skorzystaćespeak -v mb-us2 -s 120 "Hello world" -w output.wav --pho
Daniyal
@Daniyal: oznacza to, że nie masz en1głosu ani w /usr/share/mbrola(co powinieneś, jeśli wykonałeś krok 4 odpowiedzi Mateo), ani w /usr/share/mbrola/voices. Napraw to (poprzez ręczne utworzenie katalogu i skopiowanie tam głosów) lub zastąp /usr/share/mbrola/en1ścieżkę do już zainstalowanego głosu mbrola. Naprawdę warto, głos jest znacznie gładszy mbrola(choć jeszcze nie doskonały).
Skippy le Grand Gourou,
1
Dla mnie to nie działa, ale udało mi się go znaleźć na maszynie powrotnej
Faissaloo
1

Oto kopia odpowiedzi Mateo jako pojedynczego polecenia i czyszczenia.

Będziesz potrzebować sudouprawnień do kopiowania /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"

Pojawia się ten błąd podczas odczytywania tekstu, ale wydaje się, że działa:

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

Jeśli ktoś wie, co powoduje ten błąd, daj mi znać w komentarzach.

Dieter Gribnitz
źródło
Otrzymuję ten sam błąd, po prostu zgaduję, że jest tak, jak jest zainstalowany, no cóż.
TheCodingKlam