Los sintetizadores de voz han estado entre nosotros desde hace muchos años. Desde el viejo Vocoder, hasta el impresionante (escúchenlo y estarán de acuerdo conmigo) sistema Text-to-Speech (TTS) de AT&T Research. Por su parte, la paquetería disponible para Linux tiene varias ofertas para convertir texto a voz. Una de éstas es festival.

Investigadores en tecnología del habla de la Universidad de Edimburgo crearon festival como un framework para construir otros sistemas de síntensis de voz. En general, puede considerarse como un sistema TTS multilingüe con soporte para idiomas inglés (americano, británico), español, italiano, hindi, y posiblemente otros. Toda la documentación, código fuente y demos están disponible en la página del proyecto.

Instalación

Tener festival funcionando, y en español, depende de diversos factores en lo que no profundizaré aquí. De hecho, aquí les presento la versión más sencilla: una instalación en Ubuntu. (¿Usas otra distro? Te recomiendo revisar este _post_

sudo apt-get install festival festvox-ellpc11k

Donde festvox-ellpc11k es el paquete que ofrece soporte para el castellano.

Uso

Festival funciona en modo interactivo.

  $ festival
  Festival Speech Synthesis System 1.96:beta July 2004
  Copyright (C) University of Edinburgh, 1996-2004. All rights reserved.
  For details type `(festival_warranty)'
  festival>

Donde un shell tipo Lisp espera comandos. Por ejemplo, un saludo de Wall-E:

  festival>  (SayText "Hello, my name is Wall-E")

Festival también funciona con archivos o flujos redireccionados con el pipe.

  $ echo E.T. phone home. | festival --tts

Y si queremos el soporte para el castellano, agregamos una opción más.

  $ echo "hola, hablo un poco lento, jejeje" | festival --tts --language spanish

Ahora con un archivo de texto.

  $ cat chiste-bobo.txt
  Era un cocinero tan feo, pero tan feo, que hacia llorar a las cebollas... jojo jojo.

  $ festival --tts --language spanish chiste-bobo.txt

Conclusiones

No es que festival produzca una voz tan compleja e inteligente como la de una HAL9000, pero puede ser, además de entretenido, útil para ciertas tareas como en avisos cortos personalizados que pueden planificarse con cron... Um, ¿y si festival hubiese dado voz a HAL? No me quedaré con la duda:

  $ echo "I'm sorry, Dave. I'm afraid I can't do that." | festival --tts

Recibe cada mañana nuestra newsletter. Una guía para entender lo que importa en relación con la tecnología, la ciencia y la cultura digital.

Procesando...
¡Listo! Ya estás suscrito

También en Hipertextual: