¿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'.


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"
    

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.


Me sale el mismo error, supongo que es la forma en que está instalado, bueno.
— TheCodingKlam
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.