Traductor de google + voz

.

Estaba buscando una aplicación de traductor multilingüe para leer unos correos en el trabajo. Como soy un poco vago, se me ocurrió que también no estaría de más, que la misma aplicación reprodujera por voz el texto traducido. Buscando encontré un par de aplicaciones que hicieran las dos funciones a la vez.

Aquí podemos debatir largo y tendido sobre el nivel de la sintetización de voz  en  las aplicaciones TTS (Text To Speech) en Linux. Hay muchas aplicaciones que pasan texto a voz, pero son muy deficientes todavía, para que una voz artificial resulte natural y sea inteligible para mi gusto.

Entonces propongo estas 2 aplicaciones de “Low Cost” que nos sacarán de más de un apuro a la hora de realizar estos trabajos de traducción multilingüe + voz. Los ejemplos están entre Español-Ingles, pero hay muchos mas idiomas para trabajar.

# App nº 1 Traductor multilingüe + texto a voz de Google:

Rodrigo Esteves es un Uruguayo que ha hecho una app que utiliza el servicio de traducción online de google-translate y google-tts. Mediante un ingenioso script. El cual podemos editarlo, si queremos, ya que esta licenciado bajo GPL.

Este script funciona llamando a http://translate.google.com/translate_tts? con nuestro texto para traducir, y así generar el texto/voz traducido y devolver dicho texto/audio al script. Mediante zenity nos lo presenta de forma gráfica.

- Descargarlo:

El link de la descripción y descarga de la aplicación se encuentran en la web de gtk-apps.org.

- Descomprimirlo (en mi caso, carpeta downloads) :

1.descomprimir

 

 

 

 

 

En el script, el reproductor de audio es audacious. Si no tenemos instalado audacious, no funcionará el audio traducido. Pero se puede sustituir por el reproductor de audio que tengamos (mplayer, videolan…) editando el script:

man1@crunchbang:~/downloads$ cd ./Traductor && ls

man1@crunchbang:~/downloads/Traductor$ gedit traductor

Buscar y reemplazar el comando audacious por nuestro reproductor de audio. (Ctrl+H).

Guardar y cerrar.

- Instalarlo:

Mover  a /usr/bin para poder usarlo como un comando cualquiera:

man1@crunchbang:~/downloads$ sudo cp ./traductor /usr/bin/traducir

Y ya se puede ejecutar directamente con el comando traducir:

En el tema de las voces, como utiliza las de google-tts están bien logradas, no son profesionales, para eso ya están las aplicaciones de pago como skype, que prepara la implementación de un traductor + voz en tiempo real.


# App nº 2 Google-translate-cli + Festival (traducción + texto a voz):

En esta ocasión utilizaremos 2 aplicaciones por linea de comandos. La primera es Google-translate-cli . Que es un programa que permite utilizar el traductor de Google sin un navegador web, es decir, desde la terminal.

- Tiene dependencias de:

gawk (esta en los repositorios). Es un lenguaje de programación para procesar datos basados en texto, ya sean ficheros o flujos de datos.

git: (Git es un sistema de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de código fuente.

4.install_gwak

 

$ sudo apt-get install git

- Instalación:

$ git clone git://github.com/soimort/google-translate-cli.git
$ cd google-translate-cli/
$ make install

 

- Uso:
traducir desde cualquier idioma al ingles, comando trs:

5.trs_hola_mundo

 

Traducir del ingles al español, comando trs {=es}:

6.de ingles a español

 

Traducir del portugués al catalan, comando trs {pt=ca}:
7.portuges a catalan

 

Traducir del portugues a español + catalan + ruso, comando trs {=es+ca+ru}:

8.portugues a español_catalan_ruso

 

 

Traducir un fichero de texto escrito en español al ingles, comando trs fichero.txt:

9 texto en esp_a_ingles

 

Traducir un fichero de texto en ingles al español, comando trs {=es} file.txt:

10.de ingles a español

 

Como se aprecia cada idioma tiene sus siglas (Español=es, Portugal=pt, Catalan=ca). El código de todos los idiomas se encuentra en la web de desarrolladores de Google.

 Aquí yo he usado el comando alias (que su función es acortar el nombre de un comando que sea muy largo para así recordarlo) acortar el comando de la traducción de español a ingles, que es la que más utilizo, y le llamaré al nuevo comando traduceme:

$ alias traduceme="trs {=es}"

Queda mejor escribir el comando traduceme que  el comando “trs {=es}”

Esto no reemplaza el comando original. Al cerrar la terminal actual, se eliminará dicha abreviatura, pero podemos hacerlo permanente. Tan sólo debemos  editar el fichero/etc/bash.bashrc. Y pegar el comando nuevo:

$ sudo gedit /etc/bash.bashrc
alias traduceme="trs {=es}"

Para traducir la voz usaremos la aplicación Festival, que es es un motor de TTS (text to speech), escrito en C++, de código abierto y tiene muchas voces para descargar. La pronunciación de la voz sintetizada, está bastante lograda:

- Instalación:

$ sudo apt-get install festival festvox-ellpc11

 

Uso de google-translate-cli + festival (texto + voz):

# Recordad que he cambiado el comando trs {=es} por “traduceme” con alias

# Y que tts y language, aun que no se distinga bien, son dos guiones.

Traducir del español al ingles:

$ trs "hola mundo, esto es una prueba" | festival --tts

Traducir del español al ingles + voz un fichero de texto:

$ traduceme fichero.txt | festival --tts

Traducir del ingles al español:

$ traduceme "hello world, this is a test" | festival --tts --language spanish

Traducir del ingles al español + voz un fichero de texto:

$ traduceme file.txt | festival --tts --language spanish

 

¿ Conocéis alguna otra aplicación que haga a la vez traducción y texto a voz ?

 

 

 

 

Author Description

mcanchal

Trabajo en Oliran magevais, una empresa del sector de las energías renovables. No practicante de la iglesia de Emacs.

  • Pingback: Bitacoras.com()

  • uLySeSS

    mplayer -ao alsa -really-quiet -noconsolecontrols “http://translate.google.com/translate_tts?tl=es&q=No-olvides-visitar-linux-hispano-punto-net”