¿Cómo instalar más voces en Espeak?

14

¿Podría ayudarme a instalar voces desde aquí ? Leí el manual. Pero no sé cómo puede 'obtener el en1'.

Daniyal
fuente
He visto formas de jugar con espeak con post-filtros sox si solo quieres modificar una voz, usar swift de cepstral para usar voces que suenen más humanas, o conectar voces cepstrales al festival para usarlas con IVR. Sin embargo, no he visto una manera de conectar más voces humanas a espeak.
RobotHumans

Respuestas:

11
  1. Descargar: http://www.tcts.fpms.ac.be/synthesis/mbrola/bin/pclinux/mbr301h.zip
  2. Copie el texto para ejecutar en el terminal línea por línea:

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

  4. Copie el texto para ejecutar en el terminal línea por línea:

    unzip en1-980910.zip
    cp en1/en1 /usr/share/mbrola/en1
    
  5. Ahora ejecuta espeak, con opciones

    espeak -v mb-en1 "Hello world"
    
  6. Bien, pero parece que está leyendo demasiado rápido, intente:

    espeak -v mb-en1 -s 120 "Hello world"
    
Mateo
fuente
Muchas gracias. ¿Conoces alguna otra forma de mejorar la calidad de la voz y la pronunciación?
Daniyal
1
@Daniyal: Puede generar fonemas espeaky procesarlos a través de mbrola : espeak -v mb-en1 -s 120 "Hello world" --pho|mbrola /usr/share/mbrola/en1 output.wav(tenga en cuenta la adición de la --phoopción a espeak).
Skippy le Grand Gourou
@SkippyleGrandGourou No, no puedo, recibí este error: 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 no sé lo que quieres, pero puede ser que puedas usarloespeak -v mb-us2 -s 120 "Hello world" -w output.wav --pho
Daniyal
@Daniyal: significa que no tienes en1voz /usr/share/mbrola(lo que deberías hacer si sigues el paso 4 de la respuesta de Mateo) ni tampoco /usr/share/mbrola/voices. Arregle eso (creando el directorio manualmente y copiando voces allí) o reemplácelo /usr/share/mbrola/en1por la ruta a una voz mbrola ya instalada. Realmente vale la pena, la voz es mucho más suave mbrola(aunque todavía no es perfecta).
Skippy le Grand Gourou
1
Se me ha caído, pero logré encontrarlo en la máquina del camino: web.archive.org/web/20180627172600/http://www.tcts.fpms.ac.be/…
Faissaloo
1

Aquí hay una copia de la respuesta de Mateo como un solo comando y limpieza.

Necesitará sudoprivilegios para copiar /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"

Recibo este error cuando se lee el texto pero parece funcionar:

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

Si alguien sabe qué está causando este error, hágamelo saber en los comentarios.

Dieter Gribnitz
fuente
Me sale el mismo error, supongo que es la forma en que está instalado, bueno.
TheCodingKlam