Вы находитесь на странице: 1из 3

12

2011
JMiur

oct

Jugando con las voces de Google


Desde hace ya varios meses, el traductor de Google posee una serie de opciones extras, una de las cuales nos da la posibilidad de transformar texto en voz y si bien al principio esto slo funcionaba en su navegador Chrome, ya lo hace en otros como Firefox e incluso en IE8. La idea es buena y la modulacin ms que aceptable.

Todo eso, sumado a que en Chrome estan experimentando con la posibilidad de permitir comandos de voz hace que haya gente en la web buscando informacin y tratando de ver hasta dnde puede llegarse. En una de esas pginas se habla de usar la capacidad que tiene el traductor para reproducir textos en un sitio externo, es decir, en una pgina cualquiera. En que se basan para decir esto? En que el sonido, eso que escuchamos, es un archivo de audio en formato MP3 que, obviamente, Google convierte o reproduce con Flash o vaya uno a saber qu hace porque Firefox y Opera no reproducen ese tipo de archivos de forma nativa. Lo que se genera al utilizar estas cosas es, simplemente, una direccin URL de este tipo: donde:
http://translate.google.com/translate_tts?tl=es&q=texto

tl=es es q=texto el

el

idioma texto

(en

este a

caso

espaol) reproducir

Como es un direccin, se supone que lo lgico es usar la etiqueta AUDIO para reproducir el supuesto MP3 pero, a mi no me ha funcionado as que intent con la vieja etiqueta EMBED:
<embed src="URL" width="300" height="40"></embed>

y esa funciona mejor, muestra el reproductor pero no se puede controlar y si no se puede controlar (volver a reproduccir, por ejemplo), lo ms simple es usar un IFRAME y listo:
<iframe src="URL"></iframe>

Pero, yo quiero jugar un poco con eso y, aunque slo funcione en Chrome, no importa, igual me divierto un rato as que voy a poner un par de DIVs con IDs en la entrada y abajo, un cuadro para que se pueda entrar un texto:

<div id="TTS" style="position:absolute;left:-1000px"></div> <div id="TTSlink"></div>

<input type="text" value="Hola" maxlength="100" id="testTTS" name="testTTS" />

<a href="javascript:void(0);" onclick="creaTTS()">ESCUCHAR</a> <a href="javascript:void(0);" onclick="borrarTTS()">CERRAR</a>

Los dos enlaces ejecutarn dos funciones, la primera, leer el texto que haya escrito y escribir el IFRAME en el DIV TTS que no veremos porque lo saco de la pantalla; el segundo, simplemente eliminar el IFRAME:
<script> //<![CDATA[

function creaTTS() { var txt = document.getElementById("testTTS").value; // leo el texto if(txt=="") { txt = "Google te habla"; // si no hay nada pongo uno por defecto } // reemplazo los espacios con caracteres + reg = /\s+/; txt = txt.replace(reg,'+'); // creo la URL var url = "http://translate.google.com/translate_tts?tl=es&q=" + txt; // creo el HTML var salida = "<iframe rel='noreferrer' src='" + url + "'></iframe>"; // y los muestro document.getElementById("TTS").innerHTML = salida; document.getElementById("TTSlink").innerHTML = url; }

function borrarTTS() { var TTS = document.getElementById("TTS").innerHTML = ""; var TTS = document.getElementById("TTSlink").innerHTML = ""; }

//]]> </script>

Hola Google h

BORRAR

El script no tiene ningn tipo de filtro as que, caracteres estrafalarios o prohibidos slo resultarn en errores, lo mismo ocurrir si se colocan ms de 100 palabras ya que ese es el lmite aceptado por Google. Como dije, esto slo funcionar en Chrome pero, colocando una direccin de ese tipo en otros navegadores, eventualmente, se nos abrir la pgina de descarga y si aceptamos, en nuestra PC tendremos un archivo llamado translate_tts que es un archivo MP3 as que basta agregarle la extensin para escucharlo. Digo eventualmente porque slo funciona cuando se le da la gana.

Вам также может понравиться