Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: jabar1984 en 21 Abril 2014, 22:36 pm



Título: Sintetizador de texto eSpeak en python
Publicado por: jabar1984 en 21 Abril 2014, 22:36 pm
Hola a todos, estoy tratando de crear un programa con python que tenga una salida de audio sintetizando un texto usando el espeak para linux.
Lo he echo de dos formas.

-La primera fue importando os para poder dar ordenes de consola:

Código:
import os
os.system('espeak -ves {"0"}' .format("este texto sera sintetizado"))


-Y la segunda forma fue instalando la librería de espeak para python que esta genial, de esta forma:
sudo apt-get install espeak-python

luego lo importo haciendo

Código:
from espeak import espeak
espeak.synth("text to synthesized")

La primera forma tiene un problema y es que cuando se ejecuta el programa espeak ocurre un retraso hasta que termine de hablar. lo que no me sirve porque necesito tener el control del programa al tiempo que espeak se ejecuta.

Con la segunda forma no tengo ese inconveniente, no pierdo el control del programa mientras espeak habla, el problema es que no he podido encontrar en algún rincón de Internet como hacer que me sintetice texto en español


¿Alguien me podría decir como sintetizar texto en español utilizando la librería de espeak para python?


Título: Re: Sintetizador de texto eSpeak en python
Publicado por: Gh057 en 21 Abril 2014, 22:54 pm
hola jabar1984, no he usado ese sintetizador, pero prueba desde la terminal

Citar
espeak --voices

para ver que voces tienes disponibles, para español debería ser

Citar
espeak -v es "frase a sintetizar"

saludos


Título: Re: Sintetizador de texto eSpeak en python
Publicado por: jabar1984 en 21 Abril 2014, 23:29 pm
hola jabar1984, no he usado ese sintetizador, pero prueba desde la terminal

para ver que voces tienes disponibles, para español debería ser

saludos

Con el espeak desde consola no tengo ningún problema, hay mucha documentación al respecto, el inconveniente esta en la librería de python, pues no se que método usar para que me hable en español (por consola se pondría -ves como lo has puesto tu, pero con la librería es otro cuento). No he podido encontrar algo relevante en internet, y mi deficiencia en ingles no ayuda mucho.


Título: Re: Sintetizador de texto eSpeak en python
Publicado por: Gh057 en 22 Abril 2014, 00:31 am
hola jabar1984 no tengo la posibilidad en este momento de instalar el sintetizador con la biblioteca, y así ver que funciones tiene integradas; pero por favor fíjate en el siguiente enlace:

-> http://www.sethanil.com/python-for-friends/11

según lo que indica, las funciones para ello son

Citar
spk.list_synthesis_voices()


donde se lista los lenguajes permitidos, y con

Citar
spk.set_language('es')

para setear el mismo. más abajo hay una pequeña aplicación implementando ambas funciones.

saludos