Diferencia entre revisiones de «MBROLA»

De Guía Ubuntu
Saltar a: navegación, buscar
(Ejemplo)
(explicaciones)
Línea 19: Línea 19:
 
  $ echo "Niño, tienes hora?" | iconv -f utf-8 -t iso-8859-1 | lee |  
 
  $ echo "Niño, tienes hora?" | iconv -f utf-8 -t iso-8859-1 | lee |  
 
   mbrola -v 3 -t 0.8 /usr/share/ircha/es1/es1 - -.wav | lame - salida.mp3
 
   mbrola -v 3 -t 0.8 /usr/share/ircha/es1/es1 - -.wav | lame - salida.mp3
+
 
 +
Vamos a explicar un poco cada parte.
 +
 
 +
* '''echo''' escribe la fase en el pipe.
 +
* '''iconv''' convierte de UTF-8 a ISO-8859-1 que es lo que entiendo '''lee'''.
 +
* '''lee''' al recibir el texto por la entrada estándar, genera una lista de los fonemas con su duración en lugar de leer la frase.
 +
* '''mbrola''' recibe la lista de fonemas y genera el audio en formato WAV.
 +
* '''lame''' recibe el audio y lo convierte a MP3 guardándolo en el fichero ''salida.mp3''.
 +
 
 +
¡Todo un ejemplo de la potencia de los pipes!
 +
 
 
[[Categoría:Usuario doméstico]]
 
[[Categoría:Usuario doméstico]]

Revisión de 10:32 29 ago 2006

MBROLA es un sintetizador del habla humana basado en la concatenación de dífonos. Toma como entrada una lista de fonemas junto con la información prosódica (duración de los fonemas y una descripción del tono de los mismos) y produce una salida de audio a 16 bits. Por tanto no es un Conversor texto-voz (Text-To-Speech o TTS) dado que no acepta texto como entrada. Más abajo veremos como hacerlo.

La licencia es algo curiosa, ya que es libre para uso no comercial y no militar. O sea, que libre lo que se dice libre no es.

En la página del Proyecto MBROLA hay ejemplos que puedes escuchar en varios idiomas. Hay gran cantidad de bases de datos de dífonos para muchos idiomas en la sección de descargas.

Instalación

Tienes varias opciones: o bien te bajas los fuentes, o el binario ya compilado, o instalas los paquetes, que normalmente es la mejor opción. Por temas de licencia no están incluidos en los repositorios Ubuntu, pero te los puedes bajar de http://www.telefonica.net/web2/ircha/. Está el binario del programa y la base de datos de dífonos para español (voz castellana masculina). El otro paquete IrcHa tiene un programa que nos ayudará a leer texto con MBROLA, de modo que lo puedes instalar también.

Uso

Anteriormente dijimos que MBROLA no es un conversor de texto a voz realmente ya que no es capaz de leer un texto sino que necesita los fonemas. Pues IrcHa tiene un script llamado lee que hace eso mismo:

$ lee "Hola, mundo"

Ahora vamos a hacer el más difícil todavía, vamos a crear un MP3 con la frase hablada (en una sola línea):

$ echo "Niño, tienes hora?" | iconv -f utf-8 -t iso-8859-1 | lee | 
  mbrola -v 3 -t 0.8 /usr/share/ircha/es1/es1 - -.wav | lame - salida.mp3

Vamos a explicar un poco cada parte.

  • echo escribe la fase en el pipe.
  • iconv convierte de UTF-8 a ISO-8859-1 que es lo que entiendo lee.
  • lee al recibir el texto por la entrada estándar, genera una lista de los fonemas con su duración en lugar de leer la frase.
  • mbrola recibe la lista de fonemas y genera el audio en formato WAV.
  • lame recibe el audio y lo convierte a MP3 guardándolo en el fichero salida.mp3.

¡Todo un ejemplo de la potencia de los pipes!